package eks

import "github.com/aws/aws-sdk-go-v2/service/eks"

Package eks provides the client and types for making API requests to Amazon Elastic Container Service for Kubernetes.

Amazon Elastic Container Service for Kubernetes (Amazon EKS) is a managed service that makes it easy for you to run Kubernetes on AWS without needing to stand up or maintain your own Kubernetes control plane. Kubernetes is an open-source system for automating the deployment, scaling, and management of containerized applications.

Amazon EKS runs up-to-date versions of the open-source Kubernetes software, so you can use all the existing plugins and tooling from the Kubernetes community. Applications running on Amazon EKS are fully compatible with applications running on any standard Kubernetes environment, whether running in on-premises data centers or public clouds. This means that you can easily migrate any standard Kubernetes application to Amazon EKS without any code modification required.

See https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01 for more information on this service.

See eks package documentation for more information. https://docs.aws.amazon.com/sdk-for-go/api/service/eks/

Using the Client

To Amazon Elastic Container Service for Kubernetes with the SDK use the New function to create a new service client. With that client you can make API requests to the service. These clients are safe to use concurrently.

See the SDK's documentation for more information on how to use the SDK. https://docs.aws.amazon.com/sdk-for-go/api/

See aws.Config documentation for more information on configuring SDK clients. https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config

See the Amazon Elastic Container Service for Kubernetes client EKS for more information on creating client for this service. https://docs.aws.amazon.com/sdk-for-go/api/service/eks/#New

Index

Examples

Constants

const (

	// ErrCodeClientException for service response error code
	// "ClientException".
	//
	// These errors are usually caused by a client action, such as using an action
	// or resource on behalf of a user that doesn't have permissions to use the
	// action or resource, or specifying an identifier that is not valid.
	ErrCodeClientException = "ClientException"

	// ErrCodeInvalidParameterException for service response error code
	// "InvalidParameterException".
	//
	// The specified parameter is invalid. Review the available parameters for the
	// API request.
	ErrCodeInvalidParameterException = "InvalidParameterException"

	// ErrCodeResourceInUseException for service response error code
	// "ResourceInUseException".
	//
	// The specified resource is in use.
	ErrCodeResourceInUseException = "ResourceInUseException"

	// ErrCodeResourceLimitExceededException for service response error code
	// "ResourceLimitExceededException".
	//
	// You have encountered a service limit on the specified resource.
	ErrCodeResourceLimitExceededException = "ResourceLimitExceededException"

	// ErrCodeResourceNotFoundException for service response error code
	// "ResourceNotFoundException".
	//
	// The specified resource could not be found. You can view your available clusters
	// with ListClusters. Amazon EKS clusters are Region-specific.
	ErrCodeResourceNotFoundException = "ResourceNotFoundException"

	// ErrCodeServerException for service response error code
	// "ServerException".
	//
	// These errors are usually caused by a server-side issue.
	ErrCodeServerException = "ServerException"

	// ErrCodeServiceUnavailableException for service response error code
	// "ServiceUnavailableException".
	//
	// The service is unavailable. Back off and retry the operation.
	ErrCodeServiceUnavailableException = "ServiceUnavailableException"

	// ErrCodeUnsupportedAvailabilityZoneException for service response error code
	// "UnsupportedAvailabilityZoneException".
	//
	// At least one of your specified cluster subnets is in an Availability Zone
	// that does not support Amazon EKS. The exception output specifies the supported
	// Availability Zones for your account, from which you can choose subnets for
	// your cluster.
	ErrCodeUnsupportedAvailabilityZoneException = "UnsupportedAvailabilityZoneException"
)
const (
	ServiceName = "eks"       // Service endpoint prefix API calls made to.
	EndpointsID = ServiceName // Service ID for Regions and Endpoints metadata.
)

Service information constants

Types

type Certificate

type Certificate struct {

	// The base64 encoded certificate data required to communicate with your cluster.
	// Add this to the certificate-authority-data section of the kubeconfig file
	// for your cluster.
	Data *string `locationName:"data" type:"string"`
	// contains filtered or unexported fields
}

An object representing the certificate-authority-data for your cluster. Please also see https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/Certificate

func (Certificate) GoString

func (s Certificate) GoString() string

GoString returns the string representation

func (Certificate) MarshalFields

func (s Certificate) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (Certificate) String

func (s Certificate) String() string

String returns the string representation

type Cluster

type Cluster struct {

	// The Amazon Resource Name (ARN) of the cluster.
	Arn *string `locationName:"arn" type:"string"`

	// The certificate-authority-data for your cluster.
	CertificateAuthority *Certificate `locationName:"certificateAuthority" type:"structure"`

	// Unique, case-sensitive identifier you provide to ensure the idempotency of
	// the request.
	ClientRequestToken *string `locationName:"clientRequestToken" type:"string"`

	// The Unix epoch time stamp in seconds for when the cluster was created.
	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unix"`

	// The endpoint for your Kubernetes API server.
	Endpoint *string `locationName:"endpoint" type:"string"`

	// The name of the cluster.
	Name *string `locationName:"name" type:"string"`

	// The platform version of your Amazon EKS cluster. For more information, see
	// Platform Versions (eks/latest/userguide/platform-versions.html) in the Amazon
	// EKS User Guide.
	PlatformVersion *string `locationName:"platformVersion" type:"string"`

	// The VPC subnets and security groups used by the cluster control plane. Amazon
	// EKS VPC resources have specific requirements to work properly with Kubernetes.
	// For more information, see Cluster VPC Considerations (http://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html)
	// and Cluster Security Group Considerations (http://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html)
	// in the Amazon EKS User Guide.
	ResourcesVpcConfig *VpcConfigResponse `locationName:"resourcesVpcConfig" type:"structure"`

	// The Amazon Resource Name (ARN) of the IAM role that provides permissions
	// for the Kubernetes control plane to make calls to AWS API operations on your
	// behalf.
	RoleArn *string `locationName:"roleArn" type:"string"`

	// The current status of the cluster.
	Status ClusterStatus `locationName:"status" type:"string" enum:"true"`

	// The Kubernetes server version for the cluster.
	Version *string `locationName:"version" type:"string"`
	// contains filtered or unexported fields
}

An object representing an Amazon EKS cluster. Please also see https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/Cluster

func (Cluster) GoString

func (s Cluster) GoString() string

GoString returns the string representation

func (Cluster) MarshalFields

func (s Cluster) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (Cluster) String

func (s Cluster) String() string

String returns the string representation

type ClusterStatus

type ClusterStatus string
const (
	ClusterStatusCreating ClusterStatus = "CREATING"
	ClusterStatusActive   ClusterStatus = "ACTIVE"
	ClusterStatusDeleting ClusterStatus = "DELETING"
	ClusterStatusFailed   ClusterStatus = "FAILED"
)

Enum values for ClusterStatus

func (ClusterStatus) MarshalValue

func (enum ClusterStatus) MarshalValue() (string, error)

func (ClusterStatus) MarshalValueBuf

func (enum ClusterStatus) MarshalValueBuf(b []byte) ([]byte, error)

type CreateClusterInput

type CreateClusterInput struct {

	// Unique, case-sensitive identifier you provide to ensure the idempotency of
	// the request.
	ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"`

	// The unique name to give to your cluster.
	//
	// Name is a required field
	Name *string `locationName:"name" min:"1" type:"string" required:"true"`

	// The VPC subnets and security groups used by the cluster control plane. Amazon
	// EKS VPC resources have specific requirements to work properly with Kubernetes.
	// For more information, see Cluster VPC Considerations (http://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html)
	// and Cluster Security Group Considerations (http://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html)
	// in the Amazon EKS User Guide. You must specify at least two subnets. You
	// may specify up to 5 security groups, but we recommend that you use a dedicated
	// security group for your cluster control plane.
	//
	// ResourcesVpcConfig is a required field
	ResourcesVpcConfig *VpcConfigRequest `locationName:"resourcesVpcConfig" type:"structure" required:"true"`

	// The Amazon Resource Name (ARN) of the IAM role that provides permissions
	// for Amazon EKS to make calls to other AWS API operations on your behalf.
	// For more information, see Amazon EKS Service IAM Role (http://docs.aws.amazon.com/eks/latest/userguide/service_IAM_role.html)
	// in the Amazon EKS User Guide.
	//
	// RoleArn is a required field
	RoleArn *string `locationName:"roleArn" type:"string" required:"true"`

	// The desired Kubernetes version for your cluster. If you do not specify a
	// value here, the latest version available in Amazon EKS is used.
	Version *string `locationName:"version" type:"string"`
	// contains filtered or unexported fields
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateClusterRequest

func (CreateClusterInput) GoString

func (s CreateClusterInput) GoString() string

GoString returns the string representation

func (CreateClusterInput) MarshalFields

func (s CreateClusterInput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (CreateClusterInput) String

func (s CreateClusterInput) String() string

String returns the string representation

func (*CreateClusterInput) Validate

func (s *CreateClusterInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type CreateClusterOutput

type CreateClusterOutput struct {

	// The full description of your new cluster.
	Cluster *Cluster `locationName:"cluster" type:"structure"`
	// contains filtered or unexported fields
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateClusterResponse

func (CreateClusterOutput) GoString

func (s CreateClusterOutput) GoString() string

GoString returns the string representation

func (CreateClusterOutput) MarshalFields

func (s CreateClusterOutput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (CreateClusterOutput) SDKResponseMetadata

func (s CreateClusterOutput) SDKResponseMetadata() aws.Response

SDKResponseMetdata return sthe response metadata for the API.

func (CreateClusterOutput) String

func (s CreateClusterOutput) String() string

String returns the string representation

type CreateClusterRequest

type CreateClusterRequest struct {
	*aws.Request
	Input *CreateClusterInput
	Copy  func(*CreateClusterInput) CreateClusterRequest
}

CreateClusterRequest is a API request type for the CreateCluster API operation.

func (CreateClusterRequest) Send

Send marshals and sends the CreateCluster API request.

type DeleteClusterInput

type DeleteClusterInput struct {

	// The name of the cluster to delete.
	//
	// Name is a required field
	Name *string `location:"uri" locationName:"name" type:"string" required:"true"`
	// contains filtered or unexported fields
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteClusterRequest

func (DeleteClusterInput) GoString

func (s DeleteClusterInput) GoString() string

GoString returns the string representation

func (DeleteClusterInput) MarshalFields

func (s DeleteClusterInput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (DeleteClusterInput) String

func (s DeleteClusterInput) String() string

String returns the string representation

func (*DeleteClusterInput) Validate

func (s *DeleteClusterInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type DeleteClusterOutput

type DeleteClusterOutput struct {

	// The full description of the cluster to delete.
	Cluster *Cluster `locationName:"cluster" type:"structure"`
	// contains filtered or unexported fields
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteClusterResponse

func (DeleteClusterOutput) GoString

func (s DeleteClusterOutput) GoString() string

GoString returns the string representation

func (DeleteClusterOutput) MarshalFields

func (s DeleteClusterOutput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (DeleteClusterOutput) SDKResponseMetadata

func (s DeleteClusterOutput) SDKResponseMetadata() aws.Response

SDKResponseMetdata return sthe response metadata for the API.

func (DeleteClusterOutput) String

func (s DeleteClusterOutput) String() string

String returns the string representation

type DeleteClusterRequest

type DeleteClusterRequest struct {
	*aws.Request
	Input *DeleteClusterInput
	Copy  func(*DeleteClusterInput) DeleteClusterRequest
}

DeleteClusterRequest is a API request type for the DeleteCluster API operation.

func (DeleteClusterRequest) Send

Send marshals and sends the DeleteCluster API request.

type DescribeClusterInput

type DescribeClusterInput struct {

	// The name of the cluster to describe.
	//
	// Name is a required field
	Name *string `location:"uri" locationName:"name" type:"string" required:"true"`
	// contains filtered or unexported fields
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeClusterRequest

func (DescribeClusterInput) GoString

func (s DescribeClusterInput) GoString() string

GoString returns the string representation

func (DescribeClusterInput) MarshalFields

func (s DescribeClusterInput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (DescribeClusterInput) String

func (s DescribeClusterInput) String() string

String returns the string representation

func (*DescribeClusterInput) Validate

func (s *DescribeClusterInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type DescribeClusterOutput

type DescribeClusterOutput struct {

	// The full description of your specified cluster.
	Cluster *Cluster `locationName:"cluster" type:"structure"`
	// contains filtered or unexported fields
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeClusterResponse

func (DescribeClusterOutput) GoString

func (s DescribeClusterOutput) GoString() string

GoString returns the string representation

func (DescribeClusterOutput) MarshalFields

func (s DescribeClusterOutput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (DescribeClusterOutput) SDKResponseMetadata

func (s DescribeClusterOutput) SDKResponseMetadata() aws.Response

SDKResponseMetdata return sthe response metadata for the API.

func (DescribeClusterOutput) String

func (s DescribeClusterOutput) String() string

String returns the string representation

type DescribeClusterRequest

type DescribeClusterRequest struct {
	*aws.Request
	Input *DescribeClusterInput
	Copy  func(*DescribeClusterInput) DescribeClusterRequest
}

DescribeClusterRequest is a API request type for the DescribeCluster API operation.

func (DescribeClusterRequest) Send

Send marshals and sends the DescribeCluster API request.

type EKS

type EKS struct {
	*aws.Client
}

EKS provides the API operation methods for making requests to Amazon Elastic Container Service for Kubernetes. See this package's package overview docs for details on the service.

EKS methods are safe to use concurrently. It is not safe to modify mutate any of the struct's properties though.

func New

func New(config aws.Config) *EKS

New creates a new instance of the EKS client with a config.

Example:

// Create a EKS client from just a config.
svc := eks.New(myConfig)

func (*EKS) CreateClusterRequest

func (c *EKS) CreateClusterRequest(input *CreateClusterInput) CreateClusterRequest

CreateClusterRequest returns a request value for making API operation for Amazon Elastic Container Service for Kubernetes.

Creates an Amazon EKS control plane.

The Amazon EKS control plane consists of control plane instances that run the Kubernetes software, like etcd and the API server. The control plane runs in an account managed by AWS, and the Kubernetes API is exposed via the Amazon EKS API server endpoint.

Amazon EKS worker nodes run in your AWS account and connect to your cluster's control plane via the Kubernetes API server endpoint and a certificate file that is created for your cluster.

The cluster control plane is provisioned across multiple Availability Zones and fronted by an Elastic Load Balancing Network Load Balancer. Amazon EKS also provisions elastic network interfaces in your VPC subnets to provide connectivity from the control plane instances to the worker nodes (for example, to support kubectl exec, logs, and proxy data flows).

After you create an Amazon EKS cluster, you must configure your Kubernetes tooling to communicate with the API server and launch worker nodes into your cluster. For more information, see Managing Cluster Authentication (http://docs.aws.amazon.com/eks/latest/userguide/managing-auth.html) and Launching Amazon EKS Worker Nodes (http://docs.aws.amazon.com/eks/latest/userguide/launch-workers.html)in the Amazon EKS User Guide.

// Example sending a request using the CreateClusterRequest method.
req := client.CreateClusterRequest(params)
resp, err := req.Send()
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateCluster

Example (Shared00)

To create a new cluster

The following example creates an Amazon EKS cluster called prod.

Code:play 

package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go-v2/aws"
	"github.com/aws/aws-sdk-go-v2/aws/awserr"
	"github.com/aws/aws-sdk-go-v2/aws/external"
	"github.com/aws/aws-sdk-go-v2/service/eks"
)

func main() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := eks.New(cfg)
	input := &eks.CreateClusterInput{
		ClientRequestToken: aws.String("1d2129a1-3d38-460a-9756-e5b91fddb951"),
		Name:               aws.String("prod"),
		ResourcesVpcConfig: &eks.VpcConfigRequest{
			SecurityGroupIds: []string{
				"sg-6979fe18",
			},
			SubnetIds: []string{
				"subnet-6782e71e",
				"subnet-e7e761ac",
			},
		},
		RoleArn: aws.String("arn:aws:iam::012345678910:role/eks-service-role-AWSServiceRoleForAmazonEKS-J7ONKE3BQ4PI"),
		Version: aws.String("1.10"),
	}

	req := svc.CreateClusterRequest(input)
	result, err := req.Send()
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case eks.ErrCodeResourceInUseException:
				fmt.Println(eks.ErrCodeResourceInUseException, aerr.Error())
			case eks.ErrCodeResourceLimitExceededException:
				fmt.Println(eks.ErrCodeResourceLimitExceededException, aerr.Error())
			case eks.ErrCodeInvalidParameterException:
				fmt.Println(eks.ErrCodeInvalidParameterException, aerr.Error())
			case eks.ErrCodeClientException:
				fmt.Println(eks.ErrCodeClientException, aerr.Error())
			case eks.ErrCodeServerException:
				fmt.Println(eks.ErrCodeServerException, aerr.Error())
			case eks.ErrCodeServiceUnavailableException:
				fmt.Println(eks.ErrCodeServiceUnavailableException, aerr.Error())
			case eks.ErrCodeUnsupportedAvailabilityZoneException:
				fmt.Println(eks.ErrCodeUnsupportedAvailabilityZoneException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

func (*EKS) DeleteClusterRequest

func (c *EKS) DeleteClusterRequest(input *DeleteClusterInput) DeleteClusterRequest

DeleteClusterRequest returns a request value for making API operation for Amazon Elastic Container Service for Kubernetes.

Deletes the Amazon EKS cluster control plane.

If you have active services in your cluster that are associated with a load balancer, you must delete those services before deleting the cluster so that the load balancers are deleted properly. Otherwise, you can have orphaned resources in your VPC that prevent you from being able to delete the VPC. For more information, see Deleting a Cluster (http://docs.aws.amazon.com/eks/latest/userguide/delete-cluster.html) in the Amazon EKS User Guide.

// Example sending a request using the DeleteClusterRequest method.
req := client.DeleteClusterRequest(params)
resp, err := req.Send()
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteCluster

Example (Shared00)

To delete a cluster

This example command deletes a cluster named `devel` in your default region.

Code:play 

package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go-v2/aws"
	"github.com/aws/aws-sdk-go-v2/aws/awserr"
	"github.com/aws/aws-sdk-go-v2/aws/external"
	"github.com/aws/aws-sdk-go-v2/service/eks"
)

func main() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := eks.New(cfg)
	input := &eks.DeleteClusterInput{
		Name: aws.String("devel"),
	}

	req := svc.DeleteClusterRequest(input)
	result, err := req.Send()
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case eks.ErrCodeResourceInUseException:
				fmt.Println(eks.ErrCodeResourceInUseException, aerr.Error())
			case eks.ErrCodeResourceNotFoundException:
				fmt.Println(eks.ErrCodeResourceNotFoundException, aerr.Error())
			case eks.ErrCodeClientException:
				fmt.Println(eks.ErrCodeClientException, aerr.Error())
			case eks.ErrCodeServerException:
				fmt.Println(eks.ErrCodeServerException, aerr.Error())
			case eks.ErrCodeServiceUnavailableException:
				fmt.Println(eks.ErrCodeServiceUnavailableException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

func (*EKS) DescribeClusterRequest

func (c *EKS) DescribeClusterRequest(input *DescribeClusterInput) DescribeClusterRequest

DescribeClusterRequest returns a request value for making API operation for Amazon Elastic Container Service for Kubernetes.

Returns descriptive information about an Amazon EKS cluster.

The API server endpoint and certificate authority data returned by this operation are required for kubelet and kubectl to communicate with your Kubernetes API server. For more information, see Create a kubeconfig for Amazon EKS (http://docs.aws.amazon.com/eks/latest/userguide/create-kubeconfig.html).

The API server endpoint and certificate authority data are not available until the cluster reaches the ACTIVE state.

// Example sending a request using the DescribeClusterRequest method.
req := client.DescribeClusterRequest(params)
resp, err := req.Send()
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeCluster

Example (Shared00)

To describe a cluster

This example command provides a description of the specified cluster in your default region.

Code:play 

package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go-v2/aws"
	"github.com/aws/aws-sdk-go-v2/aws/awserr"
	"github.com/aws/aws-sdk-go-v2/aws/external"
	"github.com/aws/aws-sdk-go-v2/service/eks"
)

func main() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := eks.New(cfg)
	input := &eks.DescribeClusterInput{
		Name: aws.String("devel"),
	}

	req := svc.DescribeClusterRequest(input)
	result, err := req.Send()
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case eks.ErrCodeResourceNotFoundException:
				fmt.Println(eks.ErrCodeResourceNotFoundException, aerr.Error())
			case eks.ErrCodeClientException:
				fmt.Println(eks.ErrCodeClientException, aerr.Error())
			case eks.ErrCodeServerException:
				fmt.Println(eks.ErrCodeServerException, aerr.Error())
			case eks.ErrCodeServiceUnavailableException:
				fmt.Println(eks.ErrCodeServiceUnavailableException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

func (*EKS) ListClustersRequest

func (c *EKS) ListClustersRequest(input *ListClustersInput) ListClustersRequest

ListClustersRequest returns a request value for making API operation for Amazon Elastic Container Service for Kubernetes.

Lists the Amazon EKS clusters in your AWS account in the specified Region.

// Example sending a request using the ListClustersRequest method.
req := client.ListClustersRequest(params)
resp, err := req.Send()
if err == nil {
    fmt.Println(resp)
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListClusters

Example (Shared00)

To list your available clusters

This example command lists all of your available clusters in your default region.

Code:play 

package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go-v2/aws/awserr"
	"github.com/aws/aws-sdk-go-v2/aws/external"
	"github.com/aws/aws-sdk-go-v2/service/eks"
)

func main() {
	cfg, err := external.LoadDefaultAWSConfig()
	if err != nil {
		panic("failed to load config, " + err.Error())
	}

	svc := eks.New(cfg)
	input := &eks.ListClustersInput{}

	req := svc.ListClustersRequest(input)
	result, err := req.Send()
	if err != nil {
		if aerr, ok := err.(awserr.Error); ok {
			switch aerr.Code() {
			case eks.ErrCodeInvalidParameterException:
				fmt.Println(eks.ErrCodeInvalidParameterException, aerr.Error())
			case eks.ErrCodeClientException:
				fmt.Println(eks.ErrCodeClientException, aerr.Error())
			case eks.ErrCodeServerException:
				fmt.Println(eks.ErrCodeServerException, aerr.Error())
			case eks.ErrCodeServiceUnavailableException:
				fmt.Println(eks.ErrCodeServiceUnavailableException, aerr.Error())
			default:
				fmt.Println(aerr.Error())
			}
		} else {
			// Print the error, cast err to awserr.Error to get the Code and
			// Message from an error.
			fmt.Println(err.Error())
		}
		return
	}

	fmt.Println(result)
}

type ListClustersInput

type ListClustersInput struct {

	// The maximum number of cluster results returned by ListClusters in paginated
	// output. When this parameter is used, ListClusters only returns maxResults
	// results in a single page along with a nextToken response element. The remaining
	// results of the initial request can be seen by sending another ListClusters
	// request with the returned nextToken value. This value can be between 1 and
	// 100. If this parameter is not used, then ListClusters returns up to 100 results
	// and a nextToken value if applicable.
	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`

	// The nextToken value returned from a previous paginated ListClusters request
	// where maxResults was used and the results exceeded the value of that parameter.
	// Pagination continues from the end of the previous results that returned the
	// nextToken value.
	//
	// This token should be treated as an opaque identifier that is only used to
	// retrieve the next items in a list and not for other programmatic purposes.
	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
	// contains filtered or unexported fields
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListClustersRequest

func (ListClustersInput) GoString

func (s ListClustersInput) GoString() string

GoString returns the string representation

func (ListClustersInput) MarshalFields

func (s ListClustersInput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (ListClustersInput) String

func (s ListClustersInput) String() string

String returns the string representation

func (*ListClustersInput) Validate

func (s *ListClustersInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ListClustersOutput

type ListClustersOutput struct {

	// A list of all of the clusters for your account in the specified Region.
	Clusters []string `locationName:"clusters" type:"list"`

	// The nextToken value to include in a future ListClusters request. When the
	// results of a ListClusters request exceed maxResults, this value can be used
	// to retrieve the next page of results. This value is null when there are no
	// more results to return.
	NextToken *string `locationName:"nextToken" type:"string"`
	// contains filtered or unexported fields
}

Please also see https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListClustersResponse

func (ListClustersOutput) GoString

func (s ListClustersOutput) GoString() string

GoString returns the string representation

func (ListClustersOutput) MarshalFields

func (s ListClustersOutput) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (ListClustersOutput) SDKResponseMetadata

func (s ListClustersOutput) SDKResponseMetadata() aws.Response

SDKResponseMetdata return sthe response metadata for the API.

func (ListClustersOutput) String

func (s ListClustersOutput) String() string

String returns the string representation

type ListClustersRequest

type ListClustersRequest struct {
	*aws.Request
	Input *ListClustersInput
	Copy  func(*ListClustersInput) ListClustersRequest
}

ListClustersRequest is a API request type for the ListClusters API operation.

func (ListClustersRequest) Send

Send marshals and sends the ListClusters API request.

type VpcConfigRequest

type VpcConfigRequest struct {

	// Specify one or more security groups for the cross-account elastic network
	// interfaces that Amazon EKS creates to use to allow communication between
	// your worker nodes and the Kubernetes control plane.
	SecurityGroupIds []string `locationName:"securityGroupIds" type:"list"`

	// Specify subnets for your Amazon EKS worker nodes. Amazon EKS creates cross-account
	// elastic network interfaces in these subnets to allow communication between
	// your worker nodes and the Kubernetes control plane.
	//
	// SubnetIds is a required field
	SubnetIds []string `locationName:"subnetIds" type:"list" required:"true"`
	// contains filtered or unexported fields
}

An object representing an Amazon EKS cluster VPC configuration request. Please also see https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/VpcConfigRequest

func (VpcConfigRequest) GoString

func (s VpcConfigRequest) GoString() string

GoString returns the string representation

func (VpcConfigRequest) MarshalFields

func (s VpcConfigRequest) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (VpcConfigRequest) String

func (s VpcConfigRequest) String() string

String returns the string representation

func (*VpcConfigRequest) Validate

func (s *VpcConfigRequest) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type VpcConfigResponse

type VpcConfigResponse struct {

	// The security groups associated with the cross-account elastic network interfaces
	// that are used to allow communication between your worker nodes and the Kubernetes
	// control plane.
	SecurityGroupIds []string `locationName:"securityGroupIds" type:"list"`

	// The subnets associated with your cluster.
	SubnetIds []string `locationName:"subnetIds" type:"list"`

	// The VPC associated with your cluster.
	VpcId *string `locationName:"vpcId" type:"string"`
	// contains filtered or unexported fields
}

An object representing an Amazon EKS cluster VPC configuration response. Please also see https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/VpcConfigResponse

func (VpcConfigResponse) GoString

func (s VpcConfigResponse) GoString() string

GoString returns the string representation

func (VpcConfigResponse) MarshalFields

func (s VpcConfigResponse) MarshalFields(e protocol.FieldEncoder) error

MarshalFields encodes the AWS API shape using the passed in protocol encoder.

func (VpcConfigResponse) String

func (s VpcConfigResponse) String() string

String returns the string representation

Source Files

api.go doc.go errors.go service.go

Directories

PathSynopsis
service/eks/eksifacePackage eksiface provides an interface to enable mocking the Amazon Elastic Container Service for Kubernetes service client for testing your code.
Version
v0.5.0
Published
Sep 27, 2018
Platform
js/wasm
Imports
6 packages
Last checked
28 seconds ago

Tools for package owners.