aws-sdk-eks 1.48.0 → 1.53.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
  #