aws-sdk-eks 1.48.0 → 1.53.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -24,6 +24,8 @@ module Aws::EKS
24
24
  AddonVersionInfo = Shapes::StructureShape.new(name: 'AddonVersionInfo')
25
25
  AddonVersionInfoList = Shapes::ListShape.new(name: 'AddonVersionInfoList')
26
26
  Addons = Shapes::ListShape.new(name: 'Addons')
27
+ AssociateEncryptionConfigRequest = Shapes::StructureShape.new(name: 'AssociateEncryptionConfigRequest')
28
+ AssociateEncryptionConfigResponse = Shapes::StructureShape.new(name: 'AssociateEncryptionConfigResponse')
27
29
  AssociateIdentityProviderConfigRequest = Shapes::StructureShape.new(name: 'AssociateIdentityProviderConfigRequest')
28
30
  AssociateIdentityProviderConfigResponse = Shapes::StructureShape.new(name: 'AssociateIdentityProviderConfigResponse')
29
31
  AutoScalingGroup = Shapes::StructureShape.new(name: 'AutoScalingGroup')
@@ -147,6 +149,8 @@ module Aws::EKS
147
149
  TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
148
150
  TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
149
151
  TagValue = Shapes::StringShape.new(name: 'TagValue')
152
+ Taint = Shapes::StructureShape.new(name: 'Taint')
153
+ TaintEffect = Shapes::StringShape.new(name: 'TaintEffect')
150
154
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
151
155
  UnsupportedAvailabilityZoneException = Shapes::StructureShape.new(name: 'UnsupportedAvailabilityZoneException')
152
156
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
@@ -167,9 +171,11 @@ module Aws::EKS
167
171
  UpdateParamType = Shapes::StringShape.new(name: 'UpdateParamType')
168
172
  UpdateParams = Shapes::ListShape.new(name: 'UpdateParams')
169
173
  UpdateStatus = Shapes::StringShape.new(name: 'UpdateStatus')
174
+ UpdateTaintsPayload = Shapes::StructureShape.new(name: 'UpdateTaintsPayload')
170
175
  UpdateType = Shapes::StringShape.new(name: 'UpdateType')
171
176
  VpcConfigRequest = Shapes::StructureShape.new(name: 'VpcConfigRequest')
172
177
  VpcConfigResponse = Shapes::StructureShape.new(name: 'VpcConfigResponse')
178
+ ZeroCapacity = Shapes::IntegerShape.new(name: 'ZeroCapacity')
173
179
  configStatus = Shapes::StringShape.new(name: 'configStatus')
174
180
  labelKey = Shapes::StringShape.new(name: 'labelKey')
175
181
  labelValue = Shapes::StringShape.new(name: 'labelValue')
@@ -178,6 +184,9 @@ module Aws::EKS
178
184
  requiredClaimsKey = Shapes::StringShape.new(name: 'requiredClaimsKey')
179
185
  requiredClaimsMap = Shapes::MapShape.new(name: 'requiredClaimsMap')
180
186
  requiredClaimsValue = Shapes::StringShape.new(name: 'requiredClaimsValue')
187
+ taintKey = Shapes::StringShape.new(name: 'taintKey')
188
+ taintValue = Shapes::StringShape.new(name: 'taintValue')
189
+ taintsList = Shapes::ListShape.new(name: 'taintsList')
181
190
 
182
191
  Addon.add_member(:addon_name, Shapes::ShapeRef.new(shape: String, location_name: "addonName"))
183
192
  Addon.add_member(:cluster_name, Shapes::ShapeRef.new(shape: ClusterName, location_name: "clusterName"))
@@ -215,6 +224,14 @@ module Aws::EKS
215
224
 
216
225
  Addons.member = Shapes::ShapeRef.new(shape: AddonInfo)
217
226
 
227
+ AssociateEncryptionConfigRequest.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "name"))
228
+ AssociateEncryptionConfigRequest.add_member(:encryption_config, Shapes::ShapeRef.new(shape: EncryptionConfigList, required: true, location_name: "encryptionConfig"))
229
+ AssociateEncryptionConfigRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: String, location_name: "clientRequestToken", metadata: {"idempotencyToken"=>true}))
230
+ AssociateEncryptionConfigRequest.struct_class = Types::AssociateEncryptionConfigRequest
231
+
232
+ AssociateEncryptionConfigResponse.add_member(:update, Shapes::ShapeRef.new(shape: Update, location_name: "update"))
233
+ AssociateEncryptionConfigResponse.struct_class = Types::AssociateEncryptionConfigResponse
234
+
218
235
  AssociateIdentityProviderConfigRequest.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "name"))
219
236
  AssociateIdentityProviderConfigRequest.add_member(:oidc, Shapes::ShapeRef.new(shape: OidcIdentityProviderConfigRequest, required: true, location_name: "oidc"))
220
237
  AssociateIdentityProviderConfigRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
@@ -315,6 +332,7 @@ module Aws::EKS
315
332
  CreateNodegroupRequest.add_member(:remote_access, Shapes::ShapeRef.new(shape: RemoteAccessConfig, location_name: "remoteAccess"))
316
333
  CreateNodegroupRequest.add_member(:node_role, Shapes::ShapeRef.new(shape: String, required: true, location_name: "nodeRole"))
317
334
  CreateNodegroupRequest.add_member(:labels, Shapes::ShapeRef.new(shape: labelsMap, location_name: "labels"))
335
+ CreateNodegroupRequest.add_member(:taints, Shapes::ShapeRef.new(shape: taintsList, location_name: "taints"))
318
336
  CreateNodegroupRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
319
337
  CreateNodegroupRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: String, location_name: "clientRequestToken", metadata: {"idempotencyToken"=>true}))
320
338
  CreateNodegroupRequest.add_member(:launch_template, Shapes::ShapeRef.new(shape: LaunchTemplateSpecification, location_name: "launchTemplate"))
@@ -578,6 +596,7 @@ module Aws::EKS
578
596
  Nodegroup.add_member(:ami_type, Shapes::ShapeRef.new(shape: AMITypes, location_name: "amiType"))
579
597
  Nodegroup.add_member(:node_role, Shapes::ShapeRef.new(shape: String, location_name: "nodeRole"))
580
598
  Nodegroup.add_member(:labels, Shapes::ShapeRef.new(shape: labelsMap, location_name: "labels"))
599
+ Nodegroup.add_member(:taints, Shapes::ShapeRef.new(shape: taintsList, location_name: "taints"))
581
600
  Nodegroup.add_member(:resources, Shapes::ShapeRef.new(shape: NodegroupResources, location_name: "resources"))
582
601
  Nodegroup.add_member(:disk_size, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "diskSize"))
583
602
  Nodegroup.add_member(:health, Shapes::ShapeRef.new(shape: NodegroupHealth, location_name: "health"))
@@ -592,9 +611,9 @@ module Aws::EKS
592
611
  NodegroupResources.add_member(:remote_access_security_group, Shapes::ShapeRef.new(shape: String, location_name: "remoteAccessSecurityGroup"))
593
612
  NodegroupResources.struct_class = Types::NodegroupResources
594
613
 
595
- NodegroupScalingConfig.add_member(:min_size, Shapes::ShapeRef.new(shape: Capacity, location_name: "minSize"))
614
+ NodegroupScalingConfig.add_member(:min_size, Shapes::ShapeRef.new(shape: ZeroCapacity, location_name: "minSize"))
596
615
  NodegroupScalingConfig.add_member(:max_size, Shapes::ShapeRef.new(shape: Capacity, location_name: "maxSize"))
597
- NodegroupScalingConfig.add_member(:desired_size, Shapes::ShapeRef.new(shape: Capacity, location_name: "desiredSize"))
616
+ NodegroupScalingConfig.add_member(:desired_size, Shapes::ShapeRef.new(shape: ZeroCapacity, location_name: "desiredSize"))
598
617
  NodegroupScalingConfig.struct_class = Types::NodegroupScalingConfig
599
618
 
600
619
  NotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message"))
@@ -674,6 +693,11 @@ module Aws::EKS
674
693
 
675
694
  TagResourceResponse.struct_class = Types::TagResourceResponse
676
695
 
696
+ Taint.add_member(:key, Shapes::ShapeRef.new(shape: taintKey, location_name: "key"))
697
+ Taint.add_member(:value, Shapes::ShapeRef.new(shape: taintValue, location_name: "value"))
698
+ Taint.add_member(:effect, Shapes::ShapeRef.new(shape: TaintEffect, location_name: "effect"))
699
+ Taint.struct_class = Types::Taint
700
+
677
701
  UnsupportedAvailabilityZoneException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message"))
678
702
  UnsupportedAvailabilityZoneException.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, location_name: "clusterName"))
679
703
  UnsupportedAvailabilityZoneException.add_member(:nodegroup_name, Shapes::ShapeRef.new(shape: String, location_name: "nodegroupName"))
@@ -729,6 +753,7 @@ module Aws::EKS
729
753
  UpdateNodegroupConfigRequest.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "name"))
730
754
  UpdateNodegroupConfigRequest.add_member(:nodegroup_name, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "nodegroupName"))
731
755
  UpdateNodegroupConfigRequest.add_member(:labels, Shapes::ShapeRef.new(shape: UpdateLabelsPayload, location_name: "labels"))
756
+ UpdateNodegroupConfigRequest.add_member(:taints, Shapes::ShapeRef.new(shape: UpdateTaintsPayload, location_name: "taints"))
732
757
  UpdateNodegroupConfigRequest.add_member(:scaling_config, Shapes::ShapeRef.new(shape: NodegroupScalingConfig, location_name: "scalingConfig"))
733
758
  UpdateNodegroupConfigRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: String, location_name: "clientRequestToken", metadata: {"idempotencyToken"=>true}))
734
759
  UpdateNodegroupConfigRequest.struct_class = Types::UpdateNodegroupConfigRequest
@@ -754,6 +779,10 @@ module Aws::EKS
754
779
 
755
780
  UpdateParams.member = Shapes::ShapeRef.new(shape: UpdateParam)
756
781
 
782
+ UpdateTaintsPayload.add_member(:add_or_update_taints, Shapes::ShapeRef.new(shape: taintsList, location_name: "addOrUpdateTaints"))
783
+ UpdateTaintsPayload.add_member(:remove_taints, Shapes::ShapeRef.new(shape: taintsList, location_name: "removeTaints"))
784
+ UpdateTaintsPayload.struct_class = Types::UpdateTaintsPayload
785
+
757
786
  VpcConfigRequest.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: StringList, location_name: "subnetIds"))
758
787
  VpcConfigRequest.add_member(:security_group_ids, Shapes::ShapeRef.new(shape: StringList, location_name: "securityGroupIds"))
759
788
  VpcConfigRequest.add_member(:endpoint_public_access, Shapes::ShapeRef.new(shape: BoxedBoolean, location_name: "endpointPublicAccess"))
@@ -778,6 +807,8 @@ module Aws::EKS
778
807
  requiredClaimsMap.key = Shapes::ShapeRef.new(shape: requiredClaimsKey)
779
808
  requiredClaimsMap.value = Shapes::ShapeRef.new(shape: requiredClaimsValue)
780
809
 
810
+ taintsList.member = Shapes::ShapeRef.new(shape: Taint)
811
+
781
812
 
782
813
  # @api private
783
814
  API = Seahorse::Model::Api.new.tap do |api|
@@ -797,6 +828,20 @@ module Aws::EKS
797
828
  "uid" => "eks-2017-11-01",
798
829
  }
799
830
 
831
+ api.add_operation(:associate_encryption_config, Seahorse::Model::Operation.new.tap do |o|
832
+ o.name = "AssociateEncryptionConfig"
833
+ o.http_method = "POST"
834
+ o.http_request_uri = "/clusters/{name}/encryption-config/associate"
835
+ o.input = Shapes::ShapeRef.new(shape: AssociateEncryptionConfigRequest)
836
+ o.output = Shapes::ShapeRef.new(shape: AssociateEncryptionConfigResponse)
837
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
838
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
839
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
840
+ o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
841
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
842
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
843
+ end)
844
+
800
845
  api.add_operation(:associate_identity_provider_config, Seahorse::Model::Operation.new.tap do |o|
801
846
  o.name = "AssociateIdentityProviderConfig"
802
847
  o.http_method = "POST"
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -50,9 +50,9 @@ module Aws::EKS
50
50
  # @return [String]
51
51
  #
52
52
  # @!attribute [rw] tags
53
- # The metadata that you apply to the cluster to assist with
53
+ # The metadata that you apply to the add-on to assist with
54
54
  # categorization and organization. Each tag consists of a key and an
55
- # optional value, both of which you define. Cluster tags do not
55
+ # optional value, both of which you define. Add-on tags do not
56
56
  # propagate to any other resources associated with the cluster.
57
57
  # @return [Hash<String,String>]
58
58
  #
@@ -161,6 +161,61 @@ module Aws::EKS
161
161
  include Aws::Structure
162
162
  end
163
163
 
164
+ # @note When making an API call, you may pass AssociateEncryptionConfigRequest
165
+ # data as a hash:
166
+ #
167
+ # {
168
+ # cluster_name: "String", # required
169
+ # encryption_config: [ # required
170
+ # {
171
+ # resources: ["String"],
172
+ # provider: {
173
+ # key_arn: "String",
174
+ # },
175
+ # },
176
+ # ],
177
+ # client_request_token: "String",
178
+ # }
179
+ #
180
+ # @!attribute [rw] cluster_name
181
+ # The name of the cluster that you are associating with encryption
182
+ # configuration.
183
+ # @return [String]
184
+ #
185
+ # @!attribute [rw] encryption_config
186
+ # The configuration you are using for encryption.
187
+ # @return [Array<Types::EncryptionConfig>]
188
+ #
189
+ # @!attribute [rw] client_request_token
190
+ # The client request token you are using with the encryption
191
+ # configuration.
192
+ #
193
+ # **A suitable default value is auto-generated.** You should normally
194
+ # not need to pass this option.
195
+ # @return [String]
196
+ #
197
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/AssociateEncryptionConfigRequest AWS API Documentation
198
+ #
199
+ class AssociateEncryptionConfigRequest < Struct.new(
200
+ :cluster_name,
201
+ :encryption_config,
202
+ :client_request_token)
203
+ SENSITIVE = []
204
+ include Aws::Structure
205
+ end
206
+
207
+ # @!attribute [rw] update
208
+ # An object representing an asynchronous update.
209
+ # @return [Types::Update]
210
+ #
211
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/AssociateEncryptionConfigResponse AWS API Documentation
212
+ #
213
+ class AssociateEncryptionConfigResponse < Struct.new(
214
+ :update)
215
+ SENSITIVE = []
216
+ include Aws::Structure
217
+ end
218
+
164
219
  # @note When making an API call, you may pass AssociateIdentityProviderConfigRequest
165
220
  # data as a hash:
166
221
  #
@@ -808,7 +863,7 @@ module Aws::EKS
808
863
  # disk_size: 1,
809
864
  # subnets: ["String"], # required
810
865
  # instance_types: ["String"],
811
- # ami_type: "AL2_x86_64", # accepts AL2_x86_64, AL2_x86_64_GPU, AL2_ARM_64
866
+ # ami_type: "AL2_x86_64", # accepts AL2_x86_64, AL2_x86_64_GPU, AL2_ARM_64, CUSTOM
812
867
  # remote_access: {
813
868
  # ec2_ssh_key: "String",
814
869
  # source_security_groups: ["String"],
@@ -817,6 +872,13 @@ module Aws::EKS
817
872
  # labels: {
818
873
  # "labelKey" => "labelValue",
819
874
  # },
875
+ # taints: [
876
+ # {
877
+ # key: "taintKey",
878
+ # value: "taintValue",
879
+ # effect: "NO_SCHEDULE", # accepts NO_SCHEDULE, NO_EXECUTE, PREFER_NO_SCHEDULE
880
+ # },
881
+ # ],
820
882
  # tags: {
821
883
  # "TagKey" => "TagValue",
822
884
  # },
@@ -858,13 +920,11 @@ module Aws::EKS
858
920
  #
859
921
  # @!attribute [rw] subnets
860
922
  # The subnets to use for the Auto Scaling group that is created for
861
- # your node group. These subnets must have the tag key
862
- # `kubernetes.io/cluster/CLUSTER_NAME` with a value of `shared`, where
863
- # `CLUSTER_NAME` is replaced with the name of your cluster. If you
864
- # specify `launchTemplate`, then don't specify [ `SubnetId` ][1] in
865
- # your launch template, or the node group deployment will fail. For
866
- # more information about using launch templates with Amazon EKS, see
867
- # [Launch template support][2] in the Amazon EKS User Guide.
923
+ # your node group. If you specify `launchTemplate`, then don't
924
+ # specify [ `SubnetId` ][1] in your launch template, or the node group
925
+ # deployment will fail. For more information about using launch
926
+ # templates with Amazon EKS, see [Launch template support][2] in the
927
+ # Amazon EKS User Guide.
868
928
  #
869
929
  #
870
930
  #
@@ -947,6 +1007,10 @@ module Aws::EKS
947
1007
  # when they are created.
948
1008
  # @return [Hash<String,String>]
949
1009
  #
1010
+ # @!attribute [rw] taints
1011
+ # The Kubernetes taints to be applied to the nodes in the node group.
1012
+ # @return [Array<Types::Taint>]
1013
+ #
950
1014
  # @!attribute [rw] tags
951
1015
  # The metadata to apply to the node group to assist with
952
1016
  # categorization and organization. Each tag consists of a key and an
@@ -1018,6 +1082,7 @@ module Aws::EKS
1018
1082
  :remote_access,
1019
1083
  :node_role,
1020
1084
  :labels,
1085
+ :taints,
1021
1086
  :tags,
1022
1087
  :client_request_token,
1023
1088
  :launch_template,
@@ -1581,8 +1646,8 @@ module Aws::EKS
1581
1646
  # @return [Array<String>]
1582
1647
  #
1583
1648
  # @!attribute [rw] provider
1584
- # AWS Key Management Service (AWS KMS) customer master key (CMK).
1585
- # Either the ARN or the alias can be used.
1649
+ # AWS Key Management Service (AWS KMS) key. Either the ARN or the
1650
+ # alias can be used.
1586
1651
  # @return [Types::Provider]
1587
1652
  #
1588
1653
  # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/EncryptionConfig AWS API Documentation
@@ -2652,6 +2717,14 @@ module Aws::EKS
2652
2717
  # </note>
2653
2718
  # @return [Hash<String,String>]
2654
2719
  #
2720
+ # @!attribute [rw] taints
2721
+ # The Kubernetes taints to be applied to the nodes in the node group
2722
+ # when they are created. Effect is one of `NoSchedule`,
2723
+ # `PreferNoSchedule`, or `NoExecute`. Kubernetes taints can be used
2724
+ # together with tolerations to control how workloads are scheduled to
2725
+ # your nodes.
2726
+ # @return [Array<Types::Taint>]
2727
+ #
2655
2728
  # @!attribute [rw] resources
2656
2729
  # The resources associated with the node group, such as Auto Scaling
2657
2730
  # groups and security groups for remote access.
@@ -2700,6 +2773,7 @@ module Aws::EKS
2700
2773
  :ami_type,
2701
2774
  :node_role,
2702
2775
  :labels,
2776
+ :taints,
2703
2777
  :resources,
2704
2778
  :disk_size,
2705
2779
  :health,
@@ -2745,9 +2819,9 @@ module Aws::EKS
2745
2819
  end
2746
2820
 
2747
2821
  # An object representing the scaling configuration details for the Auto
2748
- # Scaling group that is associated with your node group. If you specify
2749
- # a value for any property, then you must specify values for all of the
2750
- # properties.
2822
+ # Scaling group that is associated with your node group. When creating a
2823
+ # node group, you must specify all or none of the properties. When
2824
+ # updating a node group, you can specify any or none of the properties.
2751
2825
  #
2752
2826
  # @note When making an API call, you may pass NodegroupScalingConfig
2753
2827
  # data as a hash:
@@ -3003,8 +3077,8 @@ module Aws::EKS
3003
3077
  include Aws::Structure
3004
3078
  end
3005
3079
 
3006
- # Identifies the AWS Key Management Service (AWS KMS) customer master
3007
- # key (CMK) used to encrypt the secrets.
3080
+ # Identifies the AWS Key Management Service (AWS KMS) key used to
3081
+ # encrypt the secrets.
3008
3082
  #
3009
3083
  # @note When making an API call, you may pass Provider
3010
3084
  # data as a hash:
@@ -3014,11 +3088,11 @@ module Aws::EKS
3014
3088
  # }
3015
3089
  #
3016
3090
  # @!attribute [rw] key_arn
3017
- # Amazon Resource Name (ARN) or alias of the customer master key
3018
- # (CMK). The CMK must be symmetric, created in the same region as the
3019
- # cluster, and if the CMK was created in a different account, the user
3020
- # must have access to the CMK. For more information, see [Allowing
3021
- # Users in Other Accounts to Use a CMK][1] in the *AWS Key Management
3091
+ # Amazon Resource Name (ARN) or alias of the KMS key. The KMS key must
3092
+ # be symmetric, created in the same region as the cluster, and if the
3093
+ # KMS key was created in a different account, the user must have
3094
+ # access to the KMS key. For more information, see [Allowing Users in
3095
+ # Other Accounts to Use a KMS key][1] in the *AWS Key Management
3022
3096
  # Service Developer Guide*.
3023
3097
  #
3024
3098
  #
@@ -3237,6 +3311,39 @@ module Aws::EKS
3237
3311
  #
3238
3312
  class TagResourceResponse < Aws::EmptyStructure; end
3239
3313
 
3314
+ # A property that allows a node to repel a set of pods.
3315
+ #
3316
+ # @note When making an API call, you may pass Taint
3317
+ # data as a hash:
3318
+ #
3319
+ # {
3320
+ # key: "taintKey",
3321
+ # value: "taintValue",
3322
+ # effect: "NO_SCHEDULE", # accepts NO_SCHEDULE, NO_EXECUTE, PREFER_NO_SCHEDULE
3323
+ # }
3324
+ #
3325
+ # @!attribute [rw] key
3326
+ # The key of the taint.
3327
+ # @return [String]
3328
+ #
3329
+ # @!attribute [rw] value
3330
+ # The value of the taint.
3331
+ # @return [String]
3332
+ #
3333
+ # @!attribute [rw] effect
3334
+ # The effect of the taint.
3335
+ # @return [String]
3336
+ #
3337
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/Taint AWS API Documentation
3338
+ #
3339
+ class Taint < Struct.new(
3340
+ :key,
3341
+ :value,
3342
+ :effect)
3343
+ SENSITIVE = []
3344
+ include Aws::Structure
3345
+ end
3346
+
3240
3347
  # At least one of your specified cluster subnets is in an Availability
3241
3348
  # Zone that does not support Amazon EKS. The exception output specifies
3242
3349
  # the supported Availability Zones for your account, from which you can
@@ -3604,6 +3711,22 @@ module Aws::EKS
3604
3711
  # },
3605
3712
  # remove_labels: ["String"],
3606
3713
  # },
3714
+ # taints: {
3715
+ # add_or_update_taints: [
3716
+ # {
3717
+ # key: "taintKey",
3718
+ # value: "taintValue",
3719
+ # effect: "NO_SCHEDULE", # accepts NO_SCHEDULE, NO_EXECUTE, PREFER_NO_SCHEDULE
3720
+ # },
3721
+ # ],
3722
+ # remove_taints: [
3723
+ # {
3724
+ # key: "taintKey",
3725
+ # value: "taintValue",
3726
+ # effect: "NO_SCHEDULE", # accepts NO_SCHEDULE, NO_EXECUTE, PREFER_NO_SCHEDULE
3727
+ # },
3728
+ # ],
3729
+ # },
3607
3730
  # scaling_config: {
3608
3731
  # min_size: 1,
3609
3732
  # max_size: 1,
@@ -3626,6 +3749,11 @@ module Aws::EKS
3626
3749
  # after the update.
3627
3750
  # @return [Types::UpdateLabelsPayload]
3628
3751
  #
3752
+ # @!attribute [rw] taints
3753
+ # The Kubernetes taints to be applied to the nodes in the node group
3754
+ # after the update.
3755
+ # @return [Types::UpdateTaintsPayload]
3756
+ #
3629
3757
  # @!attribute [rw] scaling_config
3630
3758
  # The scaling configuration details for the Auto Scaling group after
3631
3759
  # the update.
@@ -3645,6 +3773,7 @@ module Aws::EKS
3645
3773
  :cluster_name,
3646
3774
  :nodegroup_name,
3647
3775
  :labels,
3776
+ :taints,
3648
3777
  :scaling_config,
3649
3778
  :client_request_token)
3650
3779
  SENSITIVE = []
@@ -3790,6 +3919,45 @@ module Aws::EKS
3790
3919
  include Aws::Structure
3791
3920
  end
3792
3921
 
3922
+ # An object representing the details of an update to a taints payload.
3923
+ #
3924
+ # @note When making an API call, you may pass UpdateTaintsPayload
3925
+ # data as a hash:
3926
+ #
3927
+ # {
3928
+ # add_or_update_taints: [
3929
+ # {
3930
+ # key: "taintKey",
3931
+ # value: "taintValue",
3932
+ # effect: "NO_SCHEDULE", # accepts NO_SCHEDULE, NO_EXECUTE, PREFER_NO_SCHEDULE
3933
+ # },
3934
+ # ],
3935
+ # remove_taints: [
3936
+ # {
3937
+ # key: "taintKey",
3938
+ # value: "taintValue",
3939
+ # effect: "NO_SCHEDULE", # accepts NO_SCHEDULE, NO_EXECUTE, PREFER_NO_SCHEDULE
3940
+ # },
3941
+ # ],
3942
+ # }
3943
+ #
3944
+ # @!attribute [rw] add_or_update_taints
3945
+ # Kubernetes taints to be added or updated.
3946
+ # @return [Array<Types::Taint>]
3947
+ #
3948
+ # @!attribute [rw] remove_taints
3949
+ # Kubernetes taints to be removed.
3950
+ # @return [Array<Types::Taint>]
3951
+ #
3952
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateTaintsPayload AWS API Documentation
3953
+ #
3954
+ class UpdateTaintsPayload < Struct.new(
3955
+ :add_or_update_taints,
3956
+ :remove_taints)
3957
+ SENSITIVE = []
3958
+ include Aws::Structure
3959
+ end
3960
+
3793
3961
  # An object representing the VPC configuration to use for an Amazon EKS
3794
3962
  # cluster.
3795
3963
  #