# 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 Auto Scaling group that is associated with an Amazon EKS managed # node group. # # @!attribute [rw] name # The name of the Auto Scaling group associated with an Amazon EKS # managed node group. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/AutoScalingGroup AWS API Documentation # class AutoScalingGroup < Struct.new( :name) include Aws::Structure end # This exception is thrown if the request contains a semantic error. The # precise meaning will depend on the API, and will be documented in the # error message. # # @!attribute [rw] message # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/BadRequestException AWS API Documentation # class BadRequestException < Struct.new( :message) include Aws::Structure end # 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 # 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. # # @!attribute [rw] cluster_name # The Amazon EKS cluster associated with the exception. # @return [String] # # @!attribute [rw] nodegroup_name # The Amazon EKS managed node group associated with the exception. # @return [String] # # @!attribute [rw] message # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ClientException AWS API Documentation # class ClientException < Struct.new( :cluster_name, :nodegroup_name, :message) 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] identity # The identity provider information for the cluster. # @return [Types::Identity] # # @!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] # # @!attribute [rw] tags # The metadata that you apply to the cluster to assist with # categorization and organization. Each tag consists of a key and an # optional value, both of which you define. Cluster tags do not # propagate to any other resources associated with the cluster. # @return [Hash] # # @!attribute [rw] encryption_config # The encryption configuration for the cluster. # @return [Array] # # @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, :identity, :status, :certificate_authority, :client_request_token, :platform_version, :tags, :encryption_config) 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, # public_access_cidrs: ["String"], # }, # logging: { # cluster_logging: [ # { # types: ["api"], # accepts api, audit, authenticator, controllerManager, scheduler # enabled: false, # }, # ], # }, # client_request_token: "String", # tags: { # "TagKey" => "TagValue", # }, # encryption_config: [ # { # resources: ["String"], # provider: { # key_arn: "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 don't # 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 can 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 aren't 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] # # @!attribute [rw] tags # The metadata to apply to the cluster to assist with categorization # and organization. Each tag consists of a key and an optional value, # both of which you define. # @return [Hash] # # @!attribute [rw] encryption_config # The encryption configuration for the cluster. # @return [Array] # # @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, :tags, :encryption_config) 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 CreateFargateProfileRequest # data as a hash: # # { # fargate_profile_name: "String", # required # cluster_name: "String", # required # pod_execution_role_arn: "String", # required # subnets: ["String"], # selectors: [ # { # namespace: "String", # labels: { # "String" => "String", # }, # }, # ], # client_request_token: "String", # tags: { # "TagKey" => "TagValue", # }, # } # # @!attribute [rw] fargate_profile_name # The name of the Fargate profile. # @return [String] # # @!attribute [rw] cluster_name # The name of the Amazon EKS cluster to apply the Fargate profile to. # @return [String] # # @!attribute [rw] pod_execution_role_arn # The Amazon Resource Name (ARN) of the pod execution role to use for # pods that match the selectors in the Fargate profile. The pod # execution role allows Fargate infrastructure to register with your # cluster as a node, and it provides read access to Amazon ECR image # repositories. For more information, see [Pod Execution Role][1] in # the *Amazon EKS User Guide*. # # # # [1]: https://docs.aws.amazon.com/eks/latest/userguide/pod-execution-role.html # @return [String] # # @!attribute [rw] subnets # The IDs of subnets to launch your pods into. At this time, pods # running on Fargate are not assigned public IP addresses, so only # private subnets (with no direct route to an Internet Gateway) are # accepted for this parameter. # @return [Array] # # @!attribute [rw] selectors # The selectors to match for pods to use this Fargate profile. Each # selector must have an associated namespace. Optionally, you can also # specify labels for a namespace. You may specify up to five selectors # in a Fargate profile. # @return [Array] # # @!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] # # @!attribute [rw] tags # The metadata to apply to the Fargate profile to assist with # categorization and organization. Each tag consists of a key and an # optional value, both of which you define. Fargate profile tags do # not propagate to any other resources associated with the Fargate # profile, such as the pods that are scheduled with it. # @return [Hash] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateFargateProfileRequest AWS API Documentation # class CreateFargateProfileRequest < Struct.new( :fargate_profile_name, :cluster_name, :pod_execution_role_arn, :subnets, :selectors, :client_request_token, :tags) include Aws::Structure end # @!attribute [rw] fargate_profile # The full description of your new Fargate profile. # @return [Types::FargateProfile] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateFargateProfileResponse AWS API Documentation # class CreateFargateProfileResponse < Struct.new( :fargate_profile) include Aws::Structure end # @note When making an API call, you may pass CreateNodegroupRequest # data as a hash: # # { # cluster_name: "String", # required # nodegroup_name: "String", # required # scaling_config: { # min_size: 1, # max_size: 1, # desired_size: 1, # }, # disk_size: 1, # subnets: ["String"], # required # instance_types: ["String"], # ami_type: "AL2_x86_64", # accepts AL2_x86_64, AL2_x86_64_GPU # remote_access: { # ec2_ssh_key: "String", # source_security_groups: ["String"], # }, # node_role: "String", # required # labels: { # "labelKey" => "labelValue", # }, # tags: { # "TagKey" => "TagValue", # }, # client_request_token: "String", # version: "String", # release_version: "String", # } # # @!attribute [rw] cluster_name # The name of the cluster to create the node group in. # @return [String] # # @!attribute [rw] nodegroup_name # The unique name to give your node group. # @return [String] # # @!attribute [rw] scaling_config # The scaling configuration details for the Auto Scaling group that is # created for your node group. # @return [Types::NodegroupScalingConfig] # # @!attribute [rw] disk_size # The root device disk size (in GiB) for your node group instances. # The default disk size is 20 GiB. # @return [Integer] # # @!attribute [rw] subnets # The subnets to use for the Auto Scaling group that is created for # your node group. These subnets must have the tag key # `kubernetes.io/cluster/CLUSTER_NAME` with a value of `shared`, where # `CLUSTER_NAME` is replaced with the name of your cluster. # @return [Array] # # @!attribute [rw] instance_types # The instance type to use for your node group. Currently, you can # specify a single instance type for a node group. The default value # for this parameter is `t3.medium`. If you choose a GPU instance # type, be sure to specify the `AL2_x86_64_GPU` with the `amiType` # parameter. # @return [Array] # # @!attribute [rw] ami_type # The AMI type for your node group. GPU instance types should use the # `AL2_x86_64_GPU` AMI type, which uses the Amazon EKS-optimized Linux # AMI with GPU support. Non-GPU instances should use the `AL2_x86_64` # AMI type, which uses the Amazon EKS-optimized Linux AMI. # @return [String] # # @!attribute [rw] remote_access # The remote access (SSH) configuration to use with your node group. # @return [Types::RemoteAccessConfig] # # @!attribute [rw] node_role # The IAM role associated with your node group. The Amazon EKS worker # node `kubelet` daemon makes calls to AWS APIs on your behalf. Worker # nodes receive permissions for these API calls through an IAM # instance profile and associated policies. Before you can launch # worker nodes and register them into a cluster, you must create an # IAM role for those worker nodes to use when they are launched. For # more information, see [Amazon EKS Worker Node IAM Role][1] in the # Amazon EKS User Guide . # # # # [1]: https://docs.aws.amazon.com/eks/latest/userguide/worker_node_IAM_role.html # @return [String] # # @!attribute [rw] labels # The Kubernetes labels to be applied to the nodes in the node group # when they are created. # @return [Hash] # # @!attribute [rw] tags # The metadata to apply to the node group to assist with # categorization and organization. Each tag consists of a key and an # optional value, both of which you define. Node group tags do not # propagate to any other resources associated with the node group, # such as the Amazon EC2 instances or subnets. # @return [Hash] # # @!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] # # @!attribute [rw] version # The Kubernetes version to use for your managed nodes. By default, # the Kubernetes version of the cluster is used, and this is the only # accepted specified value. # @return [String] # # @!attribute [rw] release_version # The AMI version of the Amazon EKS-optimized AMI to use with your # node group. By default, the latest available AMI version for the # node group's current Kubernetes version is used. For more # information, see [Amazon EKS-Optimized Linux AMI Versions][1] in the # *Amazon EKS User Guide*. # # # # [1]: https://docs.aws.amazon.com/eks/latest/userguide/eks-linux-ami-versions.html # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateNodegroupRequest AWS API Documentation # class CreateNodegroupRequest < Struct.new( :cluster_name, :nodegroup_name, :scaling_config, :disk_size, :subnets, :instance_types, :ami_type, :remote_access, :node_role, :labels, :tags, :client_request_token, :version, :release_version) include Aws::Structure end # @!attribute [rw] nodegroup # The full description of your new node group. # @return [Types::Nodegroup] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateNodegroupResponse AWS API Documentation # class CreateNodegroupResponse < Struct.new( :nodegroup) 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 DeleteFargateProfileRequest # data as a hash: # # { # cluster_name: "String", # required # fargate_profile_name: "String", # required # } # # @!attribute [rw] cluster_name # The name of the Amazon EKS cluster associated with the Fargate # profile to delete. # @return [String] # # @!attribute [rw] fargate_profile_name # The name of the Fargate profile to delete. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteFargateProfileRequest AWS API Documentation # class DeleteFargateProfileRequest < Struct.new( :cluster_name, :fargate_profile_name) include Aws::Structure end # @!attribute [rw] fargate_profile # The deleted Fargate profile. # @return [Types::FargateProfile] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteFargateProfileResponse AWS API Documentation # class DeleteFargateProfileResponse < Struct.new( :fargate_profile) include Aws::Structure end # @note When making an API call, you may pass DeleteNodegroupRequest # data as a hash: # # { # cluster_name: "String", # required # nodegroup_name: "String", # required # } # # @!attribute [rw] cluster_name # The name of the Amazon EKS cluster that is associated with your node # group. # @return [String] # # @!attribute [rw] nodegroup_name # The name of the node group to delete. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteNodegroupRequest AWS API Documentation # class DeleteNodegroupRequest < Struct.new( :cluster_name, :nodegroup_name) include Aws::Structure end # @!attribute [rw] nodegroup # The full description of your deleted node group. # @return [Types::Nodegroup] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteNodegroupResponse AWS API Documentation # class DeleteNodegroupResponse < Struct.new( :nodegroup) 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 DescribeFargateProfileRequest # data as a hash: # # { # cluster_name: "String", # required # fargate_profile_name: "String", # required # } # # @!attribute [rw] cluster_name # The name of the Amazon EKS cluster associated with the Fargate # profile. # @return [String] # # @!attribute [rw] fargate_profile_name # The name of the Fargate profile to describe. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeFargateProfileRequest AWS API Documentation # class DescribeFargateProfileRequest < Struct.new( :cluster_name, :fargate_profile_name) include Aws::Structure end # @!attribute [rw] fargate_profile # The full description of your Fargate profile. # @return [Types::FargateProfile] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeFargateProfileResponse AWS API Documentation # class DescribeFargateProfileResponse < Struct.new( :fargate_profile) include Aws::Structure end # @note When making an API call, you may pass DescribeNodegroupRequest # data as a hash: # # { # cluster_name: "String", # required # nodegroup_name: "String", # required # } # # @!attribute [rw] cluster_name # The name of the Amazon EKS cluster associated with the node group. # @return [String] # # @!attribute [rw] nodegroup_name # The name of the node group to describe. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeNodegroupRequest AWS API Documentation # class DescribeNodegroupRequest < Struct.new( :cluster_name, :nodegroup_name) include Aws::Structure end # @!attribute [rw] nodegroup # The full description of your node group. # @return [Types::Nodegroup] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeNodegroupResponse AWS API Documentation # class DescribeNodegroupResponse < Struct.new( :nodegroup) 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 # nodegroup_name: "String", # } # # @!attribute [rw] name # The name of the Amazon EKS cluster associated with the update. # @return [String] # # @!attribute [rw] update_id # The ID of the update to describe. # @return [String] # # @!attribute [rw] nodegroup_name # The name of the Amazon EKS node group associated with the update. # @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, :nodegroup_name) 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 # The encryption configuration for the cluster. # # @note When making an API call, you may pass EncryptionConfig # data as a hash: # # { # resources: ["String"], # provider: { # key_arn: "String", # }, # } # # @!attribute [rw] resources # Specifies the resources to be encrypted. The only supported value is # "secrets". # @return [Array] # # @!attribute [rw] provider # AWS Key Management Service (AWS KMS) customer master key (CMK). # Either the ARN or the alias can be used. # @return [Types::Provider] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/EncryptionConfig AWS API Documentation # class EncryptionConfig < Struct.new( :resources, :provider) 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**\: We couldn't find one of the subnets # associated with the cluster. # # * **SecurityGroupNotFound**\: We couldn't find one of the security # groups associated with the cluster. # # * **EniLimitReached**\: You have reached the elastic network # interface limit for your account. # # * **IpNotAvailable**\: A subnet associated with the cluster doesn't # have any free IP addresses. # # * **AccessDenied**\: You don't have permissions to perform the # specified operation. # # * **OperationNotPermitted**\: The service role associated with the # cluster doesn't have the required access permissions for Amazon # EKS. # # * **VpcIdNotFound**\: We couldn't find the VPC associated with the # cluster. # @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 # An object representing an AWS Fargate profile. # # @!attribute [rw] fargate_profile_name # The name of the Fargate profile. # @return [String] # # @!attribute [rw] fargate_profile_arn # The full Amazon Resource Name (ARN) of the Fargate profile. # @return [String] # # @!attribute [rw] cluster_name # The name of the Amazon EKS cluster that the Fargate profile belongs # to. # @return [String] # # @!attribute [rw] created_at # The Unix epoch timestamp in seconds for when the Fargate profile was # created. # @return [Time] # # @!attribute [rw] pod_execution_role_arn # The Amazon Resource Name (ARN) of the pod execution role to use for # pods that match the selectors in the Fargate profile. For more # information, see [Pod Execution Role][1] in the *Amazon EKS User # Guide*. # # # # [1]: https://docs.aws.amazon.com/eks/latest/userguide/pod-execution-role.html # @return [String] # # @!attribute [rw] subnets # The IDs of subnets to launch pods into. # @return [Array] # # @!attribute [rw] selectors # The selectors to match for pods to use this Fargate profile. # @return [Array] # # @!attribute [rw] status # The current status of the Fargate profile. # @return [String] # # @!attribute [rw] tags # The metadata applied to the Fargate profile to assist with # categorization and organization. Each tag consists of a key and an # optional value, both of which you define. Fargate profile tags do # not propagate to any other resources associated with the Fargate # profile, such as the pods that are scheduled with it. # @return [Hash] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/FargateProfile AWS API Documentation # class FargateProfile < Struct.new( :fargate_profile_name, :fargate_profile_arn, :cluster_name, :created_at, :pod_execution_role_arn, :subnets, :selectors, :status, :tags) include Aws::Structure end # An object representing an AWS Fargate profile selector. # # @note When making an API call, you may pass FargateProfileSelector # data as a hash: # # { # namespace: "String", # labels: { # "String" => "String", # }, # } # # @!attribute [rw] namespace # The Kubernetes namespace that the selector should match. # @return [String] # # @!attribute [rw] labels # The Kubernetes labels that the selector should match. A pod must # contain all of the labels that are specified in the selector for it # to be considered a match. # @return [Hash] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/FargateProfileSelector AWS API Documentation # class FargateProfileSelector < Struct.new( :namespace, :labels) include Aws::Structure end # An object representing an identity provider for authentication # credentials. # # @!attribute [rw] oidc # The [OpenID Connect][1] identity provider information for the # cluster. # # # # [1]: https://openid.net/connect/ # @return [Types::OIDC] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/Identity AWS API Documentation # class Identity < Struct.new( :oidc) include Aws::Structure end # The specified parameter is invalid. Review the available parameters # for the API request. # # @!attribute [rw] cluster_name # The Amazon EKS cluster associated with the exception. # @return [String] # # @!attribute [rw] nodegroup_name # The Amazon EKS managed node group associated with the exception. # @return [String] # # @!attribute [rw] fargate_profile_name # The Fargate profile associated with the exception. # @return [String] # # @!attribute [rw] message # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/InvalidParameterException AWS API Documentation # class InvalidParameterException < Struct.new( :cluster_name, :nodegroup_name, :fargate_profile_name, :message) include Aws::Structure end # The request is invalid given the state of the cluster. Check the state # of the cluster and the associated operations. # # @!attribute [rw] cluster_name # The Amazon EKS cluster associated with the exception. # @return [String] # # @!attribute [rw] nodegroup_name # The Amazon EKS managed node group associated with the exception. # @return [String] # # @!attribute [rw] message # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/InvalidRequestException AWS API Documentation # class InvalidRequestException < Struct.new( :cluster_name, :nodegroup_name, :message) include Aws::Structure end # An object representing an issue with an Amazon EKS resource. # # @!attribute [rw] code # A brief description of the error. # # * **AutoScalingGroupNotFound**\: We couldn't find the Auto Scaling # group associated with the managed node group. You may be able to # recreate an Auto Scaling group with the same settings to recover. # # * **Ec2SecurityGroupNotFound**\: We couldn't find the cluster # security group for the cluster. You must recreate your cluster. # # * **Ec2SecurityGroupDeletionFailure**\: We could not delete the # remote access security group for your managed node group. Remove # any dependencies from the security group. # # * **Ec2LaunchTemplateNotFound**\: We couldn't find the Amazon EC2 # launch template for your managed node group. You may be able to # recreate a launch template with the same settings to recover. # # * **Ec2LaunchTemplateVersionMismatch**\: The Amazon EC2 launch # template version for your managed node group does not match the # version that Amazon EKS created. You may be able to revert to the # version that Amazon EKS created to recover. # # * **IamInstanceProfileNotFound**\: We couldn't find the IAM # instance profile for your managed node group. You may be able to # recreate an instance profile with the same settings to recover. # # * **IamNodeRoleNotFound**\: We couldn't find the IAM role for your # managed node group. You may be able to recreate an IAM role with # the same settings to recover. # # * **AsgInstanceLaunchFailures**\: Your Auto Scaling group is # experiencing failures while attempting to launch instances. # # * **NodeCreationFailure**\: Your launched instances are unable to # register with your Amazon EKS cluster. Common causes of this # failure are insufficient [worker node IAM role][1] permissions or # lack of outbound internet access for the nodes. # # * **InstanceLimitExceeded**\: Your AWS account is unable to launch # any more instances of the specified instance type. You may be able # to request an Amazon EC2 instance limit increase to recover. # # * **InsufficientFreeAddresses**\: One or more of the subnets # associated with your managed node group does not have enough # available IP addresses for new nodes. # # * **AccessDenied**\: Amazon EKS or one or more of your managed nodes # is unable to communicate with your cluster API server. # # * **InternalFailure**\: These errors are usually caused by an Amazon # EKS server-side issue. # # # # [1]: https://docs.aws.amazon.com/eks/latest/userguide/worker_node_IAM_role.html # @return [String] # # @!attribute [rw] message # The error message associated with the issue. # @return [String] # # @!attribute [rw] resource_ids # The AWS resources that are afflicted by this issue. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/Issue AWS API Documentation # class Issue < Struct.new( :code, :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 you use this parameter, `ListClusters` # returns only `maxResults` results in a single page along with a # `nextToken` response element. You can see the remaining results of # the initial request by sending another `ListClusters` request with # the returned `nextToken` value. This value can be between 1 and 100. # If you don't use this parameter, `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 used # only 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`, # you can use this value 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 ListFargateProfilesRequest # data as a hash: # # { # cluster_name: "String", # required # max_results: 1, # next_token: "String", # } # # @!attribute [rw] cluster_name # The name of the Amazon EKS cluster that you would like to # listFargate profiles in. # @return [String] # # @!attribute [rw] max_results # The maximum number of Fargate profile results returned by # `ListFargateProfiles` in paginated output. When you use this # parameter, `ListFargateProfiles` returns only `maxResults` results # in a single page along with a `nextToken` response element. You can # see the remaining results of the initial request by sending another # `ListFargateProfiles` request with the returned `nextToken` value. # This value can be between 1 and 100. If you don't use this # parameter, `ListFargateProfiles` 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 # `ListFargateProfiles` 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] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListFargateProfilesRequest AWS API Documentation # class ListFargateProfilesRequest < Struct.new( :cluster_name, :max_results, :next_token) include Aws::Structure end # @!attribute [rw] fargate_profile_names # A list of all of the Fargate profiles associated with the specified # cluster. # @return [Array] # # @!attribute [rw] next_token # The `nextToken` value to include in a future `ListFargateProfiles` # request. When the results of a `ListFargateProfiles` request exceed # `maxResults`, you can use this value 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/ListFargateProfilesResponse AWS API Documentation # class ListFargateProfilesResponse < Struct.new( :fargate_profile_names, :next_token) include Aws::Structure end # @note When making an API call, you may pass ListNodegroupsRequest # data as a hash: # # { # cluster_name: "String", # required # max_results: 1, # next_token: "String", # } # # @!attribute [rw] cluster_name # The name of the Amazon EKS cluster that you would like to list node # groups in. # @return [String] # # @!attribute [rw] max_results # The maximum number of node group results returned by # `ListNodegroups` in paginated output. When you use this parameter, # `ListNodegroups` returns only `maxResults` results in a single page # along with a `nextToken` response element. You can see the remaining # results of the initial request by sending another `ListNodegroups` # request with the returned `nextToken` value. This value can be # between 1 and 100. If you don't use this parameter, # `ListNodegroups` 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 # `ListNodegroups` 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] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListNodegroupsRequest AWS API Documentation # class ListNodegroupsRequest < Struct.new( :cluster_name, :max_results, :next_token) include Aws::Structure end # @!attribute [rw] nodegroups # A list of all of the node groups associated with the specified # cluster. # @return [Array] # # @!attribute [rw] next_token # The `nextToken` value to include in a future `ListNodegroups` # request. When the results of a `ListNodegroups` request exceed # `maxResults`, you can use this value 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/ListNodegroupsResponse AWS API Documentation # class ListNodegroupsResponse < Struct.new( :nodegroups, :next_token) include Aws::Structure end # @note When making an API call, you may pass ListTagsForResourceRequest # data as a hash: # # { # resource_arn: "String", # required # } # # @!attribute [rw] resource_arn # The Amazon Resource Name (ARN) that identifies the resource for # which to list the tags. Currently, the supported resources are # Amazon EKS clusters and managed node groups. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListTagsForResourceRequest AWS API Documentation # class ListTagsForResourceRequest < Struct.new( :resource_arn) include Aws::Structure end # @!attribute [rw] tags # The tags for the resource. # @return [Hash] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListTagsForResourceResponse AWS API Documentation # class ListTagsForResourceResponse < Struct.new( :tags) include Aws::Structure end # @note When making an API call, you may pass ListUpdatesRequest # data as a hash: # # { # name: "String", # required # nodegroup_name: "String", # next_token: "String", # max_results: 1, # } # # @!attribute [rw] name # The name of the Amazon EKS cluster to list updates for. # @return [String] # # @!attribute [rw] nodegroup_name # The name of the Amazon EKS managed node group to list updates for. # @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 you use this parameter, `ListUpdates` returns # only `maxResults` results in a single page along with a `nextToken` # response element. You can see the remaining results of the initial # request by sending another `ListUpdates` request with the returned # `nextToken` value. This value can be between 1 and 100. If you # don't use this parameter, `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, :nodegroup_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`, you # can use this value 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, that log type exports its control plane # logs to CloudWatch Logs. If a log type isn't enabled, that log type # doesn't 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 Amazon EKS managed node group. # # @!attribute [rw] nodegroup_name # The name associated with an Amazon EKS managed node group. # @return [String] # # @!attribute [rw] nodegroup_arn # The Amazon Resource Name (ARN) associated with the managed node # group. # @return [String] # # @!attribute [rw] cluster_name # The name of the cluster that the managed node group resides in. # @return [String] # # @!attribute [rw] version # The Kubernetes version of the managed node group. # @return [String] # # @!attribute [rw] release_version # The AMI version of the managed node group. For more information, see # [Amazon EKS-Optimized Linux AMI Versions ][1] in the *Amazon EKS # User Guide*. # # # # [1]: https://docs.aws.amazon.com/eks/latest/userguide/eks-linux-ami-versions.html # @return [String] # # @!attribute [rw] created_at # The Unix epoch timestamp in seconds for when the managed node group # was created. # @return [Time] # # @!attribute [rw] modified_at # The Unix epoch timestamp in seconds for when the managed node group # was last modified. # @return [Time] # # @!attribute [rw] status # The current status of the managed node group. # @return [String] # # @!attribute [rw] scaling_config # The scaling configuration details for the Auto Scaling group that is # associated with your node group. # @return [Types::NodegroupScalingConfig] # # @!attribute [rw] instance_types # The instance types associated with your node group. # @return [Array] # # @!attribute [rw] subnets # The subnets allowed for the Auto Scaling group that is associated # with your node group. These subnets must have the following tag: # `kubernetes.io/cluster/CLUSTER_NAME`, where `CLUSTER_NAME` is # replaced with the name of your cluster. # @return [Array] # # @!attribute [rw] remote_access # The remote access (SSH) configuration that is associated with the # node group. # @return [Types::RemoteAccessConfig] # # @!attribute [rw] ami_type # The AMI type associated with your node group. GPU instance types # should use the `AL2_x86_64_GPU` AMI type, which uses the Amazon # EKS-optimized Linux AMI with GPU support. Non-GPU instances should # use the `AL2_x86_64` AMI type, which uses the Amazon EKS-optimized # Linux AMI. # @return [String] # # @!attribute [rw] node_role # The IAM role associated with your node group. The Amazon EKS worker # node `kubelet` daemon makes calls to AWS APIs on your behalf. Worker # nodes receive permissions for these API calls through an IAM # instance profile and associated policies. Before you can launch # worker nodes and register them into a cluster, you must create an # IAM role for those worker nodes to use when they are launched. For # more information, see [Amazon EKS Worker Node IAM Role][1] in the # Amazon EKS User Guide . # # # # [1]: https://docs.aws.amazon.com/eks/latest/userguide/worker_node_IAM_role.html # @return [String] # # @!attribute [rw] labels # The Kubernetes labels applied to the nodes in the node group. # # Only labels that are applied with the Amazon EKS API are shown here. # There may be other Kubernetes labels applied to the nodes in this # group. # # # @return [Hash] # # @!attribute [rw] resources # The resources associated with the node group, such as Auto Scaling # groups and security groups for remote access. # @return [Types::NodegroupResources] # # @!attribute [rw] disk_size # The root device disk size (in GiB) for your node group instances. # The default disk size is 20 GiB. # @return [Integer] # # @!attribute [rw] health # The health status of the node group. If there are issues with your # node group's health, they are listed here. # @return [Types::NodegroupHealth] # # @!attribute [rw] tags # The metadata applied to the node group to assist with categorization # and organization. Each tag consists of a key and an optional value, # both of which you define. Node group tags do not propagate to any # other resources associated with the node group, such as the Amazon # EC2 instances or subnets. # @return [Hash] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/Nodegroup AWS API Documentation # class Nodegroup < Struct.new( :nodegroup_name, :nodegroup_arn, :cluster_name, :version, :release_version, :created_at, :modified_at, :status, :scaling_config, :instance_types, :subnets, :remote_access, :ami_type, :node_role, :labels, :resources, :disk_size, :health, :tags) include Aws::Structure end # An object representing the health status of the node group. # # @!attribute [rw] issues # Any issues that are associated with the node group. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/NodegroupHealth AWS API Documentation # class NodegroupHealth < Struct.new( :issues) include Aws::Structure end # An object representing the resources associated with the node group, # such as Auto Scaling groups and security groups for remote access. # # @!attribute [rw] auto_scaling_groups # The Auto Scaling groups associated with the node group. # @return [Array] # # @!attribute [rw] remote_access_security_group # The remote access security group associated with the node group. # This security group controls SSH access to the worker nodes. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/NodegroupResources AWS API Documentation # class NodegroupResources < Struct.new( :auto_scaling_groups, :remote_access_security_group) include Aws::Structure end # An object representing the scaling configuration details for the Auto # Scaling group that is associated with your node group. # # @note When making an API call, you may pass NodegroupScalingConfig # data as a hash: # # { # min_size: 1, # max_size: 1, # desired_size: 1, # } # # @!attribute [rw] min_size # The minimum number of worker nodes that the managed node group can # scale in to. This number must be greater than zero. # @return [Integer] # # @!attribute [rw] max_size # The maximum number of worker nodes that the managed node group can # scale out to. Managed node groups can support up to 100 nodes by # default. # @return [Integer] # # @!attribute [rw] desired_size # The current number of worker nodes that the managed node group # should maintain. # @return [Integer] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/NodegroupScalingConfig AWS API Documentation # class NodegroupScalingConfig < Struct.new( :min_size, :max_size, :desired_size) include Aws::Structure end # A service resource associated with the request could not be found. # Clients should not retry such requests. # # @!attribute [rw] message # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/NotFoundException AWS API Documentation # class NotFoundException < Struct.new( :message) include Aws::Structure end # An object representing the [OpenID Connect][1] identity provider # information for the cluster. # # # # [1]: https://openid.net/connect/ # # @!attribute [rw] issuer # The issuer URL for the OpenID Connect identity provider. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/OIDC AWS API Documentation # class OIDC < Struct.new( :issuer) include Aws::Structure end # Identifies the AWS Key Management Service (AWS KMS) customer master # key (CMK) used to encrypt the secrets. # # @note When making an API call, you may pass Provider # data as a hash: # # { # key_arn: "String", # } # # @!attribute [rw] key_arn # Amazon Resource Name (ARN) or alias of the customer master key # (CMK). The CMK must be symmetric, created in the same region as the # cluster, and if the CMK was created in a different account, the user # must have access to the CMK. For more information, see [Allowing # Users in Other Accounts to Use a CMK][1] in the *AWS Key Management # Service Developer Guide*. # # # # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/Provider AWS API Documentation # class Provider < Struct.new( :key_arn) include Aws::Structure end # An object representing the remote access configuration for the managed # node group. # # @note When making an API call, you may pass RemoteAccessConfig # data as a hash: # # { # ec2_ssh_key: "String", # source_security_groups: ["String"], # } # # @!attribute [rw] ec2_ssh_key # The Amazon EC2 SSH key that provides access for SSH communication # with the worker nodes in the managed node group. For more # information, see [Amazon EC2 Key Pairs][1] in the *Amazon Elastic # Compute Cloud User Guide for Linux Instances*. # # # # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html # @return [String] # # @!attribute [rw] source_security_groups # The security groups that are allowed SSH access (port 22) to the # worker nodes. If you specify an Amazon EC2 SSH key but do not # specify a source security group when you create a managed node # group, then port 22 on the worker nodes is opened to the internet # (0.0.0.0/0). For more information, see [Security Groups for Your # VPC][1] in the *Amazon Virtual Private Cloud User Guide*. # # # # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/RemoteAccessConfig AWS API Documentation # class RemoteAccessConfig < Struct.new( :ec2_ssh_key, :source_security_groups) include Aws::Structure end # The specified resource is in use. # # @!attribute [rw] cluster_name # The Amazon EKS cluster associated with the exception. # @return [String] # # @!attribute [rw] nodegroup_name # The Amazon EKS managed node group associated with the exception. # @return [String] # # @!attribute [rw] message # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ResourceInUseException AWS API Documentation # class ResourceInUseException < Struct.new( :cluster_name, :nodegroup_name, :message) include Aws::Structure end # You have encountered a service limit on the specified resource. # # @!attribute [rw] cluster_name # The Amazon EKS cluster associated with the exception. # @return [String] # # @!attribute [rw] nodegroup_name # The Amazon EKS managed node group associated with the exception. # @return [String] # # @!attribute [rw] message # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ResourceLimitExceededException AWS API Documentation # class ResourceLimitExceededException < Struct.new( :cluster_name, :nodegroup_name, :message) include Aws::Structure end # The specified resource could not be found. You can view your available # clusters with ListClusters. You can view your available managed node # groups with ListNodegroups. Amazon EKS clusters and node groups are # Region-specific. # # @!attribute [rw] cluster_name # The Amazon EKS cluster associated with the exception. # @return [String] # # @!attribute [rw] nodegroup_name # The Amazon EKS managed node group associated with the exception. # @return [String] # # @!attribute [rw] fargate_profile_name # The Fargate profile associated with the exception. # @return [String] # # @!attribute [rw] message # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ResourceNotFoundException AWS API Documentation # class ResourceNotFoundException < Struct.new( :cluster_name, :nodegroup_name, :fargate_profile_name, :message) include Aws::Structure end # These errors are usually caused by a server-side issue. # # @!attribute [rw] cluster_name # The Amazon EKS cluster associated with the exception. # @return [String] # # @!attribute [rw] nodegroup_name # The Amazon EKS managed node group associated with the exception. # @return [String] # # @!attribute [rw] message # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ServerException AWS API Documentation # class ServerException < Struct.new( :cluster_name, :nodegroup_name, :message) include Aws::Structure end # The service is unavailable. Back off and retry the operation. # # @!attribute [rw] message # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ServiceUnavailableException AWS API Documentation # class ServiceUnavailableException < Struct.new( :message) include Aws::Structure end # @note When making an API call, you may pass TagResourceRequest # data as a hash: # # { # resource_arn: "String", # required # tags: { # required # "TagKey" => "TagValue", # }, # } # # @!attribute [rw] resource_arn # The Amazon Resource Name (ARN) of the resource to which to add tags. # Currently, the supported resources are Amazon EKS clusters and # managed node groups. # @return [String] # # @!attribute [rw] tags # The tags to add to the resource. A tag is an array of key-value # pairs. # @return [Hash] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/TagResourceRequest AWS API Documentation # class TagResourceRequest < Struct.new( :resource_arn, :tags) include Aws::Structure end # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/TagResourceResponse AWS API Documentation # class TagResourceResponse < Aws::EmptyStructure; end # 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. # # @!attribute [rw] message # @return [String] # # @!attribute [rw] cluster_name # The Amazon EKS cluster associated with the exception. # @return [String] # # @!attribute [rw] nodegroup_name # The Amazon EKS managed node group associated with the exception. # @return [String] # # @!attribute [rw] valid_zones # The supported Availability Zones for your account. Choose subnets in # these Availability Zones for your cluster. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UnsupportedAvailabilityZoneException AWS API Documentation # class UnsupportedAvailabilityZoneException < Struct.new( :message, :cluster_name, :nodegroup_name, :valid_zones) include Aws::Structure end # @note When making an API call, you may pass UntagResourceRequest # data as a hash: # # { # resource_arn: "String", # required # tag_keys: ["TagKey"], # required # } # # @!attribute [rw] resource_arn # The Amazon Resource Name (ARN) of the resource from which to delete # tags. Currently, the supported resources are Amazon EKS clusters and # managed node groups. # @return [String] # # @!attribute [rw] tag_keys # The keys of the tags to be removed. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UntagResourceRequest AWS API Documentation # class UntagResourceRequest < Struct.new( :resource_arn, :tag_keys) include Aws::Structure end # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UntagResourceResponse AWS API Documentation # class UntagResourceResponse < Aws::EmptyStructure; 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, # public_access_cidrs: ["String"], # }, # 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 aren't 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 a Kubernetes label change for a managed node # group. # # @note When making an API call, you may pass UpdateLabelsPayload # data as a hash: # # { # add_or_update_labels: { # "labelKey" => "labelValue", # }, # remove_labels: ["String"], # } # # @!attribute [rw] add_or_update_labels # Kubernetes labels to be added or updated. # @return [Hash] # # @!attribute [rw] remove_labels # Kubernetes labels to be removed. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateLabelsPayload AWS API Documentation # class UpdateLabelsPayload < Struct.new( :add_or_update_labels, :remove_labels) include Aws::Structure end # @note When making an API call, you may pass UpdateNodegroupConfigRequest # data as a hash: # # { # cluster_name: "String", # required # nodegroup_name: "String", # required # labels: { # add_or_update_labels: { # "labelKey" => "labelValue", # }, # remove_labels: ["String"], # }, # scaling_config: { # min_size: 1, # max_size: 1, # desired_size: 1, # }, # client_request_token: "String", # } # # @!attribute [rw] cluster_name # The name of the Amazon EKS cluster that the managed node group # resides in. # @return [String] # # @!attribute [rw] nodegroup_name # The name of the managed node group to update. # @return [String] # # @!attribute [rw] labels # The Kubernetes labels to be applied to the nodes in the node group # after the update. # @return [Types::UpdateLabelsPayload] # # @!attribute [rw] scaling_config # The scaling configuration details for the Auto Scaling group after # the update. # @return [Types::NodegroupScalingConfig] # # @!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/UpdateNodegroupConfigRequest AWS API Documentation # class UpdateNodegroupConfigRequest < Struct.new( :cluster_name, :nodegroup_name, :labels, :scaling_config, :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/UpdateNodegroupConfigResponse AWS API Documentation # class UpdateNodegroupConfigResponse < Struct.new( :update) include Aws::Structure end # @note When making an API call, you may pass UpdateNodegroupVersionRequest # data as a hash: # # { # cluster_name: "String", # required # nodegroup_name: "String", # required # version: "String", # release_version: "String", # force: false, # client_request_token: "String", # } # # @!attribute [rw] cluster_name # The name of the Amazon EKS cluster that is associated with the # managed node group to update. # @return [String] # # @!attribute [rw] nodegroup_name # The name of the managed node group to update. # @return [String] # # @!attribute [rw] version # The Kubernetes version to update to. If no version is specified, # then the Kubernetes version of the node group does not change. You # can specify the Kubernetes version of the cluster to update the node # group to the latest AMI version of the cluster's Kubernetes # version. # @return [String] # # @!attribute [rw] release_version # The AMI version of the Amazon EKS-optimized AMI to use for the # update. By default, the latest available AMI version for the node # group's Kubernetes version is used. For more information, see # [Amazon EKS-Optimized Linux AMI Versions ][1] in the *Amazon EKS # User Guide*. # # # # [1]: https://docs.aws.amazon.com/eks/latest/userguide/eks-linux-ami-versions.html # @return [String] # # @!attribute [rw] force # Force the update if the existing node group's pods are unable to be # drained due to a pod disruption budget issue. If an update fails # because pods could not be drained, you can force the update after it # fails to terminate the old node whether or not any pods are running # on the node. # @return [Boolean] # # @!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/UpdateNodegroupVersionRequest AWS API Documentation # class UpdateNodegroupVersionRequest < Struct.new( :cluster_name, :nodegroup_name, :version, :release_version, :force, :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/UpdateNodegroupVersionResponse AWS API Documentation # class UpdateNodegroupVersionResponse < 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, # public_access_cidrs: ["String"], # } # # @!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 don't 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 to 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 use # the private VPC endpoint. The default value for this parameter is # `false`, which disables private access for your Kubernetes API # server. If you disable private access and you have worker nodes or # AWS Fargate pods in the cluster, then ensure that # `publicAccessCidrs` includes the necessary CIDR blocks for # communication with the worker nodes or Fargate pods. 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] public_access_cidrs # The CIDR blocks that are allowed access to your cluster's public # Kubernetes API server endpoint. Communication to the endpoint from # addresses outside of the CIDR blocks that you specify is denied. The # default value is `0.0.0.0/0`. If you've disabled private endpoint # access and you have worker nodes or AWS Fargate pods in the cluster, # then ensure that you specify the necessary CIDR blocks. 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 [Array] # # @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, :public_access_cidrs) 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] cluster_security_group_id # The cluster security group that was created by Amazon EKS for the # cluster. Managed node groups use this security group for # control-plane-to-data-plane communication. # @return [String] # # @!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 use the private VPC endpoint instead of traversing # the internet. If this value is disabled and you have worker nodes or # AWS Fargate pods in the cluster, then ensure that # `publicAccessCidrs` includes the necessary CIDR blocks for # communication with the worker nodes or Fargate pods. 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] public_access_cidrs # The CIDR blocks that are allowed access to your cluster's public # Kubernetes API server endpoint. Communication to the endpoint from # addresses outside of the listed CIDR blocks is denied. The default # value is `0.0.0.0/0`. If you've disabled private endpoint access # and you have worker nodes or AWS Fargate pods in the cluster, then # ensure that the necessary CIDR blocks are listed. 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 [Array] # # @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, :cluster_security_group_id, :vpc_id, :endpoint_public_access, :endpoint_private_access, :public_access_cidrs) include Aws::Structure end end end