# WARNING ABOUT GENERATED CODE
#
# This file is generated. See the contributing guide for more information:
# https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
#
# WARNING ABOUT GENERATED CODE
module Aws::EKS
module Types
# An object representing the `certificate-authority-data` for your
# cluster.
#
# @!attribute [rw] data
# 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.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/Certificate AWS API Documentation
#
class Certificate < Struct.new(
:data)
include Aws::Structure
end
# An object representing an Amazon EKS cluster.
#
# @!attribute [rw] name
# The name of the cluster.
# @return [String]
#
# @!attribute [rw] arn
# The Amazon Resource Name (ARN) of the cluster.
# @return [String]
#
# @!attribute [rw] created_at
# The Unix epoch timestamp in seconds for when the cluster was
# created.
# @return [Time]
#
# @!attribute [rw] version
# The Kubernetes server version for the cluster.
# @return [String]
#
# @!attribute [rw] endpoint
# The endpoint for your Kubernetes API server.
# @return [String]
#
# @!attribute [rw] role_arn
# 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.
# @return [String]
#
# @!attribute [rw] resources_vpc_config
# The VPC configuration 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][1] and [Cluster Security Group Considerations][2] in
# the *Amazon EKS User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html
# [2]: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
# @return [Types::VpcConfigResponse]
#
# @!attribute [rw] logging
# The logging configuration for your cluster.
# @return [Types::Logging]
#
# @!attribute [rw] status
# The current status of the cluster.
# @return [String]
#
# @!attribute [rw] certificate_authority
# The `certificate-authority-data` for your cluster.
# @return [Types::Certificate]
#
# @!attribute [rw] client_request_token
# Unique, case-sensitive identifier that you provide to ensure the
# idempotency of the request.
# @return [String]
#
# @!attribute [rw] platform_version
# The platform version of your Amazon EKS cluster. For more
# information, see [Platform Versions][1] in the Amazon EKS
# User Guide .
#
#
#
# [1]: https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/Cluster AWS API Documentation
#
class Cluster < Struct.new(
:name,
:arn,
:created_at,
:version,
:endpoint,
:role_arn,
:resources_vpc_config,
:logging,
:status,
:certificate_authority,
:client_request_token,
:platform_version)
include Aws::Structure
end
# @note When making an API call, you may pass CreateClusterRequest
# data as a hash:
#
# {
# name: "ClusterName", # required
# version: "String",
# role_arn: "String", # required
# resources_vpc_config: { # required
# subnet_ids: ["String"],
# security_group_ids: ["String"],
# endpoint_public_access: false,
# endpoint_private_access: false,
# },
# logging: {
# cluster_logging: [
# {
# types: ["api"], # accepts api, audit, authenticator, controllerManager, scheduler
# enabled: false,
# },
# ],
# },
# client_request_token: "String",
# }
#
# @!attribute [rw] name
# The unique name to give to your cluster.
# @return [String]
#
# @!attribute [rw] version
# The desired Kubernetes version for your cluster. If you do not
# specify a value here, the latest version available in Amazon EKS is
# used.
# @return [String]
#
# @!attribute [rw] role_arn
# 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][1] in the Amazon EKS User Guide .
#
#
#
# [1]: https://docs.aws.amazon.com/eks/latest/userguide/service_IAM_role.html
# @return [String]
#
# @!attribute [rw] resources_vpc_config
# The VPC configuration 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][1] and [Cluster Security Group Considerations][2] 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.
#
#
#
# [1]: https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html
# [2]: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
# @return [Types::VpcConfigRequest]
#
# @!attribute [rw] logging
# Enable or disable exporting the Kubernetes control plane logs for
# your cluster to CloudWatch Logs. By default, cluster control plane
# logs are not exported to CloudWatch Logs. For more information, see
# [Amazon EKS Cluster Control Plane Logs][1] in the Amazon EKS
# User Guide .
#
# CloudWatch Logs ingestion, archive storage, and data scanning rates
# apply to exported control plane logs. For more information, see
# [Amazon CloudWatch Pricing][2].
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html
# [2]: http://aws.amazon.com/cloudwatch/pricing/
# @return [Types::Logging]
#
# @!attribute [rw] client_request_token
# Unique, case-sensitive identifier that you provide to ensure the
# idempotency of the request.
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateClusterRequest AWS API Documentation
#
class CreateClusterRequest < Struct.new(
:name,
:version,
:role_arn,
:resources_vpc_config,
:logging,
:client_request_token)
include Aws::Structure
end
# @!attribute [rw] cluster
# The full description of your new cluster.
# @return [Types::Cluster]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateClusterResponse AWS API Documentation
#
class CreateClusterResponse < Struct.new(
:cluster)
include Aws::Structure
end
# @note When making an API call, you may pass DeleteClusterRequest
# data as a hash:
#
# {
# name: "String", # required
# }
#
# @!attribute [rw] name
# The name of the cluster to delete.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteClusterRequest AWS API Documentation
#
class DeleteClusterRequest < Struct.new(
:name)
include Aws::Structure
end
# @!attribute [rw] cluster
# The full description of the cluster to delete.
# @return [Types::Cluster]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteClusterResponse AWS API Documentation
#
class DeleteClusterResponse < Struct.new(
:cluster)
include Aws::Structure
end
# @note When making an API call, you may pass DescribeClusterRequest
# data as a hash:
#
# {
# name: "String", # required
# }
#
# @!attribute [rw] name
# The name of the cluster to describe.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeClusterRequest AWS API Documentation
#
class DescribeClusterRequest < Struct.new(
:name)
include Aws::Structure
end
# @!attribute [rw] cluster
# The full description of your specified cluster.
# @return [Types::Cluster]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeClusterResponse AWS API Documentation
#
class DescribeClusterResponse < Struct.new(
:cluster)
include Aws::Structure
end
# @note When making an API call, you may pass DescribeUpdateRequest
# data as a hash:
#
# {
# name: "String", # required
# update_id: "String", # required
# }
#
# @!attribute [rw] name
# The name of the Amazon EKS cluster to update.
# @return [String]
#
# @!attribute [rw] update_id
# The ID of the update to describe.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeUpdateRequest AWS API Documentation
#
class DescribeUpdateRequest < Struct.new(
:name,
:update_id)
include Aws::Structure
end
# @!attribute [rw] update
# The full description of the specified update.
# @return [Types::Update]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeUpdateResponse AWS API Documentation
#
class DescribeUpdateResponse < Struct.new(
:update)
include Aws::Structure
end
# An object representing an error when an asynchronous operation fails.
#
# @!attribute [rw] error_code
# 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.
# @return [String]
#
# @!attribute [rw] error_message
# A more complete description of the error.
# @return [String]
#
# @!attribute [rw] resource_ids
# An optional field that contains the resource IDs associated with the
# error.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ErrorDetail AWS API Documentation
#
class ErrorDetail < Struct.new(
:error_code,
:error_message,
:resource_ids)
include Aws::Structure
end
# @note When making an API call, you may pass ListClustersRequest
# data as a hash:
#
# {
# max_results: 1,
# next_token: "String",
# }
#
# @!attribute [rw] max_results
# 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.
# @return [Integer]
#
# @!attribute [rw] next_token
# 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.
#
#
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListClustersRequest AWS API Documentation
#
class ListClustersRequest < Struct.new(
:max_results,
:next_token)
include Aws::Structure
end
# @!attribute [rw] clusters
# A list of all of the clusters for your account in the specified
# Region.
# @return [Array]
#
# @!attribute [rw] next_token
# 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.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListClustersResponse AWS API Documentation
#
class ListClustersResponse < Struct.new(
:clusters,
:next_token)
include Aws::Structure
end
# @note When making an API call, you may pass ListUpdatesRequest
# data as a hash:
#
# {
# name: "String", # required
# next_token: "String",
# max_results: 1,
# }
#
# @!attribute [rw] name
# The name of the Amazon EKS cluster for which to list updates.
# @return [String]
#
# @!attribute [rw] next_token
# 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.
# @return [String]
#
# @!attribute [rw] max_results
# 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.
# @return [Integer]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListUpdatesRequest AWS API Documentation
#
class ListUpdatesRequest < Struct.new(
:name,
:next_token,
:max_results)
include Aws::Structure
end
# @!attribute [rw] update_ids
# A list of all the updates for the specified cluster and Region.
# @return [Array]
#
# @!attribute [rw] next_token
# 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.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListUpdatesResponse AWS API Documentation
#
class ListUpdatesResponse < Struct.new(
:update_ids,
:next_token)
include Aws::Structure
end
# An object representing the enabled or disabled Kubernetes control
# plane logs for your cluster.
#
# @note When making an API call, you may pass LogSetup
# data as a hash:
#
# {
# types: ["api"], # accepts api, audit, authenticator, controllerManager, scheduler
# enabled: false,
# }
#
# @!attribute [rw] types
# The available cluster control plane log types.
# @return [Array]
#
# @!attribute [rw] enabled
# If a log type is enabled, then that log type exports its control
# plane logs to CloudWatch Logs. If a log type is not enabled, then
# that log type does not export its control plane logs. Each
# individual log type can be enabled or disabled independently.
# @return [Boolean]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/LogSetup AWS API Documentation
#
class LogSetup < Struct.new(
:types,
:enabled)
include Aws::Structure
end
# An object representing the logging configuration for resources in your
# cluster.
#
# @note When making an API call, you may pass Logging
# data as a hash:
#
# {
# cluster_logging: [
# {
# types: ["api"], # accepts api, audit, authenticator, controllerManager, scheduler
# enabled: false,
# },
# ],
# }
#
# @!attribute [rw] cluster_logging
# The cluster control plane logging configuration for your cluster.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/Logging AWS API Documentation
#
class Logging < Struct.new(
:cluster_logging)
include Aws::Structure
end
# An object representing an asynchronous update.
#
# @!attribute [rw] id
# A UUID that is used to track the update.
# @return [String]
#
# @!attribute [rw] status
# The current status of the update.
# @return [String]
#
# @!attribute [rw] type
# The type of the update.
# @return [String]
#
# @!attribute [rw] params
# A key-value map that contains the parameters associated with the
# update.
# @return [Array]
#
# @!attribute [rw] created_at
# The Unix epoch timestamp in seconds for when the update was created.
# @return [Time]
#
# @!attribute [rw] errors
# Any errors associated with a `Failed` update.
# @return [Array]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/Update AWS API Documentation
#
class Update < Struct.new(
:id,
:status,
:type,
:params,
:created_at,
:errors)
include Aws::Structure
end
# @note When making an API call, you may pass UpdateClusterConfigRequest
# data as a hash:
#
# {
# name: "String", # required
# resources_vpc_config: {
# subnet_ids: ["String"],
# security_group_ids: ["String"],
# endpoint_public_access: false,
# endpoint_private_access: false,
# },
# logging: {
# cluster_logging: [
# {
# types: ["api"], # accepts api, audit, authenticator, controllerManager, scheduler
# enabled: false,
# },
# ],
# },
# client_request_token: "String",
# }
#
# @!attribute [rw] name
# The name of the Amazon EKS cluster to update.
# @return [String]
#
# @!attribute [rw] resources_vpc_config
# An object representing the VPC configuration to use for an Amazon
# EKS cluster.
# @return [Types::VpcConfigRequest]
#
# @!attribute [rw] logging
# Enable or disable exporting the Kubernetes control plane logs for
# your cluster to CloudWatch Logs. By default, cluster control plane
# logs are not exported to CloudWatch Logs. For more information, see
# [Amazon EKS Cluster Control Plane Logs][1] in the Amazon EKS
# User Guide .
#
# CloudWatch Logs ingestion, archive storage, and data scanning rates
# apply to exported control plane logs. For more information, see
# [Amazon CloudWatch Pricing][2].
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html
# [2]: http://aws.amazon.com/cloudwatch/pricing/
# @return [Types::Logging]
#
# @!attribute [rw] client_request_token
# Unique, case-sensitive identifier that you provide to ensure the
# idempotency of the request.
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateClusterConfigRequest AWS API Documentation
#
class UpdateClusterConfigRequest < Struct.new(
:name,
:resources_vpc_config,
:logging,
:client_request_token)
include Aws::Structure
end
# @!attribute [rw] update
# An object representing an asynchronous update.
# @return [Types::Update]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateClusterConfigResponse AWS API Documentation
#
class UpdateClusterConfigResponse < Struct.new(
:update)
include Aws::Structure
end
# @note When making an API call, you may pass UpdateClusterVersionRequest
# data as a hash:
#
# {
# name: "String", # required
# version: "String", # required
# client_request_token: "String",
# }
#
# @!attribute [rw] name
# The name of the Amazon EKS cluster to update.
# @return [String]
#
# @!attribute [rw] version
# The desired Kubernetes version following a successful update.
# @return [String]
#
# @!attribute [rw] client_request_token
# Unique, case-sensitive identifier that you provide to ensure the
# idempotency of the request.
#
# **A suitable default value is auto-generated.** You should normally
# not need to pass this option.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateClusterVersionRequest AWS API Documentation
#
class UpdateClusterVersionRequest < Struct.new(
:name,
:version,
:client_request_token)
include Aws::Structure
end
# @!attribute [rw] update
# The full description of the specified update
# @return [Types::Update]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateClusterVersionResponse AWS API Documentation
#
class UpdateClusterVersionResponse < Struct.new(
:update)
include Aws::Structure
end
# An object representing the details of an update request.
#
# @!attribute [rw] type
# The keys associated with an update request.
# @return [String]
#
# @!attribute [rw] value
# The value of the keys submitted as part of an update request.
# @return [String]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateParam AWS API Documentation
#
class UpdateParam < Struct.new(
:type,
:value)
include Aws::Structure
end
# An object representing the VPC configuration to use for an Amazon EKS
# cluster.
#
# @note When making an API call, you may pass VpcConfigRequest
# data as a hash:
#
# {
# subnet_ids: ["String"],
# security_group_ids: ["String"],
# endpoint_public_access: false,
# endpoint_private_access: false,
# }
#
# @!attribute [rw] subnet_ids
# 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.
# @return [Array]
#
# @!attribute [rw] security_group_ids
# 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.
# @return [Array]
#
# @!attribute [rw] endpoint_public_access
# Set this value to `false` to disable public access for your
# cluster's Kubernetes API server endpoint. If you disable public
# access, your cluster's Kubernetes API server can only receive
# requests from within the cluster VPC. The default value for this
# parameter is `true`, which enables public access for your Kubernetes
# API server. For more information, see [Amazon EKS Cluster Endpoint
# Access Control][1] in the Amazon EKS User Guide .
#
#
#
# [1]: https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html
# @return [Boolean]
#
# @!attribute [rw] endpoint_private_access
# Set this value to `true` to enable private access for your
# cluster's Kubernetes API server endpoint. If you enable private
# access, Kubernetes API requests from within your cluster's VPC will
# use the private VPC endpoint. The default value for this parameter
# is `false`, which disables private access for your Kubernetes API
# server. For more information, see [Amazon EKS Cluster Endpoint
# Access Control][1] in the Amazon EKS User Guide .
#
#
#
# [1]: https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html
# @return [Boolean]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/VpcConfigRequest AWS API Documentation
#
class VpcConfigRequest < Struct.new(
:subnet_ids,
:security_group_ids,
:endpoint_public_access,
:endpoint_private_access)
include Aws::Structure
end
# An object representing an Amazon EKS cluster VPC configuration
# response.
#
# @!attribute [rw] subnet_ids
# The subnets associated with your cluster.
# @return [Array]
#
# @!attribute [rw] security_group_ids
# 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.
# @return [Array]
#
# @!attribute [rw] vpc_id
# The VPC associated with your cluster.
# @return [String]
#
# @!attribute [rw] endpoint_public_access
# This parameter indicates whether the Amazon EKS public API server
# endpoint is enabled. If the Amazon EKS public API server endpoint is
# disabled, your cluster's Kubernetes API server can only receive
# requests that originate from within the cluster VPC.
# @return [Boolean]
#
# @!attribute [rw] endpoint_private_access
# This parameter indicates whether the Amazon EKS private API server
# endpoint is enabled. If the Amazon EKS private API server endpoint
# is enabled, Kubernetes API requests that originate from within your
# cluster's VPC will use the private VPC endpoint instead of
# traversing the internet.
# @return [Boolean]
#
# @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/VpcConfigResponse AWS API Documentation
#
class VpcConfigResponse < Struct.new(
:subnet_ids,
:security_group_ids,
:vpc_id,
:endpoint_public_access,
:endpoint_private_access)
include Aws::Structure
end
end
end