AWS EKS (Assumed Role)

Version: 3.0.0

Amazon Elastic Kubernetes Service (AWS EKS) is a managed service that you can use to run Kubernetes on AWS without needing to install, operate, and maintain your own Kubernetes control plane or nodes.

Connect AWS EKS with LogicHub

  1. Navigate to Automations > Integrations.
  2. Search for AWS EKS.
  3. Click Details, then the + icon. Enter the required information in the following fields.
    • Label: Enter a connection name.
    • Reference Values: Define variables here to templatize integration connections and actions. For example, you can use https://www.{{hostname}}.com where, hostname is a variable defined in this input. For more information on how to add data, see 'Add Data' Input Type for Integrations.
    • Verify SSL: Select option to verify connecting server's SSL certificate (Default is Verify SSL Certificate).
    • Remote Agent: Run this integration using the LogicHub Remote Agent.
    • Region Name: To access AWS API, provide a valid Region name.
    • Access Key: To access AWS API, provide a valid Access Key.
    • Secret Key: To access AWS API, provide a valid secret Key.
  4. After you've entered all the details, click Connect.

Actions for AWS EKS

Get Cluster Details

Returns descriptive information about an Amazon EKS cluster.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Cluster NameJinja-templated text containing the name of the cluster. Example: {{cluster_column_name}}.Required

Output

Array of JSON in individual rows for each account mentioned in external IDs with each containing the following items:

  • has_error: True/False
  • error: message/null
  • result: Cluster Details
{
  "result": {
    "ResponseMetadata": {
      "RequestId": "949527-62b9-49aa-9601-ac5e9131526b",
      "HTTPStatusCode": 200,
      "HTTPHeaders": {
        "date": "Fri, 19 Feb 2021 11:47:45 GMT",
        "content-type": "application/json",
        "content-length": "2846",
        "connection": "keep-alive",
        "x-amzn-requestid": "94327-62b9-49aa-9601-ac5e9131526b",
        "x-amz-apigw-id": "a_bHMGyMiYcFynw=",
        "x-amzn-trace-id": "Root=1-602a561-7cf4014124a2079266e0"
      },
      "RetryAttempts": 0
    },
    "cluster": {
      "name": "Integration_Test",
      "arn": "arn:aws::050847:cluster/Integration_Test",
      "createdAt": {
        "py/object": "datetime.datetime",
        "__reduce__": [
          {
            "py/type": "datetime.datetime"
          },
          [
            "B+UCEg0AIQqTCA==",
            {
              "py/reduce": [
                {
                  "py/function": "copyreg._reconstructor"
                },
                {
                  "py/tuple": [
                    {
                      "py/type": "dateutil.tz.tz.tzlocal"
                    },
                    {
                      "py/type": "datetime.tzinfo"
                    },
                    {
                      "py/reduce": [
                        {
                          "py/type": "datetime.tzinfo"
                        },
                        {
                          "py/tuple": []
                        }
                      ]
                    }
                  ]
                },
                {
                  "_std_offset": {
                    "py/reduce": [
                      {
                        "py/type": "datetime.timedelta"
                      },
                      {
                        "py/tuple": [
                          0,
                          0,
                          0
                        ]
                      }
                    ]
                  },
                  "_dst_offset": {
                    "py/id": 3
                  },
                  "_dst_saved": {
                    "py/reduce": [
                      {
                        "py/type": "datetime.timedelta"
                      },
                      {
                        "py/tuple": [
                          0,
                          0,
                          0
                        ]
                      }
                    ]
                  },
                  "_hasdst": false,
                  "_tznames": {
                    "py/tuple": [
                      "UTC",
                      "UTC"
                    ]
                  }
                }
              ]
            }
          ]
        ]
      },
      "version": "1.18",
      "endpoint": "https://17.com",
      "roleArn": "arn:aws:iam::t",
      "resourcesVpcConfig": {
        "subnetIds": [
          "subnet-78",
          "subnet-ho",
          "subnet-78",
          "subnet-89",
          "subnet-78",
          "subnet-78"
        ],
        "securityGroupIds": [],
        "clusterSecurityGroupId": "sg-0aa74d",
        "vpcId": "vpc-8f96",
        "endpointPublicAccess": true,
        "endpointPrivateAccess": false,
        "publicAccessCidrs": [
          "0.0.0.0/0"
        ]
      },
      "kubernetesNetworkConfig": {
        "serviceIpv4Cidr": "1.0.0.0/16"
      },
      "logging": {
        "clusterLogging": [
          {
            "types": [
              "api",
              "audit",
              "authenticator",
              "controllerManager",
              "scheduler"
            ],
            "enabled": false
          }
        ]
      },
      "identity": {
        "oidc": {
          "issuer": "https://oidc.com/id/12345"
        }
      },
      "status": "ACTIVE",
      "certificateAuthority": {
        "data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXsbEtsdnZGVjlIQ2lobm0rY3VZbWVNWC9XeVpzY2poMUM0eTJaQTBLRT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo="
      },
      "platformVersion": "ek",
      "tags": {
        "Test": "Test",
        "Description": "Testing"
      }
    }
  },
  "error": null,
  "has_error": false
}

Update Cluster Config

Updates an Amazon EKS cluster configuration.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Cluster NameJinja-templated text containing the name of the cluster.
Example: {{cluster_column_name}}.
Endpoint Private AccessSelect endpoint private access.(True/False).
Endpoint Public AccessSelect endpoint public access.(True/False).
Public Access CIDRsJinja-templated text containing comma separated public access cidrs.(2.0.0.0/0, 1.0.0.0/0).
Example: {{public_access_cidrs_column}}.
Client Request TokenJinja-templated text containing client request token.
Example: {{client_request_token_column}}

📘

Update action may take more than 15 min.

Output

A JSON object containing multiple rows of result:

{
   "result":{
      "ResponseMetadata":{
         "RequestId":"291b8ea8-334e-482a-98b2-db1358d43d98",
         "HTTPStatusCode":200,
         "HTTPHeaders":{
            "date":"Wed, 11 Aug 2021 05:04:14 GMT",
            "content-type":"application/json",
            "content-length":"309",
            "connection":"keep-alive",
            "x-amzn-requestid":"291b8ea8-334e-482a-98b2-db1358d43d98",
            "access-control-allow-origin":"*",
            "access-control-allow-headers":"*,Authorization,Date,X-Amz-Date,X-Amz-Security-Token,X-Amz-Target,content-type,x-amz-content-sha256,x-amz-user-agent,x-amzn-platform-id,x-amzn-trace-id",
            "x-amz-apigw-id":"D4sMIH8EiYcFzRg=",
            "access-control-allow-methods":"GET,HEAD,PUT,POST,DELETE,OPTIONS",
            "access-control-expose-headers":"x-amzn-errortype,x-amzn-errormessage,x-amzn-trace-id,x-amzn-requestid,x-amz-apigw-id,date",
            "x-amzn-trace-id":"Root=1-61135a4d-34f467f023c2ca6d1bbdd535"
         },
         "RetryAttempts":0
      },
      "update":{
         "id":"fdbc6eb2-a921-473f-9370-0a738393195a",
         "status":"InProgress",
         "type":"EndpointAccessUpdate",
         "params":[
            {
               "type":"EndpointPublicAccess",
               "value":"true"
            },
            {
               "type":"EndpointPrivateAccess",
               "value":"false"
            },
            {
               "type":"PublicAccessCidrs",
               "value":"[\"0.0.0.0/0\"]"
            }
         ],
         "createdAt":{
            "py/object":"datetime.datetime",
            "__reduce__":[
               {
                  "py/type":"datetime.datetime"
               },
               [
                  "B+UICwUEDgLmMA==",
                  {
                     "py/reduce":[
                        {
                           "py/function":"copyreg._reconstructor"
                        },
                        {
                           "py/tuple":[
                              {
                                 "py/type":"dateutil.tz.tz.tzlocal"
                              },
                              {
                                 "py/type":"datetime.tzinfo"
                              },
                              {
                                 "py/reduce":[
                                    {
                                       "py/type":"datetime.tzinfo"
                                    },
                                    {
                                       "py/tuple":[
                                          
                                       ]
                                    }
                                 ]
                              }
                           ]
                        },
                        {
                           "_std_offset":{
                              "py/reduce":[
                                 {
                                    "py/type":"datetime.timedelta"
                                 },
                                 {
                                    "py/tuple":[
                                       0,
                                       0,
                                       0
                                    ]
                                 }
                              ]
                           },
                           "_dst_offset":{
                              "py/id":4
                           },
                           "_dst_saved":{
                              "py/reduce":[
                                 {
                                    "py/type":"datetime.timedelta"
                                 },
                                 {
                                    "py/tuple":[
                                       0,
                                       0,
                                       0
                                    ]
                                 }
                              ]
                           },
                           "_hasdst":false,
                           "_tznames":{
                              "py/tuple":[
                                 "UTC",
                                 "UTC"
                              ]
                           }
                        }
                     ]
                  }
               ]
            ]
         },
         "errors":[
            
         ]
      }
   },
   "role_arn":"arn:aws:iam::827203017847:role/STS_test",
   "error":null,
   "has_error":false
}

Release Notes

  • v3.0.0 - Updated architecture to support IO via filesystem

© 2017-2021 LogicHub®. All Rights Reserved.