AWS EKS
Version: 2.1.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
- Navigate to Automations > Integrations.
- Search for AWS EKS.
- 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.
 
- 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 Name | Description | Required | 
|---|---|---|
| Cluster Name | Jinja Template text containing the name of the cluster. Example: {{cluster_column_name}}. | Required | 
Output
A JSON object containing multiple rows of result:
- 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 Name | Description | Required | 
|---|---|---|
| Cluster Name | Jinja-templated text containing the name of the cluster. Example: {{cluster_column_name}}. | Required | 
| Endpoint Private Access | Select endpoint private access.(True/False). | Required | 
| Endpoint Public Access | Select endpoint public access.(True/False). | Required | 
| 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}}. | Required | 
| Client Request Token | Jinja-templated text containing client request token. Example: {{client_request_token_column}}. | Required | 
Update action may take more than 15 min.
Output
A JSON object containing multiple rows of result:
{
   "result":{
      "ResponseMetadata":{
         "RequestId":"a19aaa5c-13e4-4c68-83ea-01a46be6f730",
         "HTTPStatusCode":200,
         "HTTPHeaders":{
            "date":"Wed, 11 Aug 2021 04:36:09 GMT",
            "content-type":"application/json",
            "content-length":"308",
            "connection":"keep-alive",
            "x-amzn-requestid":"a19aaa5c-13e4-4c68-83ea-01a46be6f730",
            "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":"D4oE3GHuCYcFbBA=",
            "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-611353b8-0373c515700c44ce520064e3"
         },
         "RetryAttempts":0
      },
      "update":{
         "id":"de92ee61-158f-4171-9466-075eb30c934c",
         "status":"InProgress",
         "type":"EndpointAccessUpdate",
         "params":[
            {
               "type":"EndpointPublicAccess",
               "value":"true"
            },
            {
               "type":"EndpointPrivateAccess",
               "value":"true"
            },
            {
               "type":"PublicAccessCidrs",
               "value":"[\"0.0.0.0/0\"]"
            }
         ],
         "createdAt":{
            "py/object":"datetime.datetime",
            "__reduce__":[
               {
                  "py/type":"datetime.datetime"
               },
               [
                  "B+UICwQkCQRlAA==",
                  {
                     "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":[
            
         ]
      }
   },
   "error":null,
   "has_error":false
}
List Pods in a Namespace
Returns the details of pods within a namespace in 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 Name | Description | Required | 
|---|---|---|
| Cluster Name | Jinja-templated text containing the name of the cluster. Example: {{cluster_column_name}} | Required | 
| Namespace | Jinja-templated text containing the namespace. Example: {{namespace}} | Required | 
Output
JSON containing the following items:
{
"result": {
	"pods": [
  	"pod1",
    "pod2",
    "pod3"
  ]
},
"error": null,
"has_error":false,
}
Delete a Pod in Namespace
Delete a pods within a namespace in 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 Name | Description | Required | 
|---|---|---|
| Cluster Name | Jinja-templated text containing the name of the cluster. Example: {{cluster_column_name}} | Required | 
| Namespace | Jinja-templated text containing the namespace. Example: {{namespace}} | Required | 
| Pod | Jinja-templated text containing the pod. Example: {{pod}} | Required | 
Output
JSON containing the following items:
{
"result": {
	"message": "Pod {pod_name} deleted successfully"
},
"error": null,
"has_error":false,
}
Execute Command in a Pod in Namespace
Returns the details of pods within a namespace in 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 Name | Description | Required | 
|---|---|---|
| Cluster Name | Jinja-templated text containing the name of the cluster. Example: {{cluster_column_name}} | Required | 
| Namespace | Jinja-templated text containing the namespace. Example: {{namespace}} | Required | 
| Pod | Jinja-templated text containing the pod. Example: {{pod}} | Required | 
| Command | Jinja-templated text containing the command to execute. Example: {{command}} | Required | 
Output
JSON containing the following items:
{
"result": {
	"output": "output of command executed"
},
"error": null,
"has_error":false,
}
Release Notes
- v2.1.0- Added new actions :- List Pods in a Namespace,- Delete Pod in a Namespaceand- Executed command in Pod
- v2.0.0- Updated architecture to support IO via filesystem
Updated 7 months ago