tile38/vendor/github.com/aws/aws-sdk-go/service/eks/api.go

1820 lines
62 KiB
Go

// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package eks
import (
"time"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awsutil"
"github.com/aws/aws-sdk-go/aws/request"
)
const opCreateCluster = "CreateCluster"
// CreateClusterRequest generates a "aws/request.Request" representing the
// client's request for the CreateCluster operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See CreateCluster for more information on using the CreateCluster
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the CreateClusterRequest method.
// req, resp := client.CreateClusterRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateCluster
func (c *EKS) CreateClusterRequest(input *CreateClusterInput) (req *request.Request, output *CreateClusterOutput) {
op := &request.Operation{
Name: opCreateCluster,
HTTPMethod: "POST",
HTTPPath: "/clusters",
}
if input == nil {
input = &CreateClusterInput{}
}
output = &CreateClusterOutput{}
req = c.newRequest(op, input, output)
return
}
// CreateCluster 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.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Elastic Container Service for Kubernetes's
// API operation CreateCluster for usage and error information.
//
// Returned Error Codes:
// * ErrCodeResourceInUseException "ResourceInUseException"
// The specified resource is in use.
//
// * ErrCodeResourceLimitExceededException "ResourceLimitExceededException"
// You have encountered a service limit on the specified resource.
//
// * ErrCodeInvalidParameterException "InvalidParameterException"
// The specified parameter is invalid. Review the available parameters for the
// API request.
//
// * ErrCodeClientException "ClientException"
// These errors are usually caused by a client action. Actions can include 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.
//
// * ErrCodeServerException "ServerException"
// These errors are usually caused by a server-side issue.
//
// * ErrCodeServiceUnavailableException "ServiceUnavailableException"
// The service is unavailable. Back off and retry the operation.
//
// * ErrCodeUnsupportedAvailabilityZoneException "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.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateCluster
func (c *EKS) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) {
req, out := c.CreateClusterRequest(input)
return out, req.Send()
}
// CreateClusterWithContext is the same as CreateCluster with the addition of
// the ability to pass a context and additional request options.
//
// See CreateCluster for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *EKS) CreateClusterWithContext(ctx aws.Context, input *CreateClusterInput, opts ...request.Option) (*CreateClusterOutput, error) {
req, out := c.CreateClusterRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDeleteCluster = "DeleteCluster"
// DeleteClusterRequest generates a "aws/request.Request" representing the
// client's request for the DeleteCluster operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DeleteCluster for more information on using the DeleteCluster
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the DeleteClusterRequest method.
// req, resp := client.DeleteClusterRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteCluster
func (c *EKS) DeleteClusterRequest(input *DeleteClusterInput) (req *request.Request, output *DeleteClusterOutput) {
op := &request.Operation{
Name: opDeleteCluster,
HTTPMethod: "DELETE",
HTTPPath: "/clusters/{name}",
}
if input == nil {
input = &DeleteClusterInput{}
}
output = &DeleteClusterOutput{}
req = c.newRequest(op, input, output)
return
}
// DeleteCluster 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.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Elastic Container Service for Kubernetes's
// API operation DeleteCluster for usage and error information.
//
// Returned Error Codes:
// * ErrCodeResourceInUseException "ResourceInUseException"
// The specified resource is in use.
//
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
// The specified resource could not be found. You can view your available clusters
// with ListClusters. Amazon EKS clusters are Region-specific.
//
// * ErrCodeClientException "ClientException"
// These errors are usually caused by a client action. Actions can include 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.
//
// * ErrCodeServerException "ServerException"
// These errors are usually caused by a server-side issue.
//
// * ErrCodeServiceUnavailableException "ServiceUnavailableException"
// The service is unavailable. Back off and retry the operation.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteCluster
func (c *EKS) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutput, error) {
req, out := c.DeleteClusterRequest(input)
return out, req.Send()
}
// DeleteClusterWithContext is the same as DeleteCluster with the addition of
// the ability to pass a context and additional request options.
//
// See DeleteCluster for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *EKS) DeleteClusterWithContext(ctx aws.Context, input *DeleteClusterInput, opts ...request.Option) (*DeleteClusterOutput, error) {
req, out := c.DeleteClusterRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDescribeCluster = "DescribeCluster"
// DescribeClusterRequest generates a "aws/request.Request" representing the
// client's request for the DescribeCluster operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DescribeCluster for more information on using the DescribeCluster
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the DescribeClusterRequest method.
// req, resp := client.DescribeClusterRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeCluster
func (c *EKS) DescribeClusterRequest(input *DescribeClusterInput) (req *request.Request, output *DescribeClusterOutput) {
op := &request.Operation{
Name: opDescribeCluster,
HTTPMethod: "GET",
HTTPPath: "/clusters/{name}",
}
if input == nil {
input = &DescribeClusterInput{}
}
output = &DescribeClusterOutput{}
req = c.newRequest(op, input, output)
return
}
// DescribeCluster 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.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Elastic Container Service for Kubernetes's
// API operation DescribeCluster for usage and error information.
//
// Returned Error Codes:
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
// The specified resource could not be found. You can view your available clusters
// with ListClusters. Amazon EKS clusters are Region-specific.
//
// * ErrCodeClientException "ClientException"
// These errors are usually caused by a client action. Actions can include 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.
//
// * ErrCodeServerException "ServerException"
// These errors are usually caused by a server-side issue.
//
// * ErrCodeServiceUnavailableException "ServiceUnavailableException"
// The service is unavailable. Back off and retry the operation.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeCluster
func (c *EKS) DescribeCluster(input *DescribeClusterInput) (*DescribeClusterOutput, error) {
req, out := c.DescribeClusterRequest(input)
return out, req.Send()
}
// DescribeClusterWithContext is the same as DescribeCluster with the addition of
// the ability to pass a context and additional request options.
//
// See DescribeCluster for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *EKS) DescribeClusterWithContext(ctx aws.Context, input *DescribeClusterInput, opts ...request.Option) (*DescribeClusterOutput, error) {
req, out := c.DescribeClusterRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDescribeUpdate = "DescribeUpdate"
// DescribeUpdateRequest generates a "aws/request.Request" representing the
// client's request for the DescribeUpdate operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DescribeUpdate for more information on using the DescribeUpdate
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the DescribeUpdateRequest method.
// req, resp := client.DescribeUpdateRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeUpdate
func (c *EKS) DescribeUpdateRequest(input *DescribeUpdateInput) (req *request.Request, output *DescribeUpdateOutput) {
op := &request.Operation{
Name: opDescribeUpdate,
HTTPMethod: "GET",
HTTPPath: "/clusters/{name}/updates/{updateId}",
}
if input == nil {
input = &DescribeUpdateInput{}
}
output = &DescribeUpdateOutput{}
req = c.newRequest(op, input, output)
return
}
// DescribeUpdate API operation for Amazon Elastic Container Service for Kubernetes.
//
// Returns descriptive information about an update against your Amazon EKS cluster.
//
// When the status of the update is Succeeded, the update is complete. If an
// update fails, the status is Failed, and an error detail explains the reason
// for the failure.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Elastic Container Service for Kubernetes's
// API operation DescribeUpdate for usage and error information.
//
// Returned Error Codes:
// * ErrCodeInvalidParameterException "InvalidParameterException"
// The specified parameter is invalid. Review the available parameters for the
// API request.
//
// * ErrCodeClientException "ClientException"
// These errors are usually caused by a client action. Actions can include 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.
//
// * ErrCodeServerException "ServerException"
// These errors are usually caused by a server-side issue.
//
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
// The specified resource could not be found. You can view your available clusters
// with ListClusters. Amazon EKS clusters are Region-specific.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeUpdate
func (c *EKS) DescribeUpdate(input *DescribeUpdateInput) (*DescribeUpdateOutput, error) {
req, out := c.DescribeUpdateRequest(input)
return out, req.Send()
}
// DescribeUpdateWithContext is the same as DescribeUpdate with the addition of
// the ability to pass a context and additional request options.
//
// See DescribeUpdate for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *EKS) DescribeUpdateWithContext(ctx aws.Context, input *DescribeUpdateInput, opts ...request.Option) (*DescribeUpdateOutput, error) {
req, out := c.DescribeUpdateRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opListClusters = "ListClusters"
// ListClustersRequest generates a "aws/request.Request" representing the
// client's request for the ListClusters operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ListClusters for more information on using the ListClusters
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the ListClustersRequest method.
// req, resp := client.ListClustersRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListClusters
func (c *EKS) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) {
op := &request.Operation{
Name: opListClusters,
HTTPMethod: "GET",
HTTPPath: "/clusters",
}
if input == nil {
input = &ListClustersInput{}
}
output = &ListClustersOutput{}
req = c.newRequest(op, input, output)
return
}
// ListClusters API operation for Amazon Elastic Container Service for Kubernetes.
//
// Lists the Amazon EKS clusters in your AWS account in the specified Region.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Elastic Container Service for Kubernetes's
// API operation ListClusters for usage and error information.
//
// Returned Error Codes:
// * ErrCodeInvalidParameterException "InvalidParameterException"
// The specified parameter is invalid. Review the available parameters for the
// API request.
//
// * ErrCodeClientException "ClientException"
// These errors are usually caused by a client action. Actions can include 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.
//
// * ErrCodeServerException "ServerException"
// These errors are usually caused by a server-side issue.
//
// * ErrCodeServiceUnavailableException "ServiceUnavailableException"
// The service is unavailable. Back off and retry the operation.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListClusters
func (c *EKS) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) {
req, out := c.ListClustersRequest(input)
return out, req.Send()
}
// ListClustersWithContext is the same as ListClusters with the addition of
// the ability to pass a context and additional request options.
//
// See ListClusters for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *EKS) ListClustersWithContext(ctx aws.Context, input *ListClustersInput, opts ...request.Option) (*ListClustersOutput, error) {
req, out := c.ListClustersRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opListUpdates = "ListUpdates"
// ListUpdatesRequest generates a "aws/request.Request" representing the
// client's request for the ListUpdates operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ListUpdates for more information on using the ListUpdates
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the ListUpdatesRequest method.
// req, resp := client.ListUpdatesRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListUpdates
func (c *EKS) ListUpdatesRequest(input *ListUpdatesInput) (req *request.Request, output *ListUpdatesOutput) {
op := &request.Operation{
Name: opListUpdates,
HTTPMethod: "GET",
HTTPPath: "/clusters/{name}/updates",
}
if input == nil {
input = &ListUpdatesInput{}
}
output = &ListUpdatesOutput{}
req = c.newRequest(op, input, output)
return
}
// ListUpdates API operation for Amazon Elastic Container Service for Kubernetes.
//
// Lists the updates associated with an Amazon EKS cluster in your AWS account,
// in the specified Region.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Elastic Container Service for Kubernetes's
// API operation ListUpdates for usage and error information.
//
// Returned Error Codes:
// * ErrCodeInvalidParameterException "InvalidParameterException"
// The specified parameter is invalid. Review the available parameters for the
// API request.
//
// * ErrCodeClientException "ClientException"
// These errors are usually caused by a client action. Actions can include 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.
//
// * ErrCodeServerException "ServerException"
// These errors are usually caused by a server-side issue.
//
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
// The specified resource could not be found. You can view your available clusters
// with ListClusters. Amazon EKS clusters are Region-specific.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListUpdates
func (c *EKS) ListUpdates(input *ListUpdatesInput) (*ListUpdatesOutput, error) {
req, out := c.ListUpdatesRequest(input)
return out, req.Send()
}
// ListUpdatesWithContext is the same as ListUpdates with the addition of
// the ability to pass a context and additional request options.
//
// See ListUpdates for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *EKS) ListUpdatesWithContext(ctx aws.Context, input *ListUpdatesInput, opts ...request.Option) (*ListUpdatesOutput, error) {
req, out := c.ListUpdatesRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opUpdateClusterVersion = "UpdateClusterVersion"
// UpdateClusterVersionRequest generates a "aws/request.Request" representing the
// client's request for the UpdateClusterVersion operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See UpdateClusterVersion for more information on using the UpdateClusterVersion
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
//
// // Example sending a request using the UpdateClusterVersionRequest method.
// req, resp := client.UpdateClusterVersionRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateClusterVersion
func (c *EKS) UpdateClusterVersionRequest(input *UpdateClusterVersionInput) (req *request.Request, output *UpdateClusterVersionOutput) {
op := &request.Operation{
Name: opUpdateClusterVersion,
HTTPMethod: "POST",
HTTPPath: "/clusters/{name}/updates",
}
if input == nil {
input = &UpdateClusterVersionInput{}
}
output = &UpdateClusterVersionOutput{}
req = c.newRequest(op, input, output)
return
}
// UpdateClusterVersion API operation for Amazon Elastic Container Service for Kubernetes.
//
// Updates an Amazon EKS cluster to the specified Kubernetes version. Your cluster
// continues to function during the update. The response output includes an
// update ID that you can use to track the status of your cluster update with
// the DescribeUpdate API operation.
//
// Cluster updates are asynchronous, and they should finish within a few minutes.
// During an update, the cluster status moves to UPDATING (this status transition
// is eventually consistent). When the update is complete (either Failed or
// Successful), the cluster status moves to Active.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Elastic Container Service for Kubernetes's
// API operation UpdateClusterVersion for usage and error information.
//
// Returned Error Codes:
// * ErrCodeInvalidParameterException "InvalidParameterException"
// The specified parameter is invalid. Review the available parameters for the
// API request.
//
// * ErrCodeClientException "ClientException"
// These errors are usually caused by a client action. Actions can include 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.
//
// * ErrCodeServerException "ServerException"
// These errors are usually caused by a server-side issue.
//
// * ErrCodeResourceInUseException "ResourceInUseException"
// The specified resource is in use.
//
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
// The specified resource could not be found. You can view your available clusters
// with ListClusters. Amazon EKS clusters are Region-specific.
//
// * ErrCodeInvalidRequestException "InvalidRequestException"
// The request is invalid given the state of the cluster. Check the state of
// the cluster and the associated operations.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateClusterVersion
func (c *EKS) UpdateClusterVersion(input *UpdateClusterVersionInput) (*UpdateClusterVersionOutput, error) {
req, out := c.UpdateClusterVersionRequest(input)
return out, req.Send()
}
// UpdateClusterVersionWithContext is the same as UpdateClusterVersion with the addition of
// the ability to pass a context and additional request options.
//
// See UpdateClusterVersion for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *EKS) UpdateClusterVersionWithContext(ctx aws.Context, input *UpdateClusterVersionInput, opts ...request.Option) (*UpdateClusterVersionOutput, error) {
req, out := c.UpdateClusterVersionRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// An object representing the certificate-authority-data for your cluster.
type Certificate struct {
_ struct{} `type:"structure"`
// 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"`
}
// String returns the string representation
func (s Certificate) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s Certificate) GoString() string {
return s.String()
}
// SetData sets the Data field's value.
func (s *Certificate) SetData(v string) *Certificate {
s.Data = &v
return s
}
// An object representing an Amazon EKS cluster.
type Cluster struct {
_ struct{} `type:"structure"`
// 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 that you provide to ensure the idempotency
// of the request.
ClientRequestToken *string `locationName:"clientRequestToken" type:"string"`
// The Unix epoch timestamp in seconds for when the cluster was created.
CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
// 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 (http://docs.aws.amazon.com/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 *string `locationName:"status" type:"string" enum:"ClusterStatus"`
// The Kubernetes server version for the cluster.
Version *string `locationName:"version" type:"string"`
}
// String returns the string representation
func (s Cluster) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s Cluster) GoString() string {
return s.String()
}
// SetArn sets the Arn field's value.
func (s *Cluster) SetArn(v string) *Cluster {
s.Arn = &v
return s
}
// SetCertificateAuthority sets the CertificateAuthority field's value.
func (s *Cluster) SetCertificateAuthority(v *Certificate) *Cluster {
s.CertificateAuthority = v
return s
}
// SetClientRequestToken sets the ClientRequestToken field's value.
func (s *Cluster) SetClientRequestToken(v string) *Cluster {
s.ClientRequestToken = &v
return s
}
// SetCreatedAt sets the CreatedAt field's value.
func (s *Cluster) SetCreatedAt(v time.Time) *Cluster {
s.CreatedAt = &v
return s
}
// SetEndpoint sets the Endpoint field's value.
func (s *Cluster) SetEndpoint(v string) *Cluster {
s.Endpoint = &v
return s
}
// SetName sets the Name field's value.
func (s *Cluster) SetName(v string) *Cluster {
s.Name = &v
return s
}
// SetPlatformVersion sets the PlatformVersion field's value.
func (s *Cluster) SetPlatformVersion(v string) *Cluster {
s.PlatformVersion = &v
return s
}
// SetResourcesVpcConfig sets the ResourcesVpcConfig field's value.
func (s *Cluster) SetResourcesVpcConfig(v *VpcConfigResponse) *Cluster {
s.ResourcesVpcConfig = v
return s
}
// SetRoleArn sets the RoleArn field's value.
func (s *Cluster) SetRoleArn(v string) *Cluster {
s.RoleArn = &v
return s
}
// SetStatus sets the Status field's value.
func (s *Cluster) SetStatus(v string) *Cluster {
s.Status = &v
return s
}
// SetVersion sets the Version field's value.
func (s *Cluster) SetVersion(v string) *Cluster {
s.Version = &v
return s
}
type CreateClusterInput struct {
_ struct{} `type:"structure"`
// Unique, case-sensitive identifier that 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 five 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"`
}
// String returns the string representation
func (s CreateClusterInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s CreateClusterInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *CreateClusterInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "CreateClusterInput"}
if s.Name == nil {
invalidParams.Add(request.NewErrParamRequired("Name"))
}
if s.Name != nil && len(*s.Name) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Name", 1))
}
if s.ResourcesVpcConfig == nil {
invalidParams.Add(request.NewErrParamRequired("ResourcesVpcConfig"))
}
if s.RoleArn == nil {
invalidParams.Add(request.NewErrParamRequired("RoleArn"))
}
if s.ResourcesVpcConfig != nil {
if err := s.ResourcesVpcConfig.Validate(); err != nil {
invalidParams.AddNested("ResourcesVpcConfig", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetClientRequestToken sets the ClientRequestToken field's value.
func (s *CreateClusterInput) SetClientRequestToken(v string) *CreateClusterInput {
s.ClientRequestToken = &v
return s
}
// SetName sets the Name field's value.
func (s *CreateClusterInput) SetName(v string) *CreateClusterInput {
s.Name = &v
return s
}
// SetResourcesVpcConfig sets the ResourcesVpcConfig field's value.
func (s *CreateClusterInput) SetResourcesVpcConfig(v *VpcConfigRequest) *CreateClusterInput {
s.ResourcesVpcConfig = v
return s
}
// SetRoleArn sets the RoleArn field's value.
func (s *CreateClusterInput) SetRoleArn(v string) *CreateClusterInput {
s.RoleArn = &v
return s
}
// SetVersion sets the Version field's value.
func (s *CreateClusterInput) SetVersion(v string) *CreateClusterInput {
s.Version = &v
return s
}
type CreateClusterOutput struct {
_ struct{} `type:"structure"`
// The full description of your new cluster.
Cluster *Cluster `locationName:"cluster" type:"structure"`
}
// String returns the string representation
func (s CreateClusterOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s CreateClusterOutput) GoString() string {
return s.String()
}
// SetCluster sets the Cluster field's value.
func (s *CreateClusterOutput) SetCluster(v *Cluster) *CreateClusterOutput {
s.Cluster = v
return s
}
type DeleteClusterInput struct {
_ struct{} `type:"structure"`
// The name of the cluster to delete.
//
// Name is a required field
Name *string `location:"uri" locationName:"name" type:"string" required:"true"`
}
// String returns the string representation
func (s DeleteClusterInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DeleteClusterInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DeleteClusterInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DeleteClusterInput"}
if s.Name == nil {
invalidParams.Add(request.NewErrParamRequired("Name"))
}
if s.Name != nil && len(*s.Name) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Name", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetName sets the Name field's value.
func (s *DeleteClusterInput) SetName(v string) *DeleteClusterInput {
s.Name = &v
return s
}
type DeleteClusterOutput struct {
_ struct{} `type:"structure"`
// The full description of the cluster to delete.
Cluster *Cluster `locationName:"cluster" type:"structure"`
}
// String returns the string representation
func (s DeleteClusterOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DeleteClusterOutput) GoString() string {
return s.String()
}
// SetCluster sets the Cluster field's value.
func (s *DeleteClusterOutput) SetCluster(v *Cluster) *DeleteClusterOutput {
s.Cluster = v
return s
}
type DescribeClusterInput struct {
_ struct{} `type:"structure"`
// The name of the cluster to describe.
//
// Name is a required field
Name *string `location:"uri" locationName:"name" type:"string" required:"true"`
}
// String returns the string representation
func (s DescribeClusterInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DescribeClusterInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeClusterInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DescribeClusterInput"}
if s.Name == nil {
invalidParams.Add(request.NewErrParamRequired("Name"))
}
if s.Name != nil && len(*s.Name) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Name", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetName sets the Name field's value.
func (s *DescribeClusterInput) SetName(v string) *DescribeClusterInput {
s.Name = &v
return s
}
type DescribeClusterOutput struct {
_ struct{} `type:"structure"`
// The full description of your specified cluster.
Cluster *Cluster `locationName:"cluster" type:"structure"`
}
// String returns the string representation
func (s DescribeClusterOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DescribeClusterOutput) GoString() string {
return s.String()
}
// SetCluster sets the Cluster field's value.
func (s *DescribeClusterOutput) SetCluster(v *Cluster) *DescribeClusterOutput {
s.Cluster = v
return s
}
type DescribeUpdateInput struct {
_ struct{} `type:"structure"`
// The name of the Amazon EKS cluster to update.
//
// Name is a required field
Name *string `location:"uri" locationName:"name" type:"string" required:"true"`
// The ID of the update to describe.
//
// UpdateId is a required field
UpdateId *string `location:"uri" locationName:"updateId" type:"string" required:"true"`
}
// String returns the string representation
func (s DescribeUpdateInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DescribeUpdateInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeUpdateInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DescribeUpdateInput"}
if s.Name == nil {
invalidParams.Add(request.NewErrParamRequired("Name"))
}
if s.Name != nil && len(*s.Name) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Name", 1))
}
if s.UpdateId == nil {
invalidParams.Add(request.NewErrParamRequired("UpdateId"))
}
if s.UpdateId != nil && len(*s.UpdateId) < 1 {
invalidParams.Add(request.NewErrParamMinLen("UpdateId", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetName sets the Name field's value.
func (s *DescribeUpdateInput) SetName(v string) *DescribeUpdateInput {
s.Name = &v
return s
}
// SetUpdateId sets the UpdateId field's value.
func (s *DescribeUpdateInput) SetUpdateId(v string) *DescribeUpdateInput {
s.UpdateId = &v
return s
}
type DescribeUpdateOutput struct {
_ struct{} `type:"structure"`
// The full description of the specified update.
Update *Update `locationName:"update" type:"structure"`
}
// String returns the string representation
func (s DescribeUpdateOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s DescribeUpdateOutput) GoString() string {
return s.String()
}
// SetUpdate sets the Update field's value.
func (s *DescribeUpdateOutput) SetUpdate(v *Update) *DescribeUpdateOutput {
s.Update = v
return s
}
// An object representing an error when an asynchronous operation fails.
type ErrorDetail struct {
_ struct{} `type:"structure"`
// A brief description of the error.
//
// * SubnetNotFound: One of the subnets associated with the cluster could
// not be found.
//
// * SecurityGroupNotFound: One of the security groups associated with the
// cluster could not be found.
//
// * EniLimitReached: You have reached the elastic network interface limit
// for your account.
//
// * IpNotAvailable: A subnet associated with the cluster does not have any
// free IP addresses.
//
// * AccessDenied: You do not have permissions to perform the specified operation.
//
// * OperationNotPermitted: The service role associated with the cluster
// does not have the required access permissions for Amazon EKS.
//
// * VpcIdNotFound: The VPC associated with the cluster could not be found.
ErrorCode *string `locationName:"errorCode" type:"string" enum:"ErrorCode"`
// A more complete description of the error.
ErrorMessage *string `locationName:"errorMessage" type:"string"`
// An optional field that contains the resource IDs associated with the error.
ResourceIds []*string `locationName:"resourceIds" type:"list"`
}
// String returns the string representation
func (s ErrorDetail) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s ErrorDetail) GoString() string {
return s.String()
}
// SetErrorCode sets the ErrorCode field's value.
func (s *ErrorDetail) SetErrorCode(v string) *ErrorDetail {
s.ErrorCode = &v
return s
}
// SetErrorMessage sets the ErrorMessage field's value.
func (s *ErrorDetail) SetErrorMessage(v string) *ErrorDetail {
s.ErrorMessage = &v
return s
}
// SetResourceIds sets the ResourceIds field's value.
func (s *ErrorDetail) SetResourceIds(v []*string) *ErrorDetail {
s.ResourceIds = v
return s
}
type ListClustersInput struct {
_ struct{} `type:"structure"`
// 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"`
}
// String returns the string representation
func (s ListClustersInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s ListClustersInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ListClustersInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ListClustersInput"}
if s.MaxResults != nil && *s.MaxResults < 1 {
invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetMaxResults sets the MaxResults field's value.
func (s *ListClustersInput) SetMaxResults(v int64) *ListClustersInput {
s.MaxResults = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListClustersInput) SetNextToken(v string) *ListClustersInput {
s.NextToken = &v
return s
}
type ListClustersOutput struct {
_ struct{} `type:"structure"`
// 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"`
}
// String returns the string representation
func (s ListClustersOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s ListClustersOutput) GoString() string {
return s.String()
}
// SetClusters sets the Clusters field's value.
func (s *ListClustersOutput) SetClusters(v []*string) *ListClustersOutput {
s.Clusters = v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListClustersOutput) SetNextToken(v string) *ListClustersOutput {
s.NextToken = &v
return s
}
type ListUpdatesInput struct {
_ struct{} `type:"structure"`
// The maximum number of update results returned by ListUpdates in paginated
// output. When this parameter is used, ListUpdates 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 ListUpdates
// request with the returned nextToken value. This value can be between 1 and
// 100. If this parameter is not used, then ListUpdates returns up to 100 results
// and a nextToken value if applicable.
MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
// The name of the Amazon EKS cluster for which to list updates.
//
// Name is a required field
Name *string `location:"uri" locationName:"name" type:"string" required:"true"`
// The nextToken value returned from a previous paginated ListUpdates 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.
NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
}
// String returns the string representation
func (s ListUpdatesInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s ListUpdatesInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ListUpdatesInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ListUpdatesInput"}
if s.MaxResults != nil && *s.MaxResults < 1 {
invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
}
if s.Name == nil {
invalidParams.Add(request.NewErrParamRequired("Name"))
}
if s.Name != nil && len(*s.Name) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Name", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetMaxResults sets the MaxResults field's value.
func (s *ListUpdatesInput) SetMaxResults(v int64) *ListUpdatesInput {
s.MaxResults = &v
return s
}
// SetName sets the Name field's value.
func (s *ListUpdatesInput) SetName(v string) *ListUpdatesInput {
s.Name = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListUpdatesInput) SetNextToken(v string) *ListUpdatesInput {
s.NextToken = &v
return s
}
type ListUpdatesOutput struct {
_ struct{} `type:"structure"`
// The nextToken value to include in a future ListUpdates request. When the
// results of a ListUpdates 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"`
// A list of all the updates for the specified cluster and Region.
UpdateIds []*string `locationName:"updateIds" type:"list"`
}
// String returns the string representation
func (s ListUpdatesOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s ListUpdatesOutput) GoString() string {
return s.String()
}
// SetNextToken sets the NextToken field's value.
func (s *ListUpdatesOutput) SetNextToken(v string) *ListUpdatesOutput {
s.NextToken = &v
return s
}
// SetUpdateIds sets the UpdateIds field's value.
func (s *ListUpdatesOutput) SetUpdateIds(v []*string) *ListUpdatesOutput {
s.UpdateIds = v
return s
}
// An object representing an asynchronous update.
type Update struct {
_ struct{} `type:"structure"`
// The Unix epoch timestamp in seconds for when the update was created.
CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
// Any errors associated with a Failed update.
Errors []*ErrorDetail `locationName:"errors" type:"list"`
// A UUID that is used to track the update.
Id *string `locationName:"id" type:"string"`
// A key-value map that contains the parameters associated with the update.
Params []*UpdateParam `locationName:"params" type:"list"`
// The current status of the update.
Status *string `locationName:"status" type:"string" enum:"UpdateStatus"`
// The type of the update.
Type *string `locationName:"type" type:"string" enum:"UpdateType"`
}
// String returns the string representation
func (s Update) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s Update) GoString() string {
return s.String()
}
// SetCreatedAt sets the CreatedAt field's value.
func (s *Update) SetCreatedAt(v time.Time) *Update {
s.CreatedAt = &v
return s
}
// SetErrors sets the Errors field's value.
func (s *Update) SetErrors(v []*ErrorDetail) *Update {
s.Errors = v
return s
}
// SetId sets the Id field's value.
func (s *Update) SetId(v string) *Update {
s.Id = &v
return s
}
// SetParams sets the Params field's value.
func (s *Update) SetParams(v []*UpdateParam) *Update {
s.Params = v
return s
}
// SetStatus sets the Status field's value.
func (s *Update) SetStatus(v string) *Update {
s.Status = &v
return s
}
// SetType sets the Type field's value.
func (s *Update) SetType(v string) *Update {
s.Type = &v
return s
}
type UpdateClusterVersionInput struct {
_ struct{} `type:"structure"`
// Unique, case-sensitive identifier that you provide to ensure the idempotency
// of the request.
ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"`
// The name of the Amazon EKS cluster to update.
//
// Name is a required field
Name *string `location:"uri" locationName:"name" type:"string" required:"true"`
// The desired Kubernetes version following a successful update.
//
// Version is a required field
Version *string `locationName:"version" type:"string" required:"true"`
}
// String returns the string representation
func (s UpdateClusterVersionInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s UpdateClusterVersionInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *UpdateClusterVersionInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "UpdateClusterVersionInput"}
if s.Name == nil {
invalidParams.Add(request.NewErrParamRequired("Name"))
}
if s.Name != nil && len(*s.Name) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Name", 1))
}
if s.Version == nil {
invalidParams.Add(request.NewErrParamRequired("Version"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetClientRequestToken sets the ClientRequestToken field's value.
func (s *UpdateClusterVersionInput) SetClientRequestToken(v string) *UpdateClusterVersionInput {
s.ClientRequestToken = &v
return s
}
// SetName sets the Name field's value.
func (s *UpdateClusterVersionInput) SetName(v string) *UpdateClusterVersionInput {
s.Name = &v
return s
}
// SetVersion sets the Version field's value.
func (s *UpdateClusterVersionInput) SetVersion(v string) *UpdateClusterVersionInput {
s.Version = &v
return s
}
type UpdateClusterVersionOutput struct {
_ struct{} `type:"structure"`
// The full description of the specified update
Update *Update `locationName:"update" type:"structure"`
}
// String returns the string representation
func (s UpdateClusterVersionOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s UpdateClusterVersionOutput) GoString() string {
return s.String()
}
// SetUpdate sets the Update field's value.
func (s *UpdateClusterVersionOutput) SetUpdate(v *Update) *UpdateClusterVersionOutput {
s.Update = v
return s
}
// An object representing the details of an update request.
type UpdateParam struct {
_ struct{} `type:"structure"`
// The keys associated with an update request.
Type *string `locationName:"type" type:"string" enum:"UpdateParamType"`
// The value of the keys submitted as part of an update request.
Value *string `locationName:"value" type:"string"`
}
// String returns the string representation
func (s UpdateParam) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s UpdateParam) GoString() string {
return s.String()
}
// SetType sets the Type field's value.
func (s *UpdateParam) SetType(v string) *UpdateParam {
s.Type = &v
return s
}
// SetValue sets the Value field's value.
func (s *UpdateParam) SetValue(v string) *UpdateParam {
s.Value = &v
return s
}
// An object representing an Amazon EKS cluster VPC configuration request.
type VpcConfigRequest struct {
_ struct{} `type:"structure"`
// 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. If you do not specify
// a security group, the default security group for your VPC is used.
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"`
}
// String returns the string representation
func (s VpcConfigRequest) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s VpcConfigRequest) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *VpcConfigRequest) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "VpcConfigRequest"}
if s.SubnetIds == nil {
invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetSecurityGroupIds sets the SecurityGroupIds field's value.
func (s *VpcConfigRequest) SetSecurityGroupIds(v []*string) *VpcConfigRequest {
s.SecurityGroupIds = v
return s
}
// SetSubnetIds sets the SubnetIds field's value.
func (s *VpcConfigRequest) SetSubnetIds(v []*string) *VpcConfigRequest {
s.SubnetIds = v
return s
}
// An object representing an Amazon EKS cluster VPC configuration response.
type VpcConfigResponse struct {
_ struct{} `type:"structure"`
// 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"`
}
// String returns the string representation
func (s VpcConfigResponse) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation
func (s VpcConfigResponse) GoString() string {
return s.String()
}
// SetSecurityGroupIds sets the SecurityGroupIds field's value.
func (s *VpcConfigResponse) SetSecurityGroupIds(v []*string) *VpcConfigResponse {
s.SecurityGroupIds = v
return s
}
// SetSubnetIds sets the SubnetIds field's value.
func (s *VpcConfigResponse) SetSubnetIds(v []*string) *VpcConfigResponse {
s.SubnetIds = v
return s
}
// SetVpcId sets the VpcId field's value.
func (s *VpcConfigResponse) SetVpcId(v string) *VpcConfigResponse {
s.VpcId = &v
return s
}
const (
// ClusterStatusCreating is a ClusterStatus enum value
ClusterStatusCreating = "CREATING"
// ClusterStatusActive is a ClusterStatus enum value
ClusterStatusActive = "ACTIVE"
// ClusterStatusDeleting is a ClusterStatus enum value
ClusterStatusDeleting = "DELETING"
// ClusterStatusFailed is a ClusterStatus enum value
ClusterStatusFailed = "FAILED"
)
const (
// ErrorCodeSubnetNotFound is a ErrorCode enum value
ErrorCodeSubnetNotFound = "SubnetNotFound"
// ErrorCodeSecurityGroupNotFound is a ErrorCode enum value
ErrorCodeSecurityGroupNotFound = "SecurityGroupNotFound"
// ErrorCodeEniLimitReached is a ErrorCode enum value
ErrorCodeEniLimitReached = "EniLimitReached"
// ErrorCodeIpNotAvailable is a ErrorCode enum value
ErrorCodeIpNotAvailable = "IpNotAvailable"
// ErrorCodeAccessDenied is a ErrorCode enum value
ErrorCodeAccessDenied = "AccessDenied"
// ErrorCodeOperationNotPermitted is a ErrorCode enum value
ErrorCodeOperationNotPermitted = "OperationNotPermitted"
// ErrorCodeVpcIdNotFound is a ErrorCode enum value
ErrorCodeVpcIdNotFound = "VpcIdNotFound"
// ErrorCodeUnknown is a ErrorCode enum value
ErrorCodeUnknown = "Unknown"
)
const (
// UpdateParamTypeVersion is a UpdateParamType enum value
UpdateParamTypeVersion = "Version"
// UpdateParamTypePlatformVersion is a UpdateParamType enum value
UpdateParamTypePlatformVersion = "PlatformVersion"
)
const (
// UpdateStatusInProgress is a UpdateStatus enum value
UpdateStatusInProgress = "InProgress"
// UpdateStatusFailed is a UpdateStatus enum value
UpdateStatusFailed = "Failed"
// UpdateStatusCancelled is a UpdateStatus enum value
UpdateStatusCancelled = "Cancelled"
// UpdateStatusSuccessful is a UpdateStatus enum value
UpdateStatusSuccessful = "Successful"
)
const (
// UpdateTypeVersionUpdate is a UpdateType enum value
UpdateTypeVersionUpdate = "VersionUpdate"
)