AWS EKS (Assumed Role)

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.

Integration with LogicHub

Connecting with AWS EKS

To connect to AWS EKS following details are required:

  • Label: 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.
  • Access Key: To access AWS API, provide a valid Access Key.
  • Secret Key: To access AWS API, provide a valid secret Key.
  • Region Name: To access AWS API, provide a valid Region name.

Actions with AWS EKS

Get Cluster Details

Returns descriptive information about an Amazon EKS cluster.

Inputs to this Action

  • Connection: Choose a connection that you have created.
  • Jinja Template Cluster Name: Jinja-templated text containing the name of the cluster. Example: {{cluster_column_name}}.

Output of Action
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.

Inputs to this Action

  • Connection: Choose a connection that you have created.
  • Jinja Template Cluster Name: Jinja-templated text containing the name of the cluster. Example: {{cluster_column_name}}.
  • Endpoint Private Access: Please select endpoint private access.(True/False).
  • Endpoint Public Access: Please select endpoint public access.(True/False).
  • Jinja Template](doc:jinja-template) Public Access CIDRs: Jinja-templated text containing comma separated public access cidrs.(2.0.0.0/0, 1.0.0.0/0). Example: {{public_access_cidrs_column}}.
  • Jinja Template](doc:jinja-template) Client Request Token: Jinja-templated text containing client request token.. Example: {{client_request_token_column}}

📘

Note:

Update action may take more than 15 min.

Output of Action
JSON containing the following items:

{
   "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
}

Did this page help you?