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 ¶
- Constants
- type Certificate
- func (s Certificate) GoString() string
- func (s Certificate) MarshalFields(e protocol.FieldEncoder) error
- func (s Certificate) String() string
- type Cluster
- func (s Cluster) GoString() string
- func (s Cluster) MarshalFields(e protocol.FieldEncoder) error
- func (s Cluster) String() string
- type ClusterStatus
- func (enum ClusterStatus) MarshalValue() (string, error)
- func (enum ClusterStatus) MarshalValueBuf(b []byte) ([]byte, error)
- type CreateClusterInput
- func (s CreateClusterInput) GoString() string
- func (s CreateClusterInput) MarshalFields(e protocol.FieldEncoder) error
- func (s CreateClusterInput) String() string
- func (s *CreateClusterInput) Validate() error
- type CreateClusterOutput
- func (s CreateClusterOutput) GoString() string
- func (s CreateClusterOutput) MarshalFields(e protocol.FieldEncoder) error
- func (s CreateClusterOutput) SDKResponseMetadata() aws.Response
- func (s CreateClusterOutput) String() string
- type CreateClusterRequest
- type DeleteClusterInput
- func (s DeleteClusterInput) GoString() string
- func (s DeleteClusterInput) MarshalFields(e protocol.FieldEncoder) error
- func (s DeleteClusterInput) String() string
- func (s *DeleteClusterInput) Validate() error
- type DeleteClusterOutput
- func (s DeleteClusterOutput) GoString() string
- func (s DeleteClusterOutput) MarshalFields(e protocol.FieldEncoder) error
- func (s DeleteClusterOutput) SDKResponseMetadata() aws.Response
- func (s DeleteClusterOutput) String() string
- type DeleteClusterRequest
- type DescribeClusterInput
- func (s DescribeClusterInput) GoString() string
- func (s DescribeClusterInput) MarshalFields(e protocol.FieldEncoder) error
- func (s DescribeClusterInput) String() string
- func (s *DescribeClusterInput) Validate() error
- type DescribeClusterOutput
- func (s DescribeClusterOutput) GoString() string
- func (s DescribeClusterOutput) MarshalFields(e protocol.FieldEncoder) error
- func (s DescribeClusterOutput) SDKResponseMetadata() aws.Response
- func (s DescribeClusterOutput) String() string
- type DescribeClusterRequest
- type EKS
- func New(config aws.Config) *EKS
- func (c *EKS) CreateClusterRequest(input *CreateClusterInput) CreateClusterRequest
- func (c *EKS) DeleteClusterRequest(input *DeleteClusterInput) DeleteClusterRequest
- func (c *EKS) DescribeClusterRequest(input *DescribeClusterInput) DescribeClusterRequest
- func (c *EKS) ListClustersRequest(input *ListClustersInput) ListClustersRequest
- type ListClustersInput
- func (s ListClustersInput) GoString() string
- func (s ListClustersInput) MarshalFields(e protocol.FieldEncoder) error
- func (s ListClustersInput) String() string
- func (s *ListClustersInput) Validate() error
- type ListClustersOutput
- func (s ListClustersOutput) GoString() string
- func (s ListClustersOutput) MarshalFields(e protocol.FieldEncoder) error
- func (s ListClustersOutput) SDKResponseMetadata() aws.Response
- func (s ListClustersOutput) String() string
- type ListClustersRequest
- type VpcConfigRequest
- func (s VpcConfigRequest) GoString() string
- func (s VpcConfigRequest) MarshalFields(e protocol.FieldEncoder) error
- func (s VpcConfigRequest) String() string
- func (s *VpcConfigRequest) Validate() error
- type VpcConfigResponse
Examples ¶
- EKS.CreateClusterRequest (Shared00)
- EKS.DeleteClusterRequest (Shared00)
- EKS.DescribeClusterRequest (Shared00)
- EKS.ListClustersRequest (Shared00)
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. = "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 ¶
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 ¶
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 ¶
func (r CreateClusterRequest) Send() (*CreateClusterOutput, error)
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 ¶
func (r DeleteClusterRequest) Send() (*DeleteClusterOutput, error)
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 ¶
func (r DescribeClusterRequest) Send() (*DescribeClusterOutput, error)
Send marshals and sends the DescribeCluster API request.
type EKS ¶
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 ¶
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
To create a new cluster
The following example creates an Amazon EKS cluster called prod.
Code:play
Example (Shared00)¶
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
To delete a cluster
This example command deletes a cluster named `devel` in your default region.
Code:play
Example (Shared00)¶
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
To describe a cluster
This example command provides a description of the specified cluster in your default
region.
Code:play
Example (Shared00)¶
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
To list your available clusters
This example command lists all of your available clusters in your default region.
Code:play
Example (Shared00)¶
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 ¶
func (r ListClustersRequest) Send() (*ListClustersOutput, error)
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 ¶
Path | Synopsis |
---|---|
service/eks/eksiface | Package 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
- darwin/amd64
- Imports
- 6 packages
- Last checked
- 4 minutes ago –
Tools for package owners.