aws-sdk-eks 1.28.0 → 1.29.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1a8179eeb4541ce7e9577f8681c275f91c91e086
4
- data.tar.gz: '0837f4f1e1b7f3693d15589695abc1b491855d8d'
3
+ metadata.gz: ab062e754d7103f2d652aed8623a8e4f515c18ba
4
+ data.tar.gz: 810a2937ad71c13a9b44ae7d6807561b6baf30ef
5
5
  SHA512:
6
- metadata.gz: 7d82562a24efeb2507cb99f8677fc90236604bc5bf50dd91290c7f946177ae47ac1767c51895650fa2703a0c0ad811442053718ad0db3317a0f6b7fec01a26ec
7
- data.tar.gz: 67abfb1cd0904e90d5ad026679ecef9012e7b964363c3a7fcf78e777374d6e76dfb6e8115af2051fb0b71f707d7be1a36895d95a4f5abb034d331b0429253027
6
+ metadata.gz: de9c790f59a099f704e09688675473e479b8b94705ab9eaddfc577d774cce30942f39762b0a6f21b082caf17567f4f1c6181e0503a7097e1148473cfaef9678f
7
+ data.tar.gz: 3d5042176dba4f4600ac81bfad3dead010a78742ce6fb53fccec8a037db981c2df344ec1e3e3e6b4f96ad2fd78dc8d7c1dad566b69f5df47246c54e19730535b
@@ -43,6 +43,6 @@ require_relative 'aws-sdk-eks/customizations'
43
43
  # @service
44
44
  module Aws::EKS
45
45
 
46
- GEM_VERSION = '1.28.0'
46
+ GEM_VERSION = '1.29.0'
47
47
 
48
48
  end
@@ -461,6 +461,143 @@ module Aws::EKS
461
461
  req.send_request(options)
462
462
  end
463
463
 
464
+ # Creates an AWS Fargate profile for your Amazon EKS cluster. You must
465
+ # have at least one Fargate profile in a cluster to be able to schedule
466
+ # pods on Fargate infrastructure.
467
+ #
468
+ # The Fargate profile allows an administrator to declare which pods run
469
+ # on Fargate infrastructure and specify which pods run on which Fargate
470
+ # profile. This declaration is done through the profile’s selectors.
471
+ # Each profile can have up to five selectors that contain a namespace
472
+ # and labels. A namespace is required for every selector. The label
473
+ # field consists of multiple optional key-value pairs. Pods that match
474
+ # the selectors are scheduled on Fargate infrastructure. If a
475
+ # to-be-scheduled pod matches any of the selectors in the Fargate
476
+ # profile, then that pod is scheduled on Fargate infrastructure.
477
+ #
478
+ # When you create a Fargate profile, you must specify a pod execution
479
+ # role to use with the pods that are scheduled with the profile. This
480
+ # role is added to the cluster's Kubernetes [Role Based Access
481
+ # Control][1] (RBAC) for authorization so that the `kubelet` that is
482
+ # running on the Fargate infrastructure can register with your Amazon
483
+ # EKS cluster. This role is what allows Fargate infrastructure to appear
484
+ # in your cluster as nodes. The pod execution role also provides IAM
485
+ # permissions to the Fargate infrastructure to allow read access to
486
+ # Amazon ECR image repositories. For more information, see [Pod
487
+ # Execution Role][2] in the *Amazon EKS User Guide*.
488
+ #
489
+ # Fargate profiles are immutable. However, you can create a new updated
490
+ # profile to replace an existing profile and then delete the original
491
+ # after the updated profile has finished creating.
492
+ #
493
+ # If any Fargate profiles in a cluster are in the `DELETING` status, you
494
+ # must wait for that Fargate profile to finish deleting before you can
495
+ # create any other profiles in that cluster.
496
+ #
497
+ # For more information, see [AWS Fargate Profile][3] in the *Amazon EKS
498
+ # User Guide*.
499
+ #
500
+ #
501
+ #
502
+ # [1]: https://kubernetes.io/docs/admin/authorization/rbac/
503
+ # [2]: https://docs.aws.amazon.com/eks/latest/userguide/pod-execution-role.html
504
+ # [3]: https://docs.aws.amazon.com/eks/latest/userguide/fargate-profile.html
505
+ #
506
+ # @option params [required, String] :fargate_profile_name
507
+ # The name of the Fargate profile.
508
+ #
509
+ # @option params [required, String] :cluster_name
510
+ # The name of the Amazon EKS cluster to apply the Fargate profile to.
511
+ #
512
+ # @option params [required, String] :pod_execution_role_arn
513
+ # The Amazon Resource Name (ARN) of the pod execution role to use for
514
+ # pods that match the selectors in the Fargate profile. The pod
515
+ # execution role allows Fargate infrastructure to register with your
516
+ # cluster as a node, and it provides read access to Amazon ECR image
517
+ # repositories. For more information, see [Pod Execution Role][1] in the
518
+ # *Amazon EKS User Guide*.
519
+ #
520
+ #
521
+ #
522
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/pod-execution-role.html
523
+ #
524
+ # @option params [Array<String>] :subnets
525
+ # The IDs of subnets to launch Fargate pods into. At this time, Fargate
526
+ # pods are not assigned public IP addresses, so only private subnets
527
+ # (with no direct route to an Internet Gateway) are accepted for this
528
+ # parameter.
529
+ #
530
+ # @option params [Array<Types::FargateProfileSelector>] :selectors
531
+ # The selectors to match for pods to use this Fargate profile. Each
532
+ # selector must have an associated namespace. Optionally, you can also
533
+ # specify labels for a namespace. You may specify up to five selectors
534
+ # in a Fargate profile.
535
+ #
536
+ # @option params [String] :client_request_token
537
+ # Unique, case-sensitive identifier that you provide to ensure the
538
+ # idempotency of the request.
539
+ #
540
+ # **A suitable default value is auto-generated.** You should normally
541
+ # not need to pass this option.**
542
+ #
543
+ # @option params [Hash<String,String>] :tags
544
+ # The metadata to apply to the Fargate profile to assist with
545
+ # categorization and organization. Each tag consists of a key and an
546
+ # optional value, both of which you define. Fargate profile tags do not
547
+ # propagate to any other resources associated with the Fargate profile,
548
+ # such as the pods that are scheduled with it.
549
+ #
550
+ # @return [Types::CreateFargateProfileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
551
+ #
552
+ # * {Types::CreateFargateProfileResponse#fargate_profile #fargate_profile} => Types::FargateProfile
553
+ #
554
+ # @example Request syntax with placeholder values
555
+ #
556
+ # resp = client.create_fargate_profile({
557
+ # fargate_profile_name: "String", # required
558
+ # cluster_name: "String", # required
559
+ # pod_execution_role_arn: "String", # required
560
+ # subnets: ["String"],
561
+ # selectors: [
562
+ # {
563
+ # namespace: "String",
564
+ # labels: {
565
+ # "String" => "String",
566
+ # },
567
+ # },
568
+ # ],
569
+ # client_request_token: "String",
570
+ # tags: {
571
+ # "TagKey" => "TagValue",
572
+ # },
573
+ # })
574
+ #
575
+ # @example Response structure
576
+ #
577
+ # resp.fargate_profile.fargate_profile_name #=> String
578
+ # resp.fargate_profile.fargate_profile_arn #=> String
579
+ # resp.fargate_profile.cluster_name #=> String
580
+ # resp.fargate_profile.created_at #=> Time
581
+ # resp.fargate_profile.pod_execution_role_arn #=> String
582
+ # resp.fargate_profile.subnets #=> Array
583
+ # resp.fargate_profile.subnets[0] #=> String
584
+ # resp.fargate_profile.selectors #=> Array
585
+ # resp.fargate_profile.selectors[0].namespace #=> String
586
+ # resp.fargate_profile.selectors[0].labels #=> Hash
587
+ # resp.fargate_profile.selectors[0].labels["String"] #=> String
588
+ # resp.fargate_profile.status #=> String, one of "CREATING", "ACTIVE", "DELETING", "CREATE_FAILED", "DELETE_FAILED"
589
+ # resp.fargate_profile.tags #=> Hash
590
+ # resp.fargate_profile.tags["TagKey"] #=> String
591
+ #
592
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateFargateProfile AWS API Documentation
593
+ #
594
+ # @overload create_fargate_profile(params = {})
595
+ # @param [Hash] params ({})
596
+ def create_fargate_profile(params = {}, options = {})
597
+ req = build_request(:create_fargate_profile, params)
598
+ req.send_request(options)
599
+ end
600
+
464
601
  # Creates a managed worker node group for an Amazon EKS cluster. You can
465
602
  # only create a node group for your cluster that is equal to the current
466
603
  # Kubernetes version for the cluster. All node groups are created with
@@ -484,7 +621,7 @@ module Aws::EKS
484
621
  # The unique name to give your node group.
485
622
  #
486
623
  # @option params [Types::NodegroupScalingConfig] :scaling_config
487
- # The scaling configuration details for the AutoScaling group that is
624
+ # The scaling configuration details for the Auto Scaling group that is
488
625
  # created for your node group.
489
626
  #
490
627
  # @option params [Integer] :disk_size
@@ -492,7 +629,7 @@ module Aws::EKS
492
629
  # default disk size is 20 GiB.
493
630
  #
494
631
  # @option params [required, Array<String>] :subnets
495
- # The subnets to use for the AutoScaling group that is created for your
632
+ # The subnets to use for the Auto Scaling group that is created for your
496
633
  # node group. These subnets must have the tag key
497
634
  # `kubernetes.io/cluster/CLUSTER_NAME` with a value of `shared`, where
498
635
  # `CLUSTER_NAME` is replaced with the name of your cluster.
@@ -506,7 +643,7 @@ module Aws::EKS
506
643
  # @option params [String] :ami_type
507
644
  # The AMI type for your node group. GPU instance types should use the
508
645
  # `AL2_x86_64_GPU` AMI type, which uses the Amazon EKS-optimized Linux
509
- # AMI with GPU support; non-GPU instances should use the `AL2_x86_64`
646
+ # AMI with GPU support. Non-GPU instances should use the `AL2_x86_64`
510
647
  # AMI type, which uses the Amazon EKS-optimized Linux AMI.
511
648
  #
512
649
  # @option params [Types::RemoteAccessConfig] :remote_access
@@ -648,8 +785,9 @@ module Aws::EKS
648
785
  # being able to delete the VPC. For more information, see [Deleting a
649
786
  # Cluster][1] in the *Amazon EKS User Guide*.
650
787
  #
651
- # If you have managed node groups attached to the cluster, you must
652
- # delete them first. For more information, see DeleteNodegroup.
788
+ # If you have managed node groups or Fargate profiles attached to the
789
+ # cluster, you must delete them first. For more information, see
790
+ # DeleteNodegroup andDeleteFargateProfile.
653
791
  #
654
792
  #
655
793
  #
@@ -718,6 +856,62 @@ module Aws::EKS
718
856
  req.send_request(options)
719
857
  end
720
858
 
859
+ # Deletes an AWS Fargate profile.
860
+ #
861
+ # When you delete a Fargate profile, any pods that were scheduled onto
862
+ # Fargate infrastructure with the profile are deleted. If those pods
863
+ # match another Fargate profile, then they are scheduled on Fargate
864
+ # infrastructure with that profile. If they no longer match any Fargate
865
+ # profiles, then they are not scheduled on Fargate infrastructure.
866
+ #
867
+ # Only one Fargate profile in a cluster can be in the `DELETING` status
868
+ # at a time. You must wait for a Fargate profile to finish deleting
869
+ # before you can delete any other profiles in that cluster.
870
+ #
871
+ # @option params [required, String] :cluster_name
872
+ # The name of the Amazon EKS cluster associated with the Fargate profile
873
+ # to delete.
874
+ #
875
+ # @option params [required, String] :fargate_profile_name
876
+ # The name of the Fargate profile to delete.
877
+ #
878
+ # @return [Types::DeleteFargateProfileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
879
+ #
880
+ # * {Types::DeleteFargateProfileResponse#fargate_profile #fargate_profile} => Types::FargateProfile
881
+ #
882
+ # @example Request syntax with placeholder values
883
+ #
884
+ # resp = client.delete_fargate_profile({
885
+ # cluster_name: "String", # required
886
+ # fargate_profile_name: "String", # required
887
+ # })
888
+ #
889
+ # @example Response structure
890
+ #
891
+ # resp.fargate_profile.fargate_profile_name #=> String
892
+ # resp.fargate_profile.fargate_profile_arn #=> String
893
+ # resp.fargate_profile.cluster_name #=> String
894
+ # resp.fargate_profile.created_at #=> Time
895
+ # resp.fargate_profile.pod_execution_role_arn #=> String
896
+ # resp.fargate_profile.subnets #=> Array
897
+ # resp.fargate_profile.subnets[0] #=> String
898
+ # resp.fargate_profile.selectors #=> Array
899
+ # resp.fargate_profile.selectors[0].namespace #=> String
900
+ # resp.fargate_profile.selectors[0].labels #=> Hash
901
+ # resp.fargate_profile.selectors[0].labels["String"] #=> String
902
+ # resp.fargate_profile.status #=> String, one of "CREATING", "ACTIVE", "DELETING", "CREATE_FAILED", "DELETE_FAILED"
903
+ # resp.fargate_profile.tags #=> Hash
904
+ # resp.fargate_profile.tags["TagKey"] #=> String
905
+ #
906
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteFargateProfile AWS API Documentation
907
+ #
908
+ # @overload delete_fargate_profile(params = {})
909
+ # @param [Hash] params ({})
910
+ def delete_fargate_profile(params = {}, options = {})
911
+ req = build_request(:delete_fargate_profile, params)
912
+ req.send_request(options)
913
+ end
914
+
721
915
  # Deletes an Amazon EKS node group for a cluster.
722
916
  #
723
917
  # @option params [required, String] :cluster_name
@@ -884,6 +1078,52 @@ module Aws::EKS
884
1078
  req.send_request(options)
885
1079
  end
886
1080
 
1081
+ # Returns descriptive information about an AWS Fargate profile.
1082
+ #
1083
+ # @option params [required, String] :cluster_name
1084
+ # The name of the Amazon EKS cluster associated with the Fargate
1085
+ # profile.
1086
+ #
1087
+ # @option params [required, String] :fargate_profile_name
1088
+ # The name of the Fargate profile to describe.
1089
+ #
1090
+ # @return [Types::DescribeFargateProfileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1091
+ #
1092
+ # * {Types::DescribeFargateProfileResponse#fargate_profile #fargate_profile} => Types::FargateProfile
1093
+ #
1094
+ # @example Request syntax with placeholder values
1095
+ #
1096
+ # resp = client.describe_fargate_profile({
1097
+ # cluster_name: "String", # required
1098
+ # fargate_profile_name: "String", # required
1099
+ # })
1100
+ #
1101
+ # @example Response structure
1102
+ #
1103
+ # resp.fargate_profile.fargate_profile_name #=> String
1104
+ # resp.fargate_profile.fargate_profile_arn #=> String
1105
+ # resp.fargate_profile.cluster_name #=> String
1106
+ # resp.fargate_profile.created_at #=> Time
1107
+ # resp.fargate_profile.pod_execution_role_arn #=> String
1108
+ # resp.fargate_profile.subnets #=> Array
1109
+ # resp.fargate_profile.subnets[0] #=> String
1110
+ # resp.fargate_profile.selectors #=> Array
1111
+ # resp.fargate_profile.selectors[0].namespace #=> String
1112
+ # resp.fargate_profile.selectors[0].labels #=> Hash
1113
+ # resp.fargate_profile.selectors[0].labels["String"] #=> String
1114
+ # resp.fargate_profile.status #=> String, one of "CREATING", "ACTIVE", "DELETING", "CREATE_FAILED", "DELETE_FAILED"
1115
+ # resp.fargate_profile.tags #=> Hash
1116
+ # resp.fargate_profile.tags["TagKey"] #=> String
1117
+ #
1118
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeFargateProfile AWS API Documentation
1119
+ #
1120
+ # @overload describe_fargate_profile(params = {})
1121
+ # @param [Hash] params ({})
1122
+ def describe_fargate_profile(params = {}, options = {})
1123
+ req = build_request(:describe_fargate_profile, params)
1124
+ req.send_request(options)
1125
+ end
1126
+
887
1127
  # Returns descriptive information about an Amazon EKS node group.
888
1128
  #
889
1129
  # @option params [required, String] :cluster_name
@@ -1068,6 +1308,59 @@ module Aws::EKS
1068
1308
  req.send_request(options)
1069
1309
  end
1070
1310
 
1311
+ # Lists the AWS Fargate profiles associated with the specified cluster
1312
+ # in your AWS account in the specified Region.
1313
+ #
1314
+ # @option params [required, String] :cluster_name
1315
+ # The name of the Amazon EKS cluster that you would like to listFargate
1316
+ # profiles in.
1317
+ #
1318
+ # @option params [Integer] :max_results
1319
+ # The maximum number of Fargate profile results returned by
1320
+ # `ListFargateProfiles` in paginated output. When you use this
1321
+ # parameter, `ListFargateProfiles` returns only `maxResults` results in
1322
+ # a single page along with a `nextToken` response element. You can see
1323
+ # the remaining results of the initial request by sending another
1324
+ # `ListFargateProfiles` request with the returned `nextToken` value.
1325
+ # This value can be between 1 and 100. If you don't use this parameter,
1326
+ # `ListFargateProfiles` returns up to 100 results and a `nextToken`
1327
+ # value if applicable.
1328
+ #
1329
+ # @option params [String] :next_token
1330
+ # The `nextToken` value returned from a previous paginated
1331
+ # `ListFargateProfiles` request where `maxResults` was used and the
1332
+ # results exceeded the value of that parameter. Pagination continues
1333
+ # from the end of the previous results that returned the `nextToken`
1334
+ # value.
1335
+ #
1336
+ # @return [Types::ListFargateProfilesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1337
+ #
1338
+ # * {Types::ListFargateProfilesResponse#fargate_profile_names #fargate_profile_names} => Array&lt;String&gt;
1339
+ # * {Types::ListFargateProfilesResponse#next_token #next_token} => String
1340
+ #
1341
+ # @example Request syntax with placeholder values
1342
+ #
1343
+ # resp = client.list_fargate_profiles({
1344
+ # cluster_name: "String", # required
1345
+ # max_results: 1,
1346
+ # next_token: "String",
1347
+ # })
1348
+ #
1349
+ # @example Response structure
1350
+ #
1351
+ # resp.fargate_profile_names #=> Array
1352
+ # resp.fargate_profile_names[0] #=> String
1353
+ # resp.next_token #=> String
1354
+ #
1355
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListFargateProfiles AWS API Documentation
1356
+ #
1357
+ # @overload list_fargate_profiles(params = {})
1358
+ # @param [Hash] params ({})
1359
+ def list_fargate_profiles(params = {}, options = {})
1360
+ req = build_request(:list_fargate_profiles, params)
1361
+ req.send_request(options)
1362
+ end
1363
+
1071
1364
  # Lists the Amazon EKS node groups associated with the specified cluster
1072
1365
  # in your AWS account in the specified Region.
1073
1366
  #
@@ -1487,7 +1780,7 @@ module Aws::EKS
1487
1780
  # after the update.
1488
1781
  #
1489
1782
  # @option params [Types::NodegroupScalingConfig] :scaling_config
1490
- # The scaling configuration details for the AutoScaling group after the
1783
+ # The scaling configuration details for the Auto Scaling group after the
1491
1784
  # update.
1492
1785
  #
1493
1786
  # @option params [String] :client_request_token
@@ -1592,10 +1885,10 @@ module Aws::EKS
1592
1885
  #
1593
1886
  # @option params [Boolean] :force
1594
1887
  # Force the update if the existing node group's pods are unable to be
1595
- # drained due to a pod disruption budget issue. If a previous update
1596
- # fails because pods could not be drained, you can force the update
1597
- # after it fails to terminate the old node regardless of whether or not
1598
- # any pods are running on the node.
1888
+ # drained due to a pod disruption budget issue. If an update fails
1889
+ # because pods could not be drained, you can force the update after it
1890
+ # fails to terminate the old node whether or not any pods are running on
1891
+ # the node.
1599
1892
  #
1600
1893
  # @option params [String] :client_request_token
1601
1894
  # Unique, case-sensitive identifier that you provide to ensure the
@@ -1656,7 +1949,7 @@ module Aws::EKS
1656
1949
  params: params,
1657
1950
  config: config)
1658
1951
  context[:gem_name] = 'aws-sdk-eks'
1659
- context[:gem_version] = '1.28.0'
1952
+ context[:gem_version] = '1.29.0'
1660
1953
  Seahorse::Client::Request.new(handlers, context)
1661
1954
  end
1662
1955
 
@@ -26,14 +26,20 @@ module Aws::EKS
26
26
  ClusterStatus = Shapes::StringShape.new(name: 'ClusterStatus')
27
27
  CreateClusterRequest = Shapes::StructureShape.new(name: 'CreateClusterRequest')
28
28
  CreateClusterResponse = Shapes::StructureShape.new(name: 'CreateClusterResponse')
29
+ CreateFargateProfileRequest = Shapes::StructureShape.new(name: 'CreateFargateProfileRequest')
30
+ CreateFargateProfileResponse = Shapes::StructureShape.new(name: 'CreateFargateProfileResponse')
29
31
  CreateNodegroupRequest = Shapes::StructureShape.new(name: 'CreateNodegroupRequest')
30
32
  CreateNodegroupResponse = Shapes::StructureShape.new(name: 'CreateNodegroupResponse')
31
33
  DeleteClusterRequest = Shapes::StructureShape.new(name: 'DeleteClusterRequest')
32
34
  DeleteClusterResponse = Shapes::StructureShape.new(name: 'DeleteClusterResponse')
35
+ DeleteFargateProfileRequest = Shapes::StructureShape.new(name: 'DeleteFargateProfileRequest')
36
+ DeleteFargateProfileResponse = Shapes::StructureShape.new(name: 'DeleteFargateProfileResponse')
33
37
  DeleteNodegroupRequest = Shapes::StructureShape.new(name: 'DeleteNodegroupRequest')
34
38
  DeleteNodegroupResponse = Shapes::StructureShape.new(name: 'DeleteNodegroupResponse')
35
39
  DescribeClusterRequest = Shapes::StructureShape.new(name: 'DescribeClusterRequest')
36
40
  DescribeClusterResponse = Shapes::StructureShape.new(name: 'DescribeClusterResponse')
41
+ DescribeFargateProfileRequest = Shapes::StructureShape.new(name: 'DescribeFargateProfileRequest')
42
+ DescribeFargateProfileResponse = Shapes::StructureShape.new(name: 'DescribeFargateProfileResponse')
37
43
  DescribeNodegroupRequest = Shapes::StructureShape.new(name: 'DescribeNodegroupRequest')
38
44
  DescribeNodegroupResponse = Shapes::StructureShape.new(name: 'DescribeNodegroupResponse')
39
45
  DescribeUpdateRequest = Shapes::StructureShape.new(name: 'DescribeUpdateRequest')
@@ -41,6 +47,12 @@ module Aws::EKS
41
47
  ErrorCode = Shapes::StringShape.new(name: 'ErrorCode')
42
48
  ErrorDetail = Shapes::StructureShape.new(name: 'ErrorDetail')
43
49
  ErrorDetails = Shapes::ListShape.new(name: 'ErrorDetails')
50
+ FargateProfile = Shapes::StructureShape.new(name: 'FargateProfile')
51
+ FargateProfileLabel = Shapes::MapShape.new(name: 'FargateProfileLabel')
52
+ FargateProfileSelector = Shapes::StructureShape.new(name: 'FargateProfileSelector')
53
+ FargateProfileSelectors = Shapes::ListShape.new(name: 'FargateProfileSelectors')
54
+ FargateProfileStatus = Shapes::StringShape.new(name: 'FargateProfileStatus')
55
+ FargateProfilesRequestMaxResults = Shapes::IntegerShape.new(name: 'FargateProfilesRequestMaxResults')
44
56
  Identity = Shapes::StructureShape.new(name: 'Identity')
45
57
  InvalidParameterException = Shapes::StructureShape.new(name: 'InvalidParameterException')
46
58
  InvalidRequestException = Shapes::StructureShape.new(name: 'InvalidRequestException')
@@ -49,6 +61,8 @@ module Aws::EKS
49
61
  ListClustersRequest = Shapes::StructureShape.new(name: 'ListClustersRequest')
50
62
  ListClustersRequestMaxResults = Shapes::IntegerShape.new(name: 'ListClustersRequestMaxResults')
51
63
  ListClustersResponse = Shapes::StructureShape.new(name: 'ListClustersResponse')
64
+ ListFargateProfilesRequest = Shapes::StructureShape.new(name: 'ListFargateProfilesRequest')
65
+ ListFargateProfilesResponse = Shapes::StructureShape.new(name: 'ListFargateProfilesResponse')
52
66
  ListNodegroupsRequest = Shapes::StructureShape.new(name: 'ListNodegroupsRequest')
53
67
  ListNodegroupsRequestMaxResults = Shapes::IntegerShape.new(name: 'ListNodegroupsRequestMaxResults')
54
68
  ListNodegroupsResponse = Shapes::StructureShape.new(name: 'ListNodegroupsResponse')
@@ -154,6 +168,18 @@ module Aws::EKS
154
168
  CreateClusterResponse.add_member(:cluster, Shapes::ShapeRef.new(shape: Cluster, location_name: "cluster"))
155
169
  CreateClusterResponse.struct_class = Types::CreateClusterResponse
156
170
 
171
+ CreateFargateProfileRequest.add_member(:fargate_profile_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "fargateProfileName"))
172
+ CreateFargateProfileRequest.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "name"))
173
+ CreateFargateProfileRequest.add_member(:pod_execution_role_arn, Shapes::ShapeRef.new(shape: String, required: true, location_name: "podExecutionRoleArn"))
174
+ CreateFargateProfileRequest.add_member(:subnets, Shapes::ShapeRef.new(shape: StringList, location_name: "subnets"))
175
+ CreateFargateProfileRequest.add_member(:selectors, Shapes::ShapeRef.new(shape: FargateProfileSelectors, location_name: "selectors"))
176
+ CreateFargateProfileRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: String, location_name: "clientRequestToken", metadata: {"idempotencyToken"=>true}))
177
+ CreateFargateProfileRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
178
+ CreateFargateProfileRequest.struct_class = Types::CreateFargateProfileRequest
179
+
180
+ CreateFargateProfileResponse.add_member(:fargate_profile, Shapes::ShapeRef.new(shape: FargateProfile, location_name: "fargateProfile"))
181
+ CreateFargateProfileResponse.struct_class = Types::CreateFargateProfileResponse
182
+
157
183
  CreateNodegroupRequest.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "name"))
158
184
  CreateNodegroupRequest.add_member(:nodegroup_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "nodegroupName"))
159
185
  CreateNodegroupRequest.add_member(:scaling_config, Shapes::ShapeRef.new(shape: NodegroupScalingConfig, location_name: "scalingConfig"))
@@ -179,6 +205,13 @@ module Aws::EKS
179
205
  DeleteClusterResponse.add_member(:cluster, Shapes::ShapeRef.new(shape: Cluster, location_name: "cluster"))
180
206
  DeleteClusterResponse.struct_class = Types::DeleteClusterResponse
181
207
 
208
+ DeleteFargateProfileRequest.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "name"))
209
+ DeleteFargateProfileRequest.add_member(:fargate_profile_name, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "fargateProfileName"))
210
+ DeleteFargateProfileRequest.struct_class = Types::DeleteFargateProfileRequest
211
+
212
+ DeleteFargateProfileResponse.add_member(:fargate_profile, Shapes::ShapeRef.new(shape: FargateProfile, location_name: "fargateProfile"))
213
+ DeleteFargateProfileResponse.struct_class = Types::DeleteFargateProfileResponse
214
+
182
215
  DeleteNodegroupRequest.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "name"))
183
216
  DeleteNodegroupRequest.add_member(:nodegroup_name, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "nodegroupName"))
184
217
  DeleteNodegroupRequest.struct_class = Types::DeleteNodegroupRequest
@@ -192,6 +225,13 @@ module Aws::EKS
192
225
  DescribeClusterResponse.add_member(:cluster, Shapes::ShapeRef.new(shape: Cluster, location_name: "cluster"))
193
226
  DescribeClusterResponse.struct_class = Types::DescribeClusterResponse
194
227
 
228
+ DescribeFargateProfileRequest.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "name"))
229
+ DescribeFargateProfileRequest.add_member(:fargate_profile_name, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "fargateProfileName"))
230
+ DescribeFargateProfileRequest.struct_class = Types::DescribeFargateProfileRequest
231
+
232
+ DescribeFargateProfileResponse.add_member(:fargate_profile, Shapes::ShapeRef.new(shape: FargateProfile, location_name: "fargateProfile"))
233
+ DescribeFargateProfileResponse.struct_class = Types::DescribeFargateProfileResponse
234
+
195
235
  DescribeNodegroupRequest.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "name"))
196
236
  DescribeNodegroupRequest.add_member(:nodegroup_name, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "nodegroupName"))
197
237
  DescribeNodegroupRequest.struct_class = Types::DescribeNodegroupRequest
@@ -214,11 +254,32 @@ module Aws::EKS
214
254
 
215
255
  ErrorDetails.member = Shapes::ShapeRef.new(shape: ErrorDetail)
216
256
 
257
+ FargateProfile.add_member(:fargate_profile_name, Shapes::ShapeRef.new(shape: String, location_name: "fargateProfileName"))
258
+ FargateProfile.add_member(:fargate_profile_arn, Shapes::ShapeRef.new(shape: String, location_name: "fargateProfileArn"))
259
+ FargateProfile.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, location_name: "clusterName"))
260
+ FargateProfile.add_member(:created_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "createdAt"))
261
+ FargateProfile.add_member(:pod_execution_role_arn, Shapes::ShapeRef.new(shape: String, location_name: "podExecutionRoleArn"))
262
+ FargateProfile.add_member(:subnets, Shapes::ShapeRef.new(shape: StringList, location_name: "subnets"))
263
+ FargateProfile.add_member(:selectors, Shapes::ShapeRef.new(shape: FargateProfileSelectors, location_name: "selectors"))
264
+ FargateProfile.add_member(:status, Shapes::ShapeRef.new(shape: FargateProfileStatus, location_name: "status"))
265
+ FargateProfile.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
266
+ FargateProfile.struct_class = Types::FargateProfile
267
+
268
+ FargateProfileLabel.key = Shapes::ShapeRef.new(shape: String)
269
+ FargateProfileLabel.value = Shapes::ShapeRef.new(shape: String)
270
+
271
+ FargateProfileSelector.add_member(:namespace, Shapes::ShapeRef.new(shape: String, location_name: "namespace"))
272
+ FargateProfileSelector.add_member(:labels, Shapes::ShapeRef.new(shape: FargateProfileLabel, location_name: "labels"))
273
+ FargateProfileSelector.struct_class = Types::FargateProfileSelector
274
+
275
+ FargateProfileSelectors.member = Shapes::ShapeRef.new(shape: FargateProfileSelector)
276
+
217
277
  Identity.add_member(:oidc, Shapes::ShapeRef.new(shape: OIDC, location_name: "oidc"))
218
278
  Identity.struct_class = Types::Identity
219
279
 
220
280
  InvalidParameterException.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, location_name: "clusterName"))
221
281
  InvalidParameterException.add_member(:nodegroup_name, Shapes::ShapeRef.new(shape: String, location_name: "nodegroupName"))
282
+ InvalidParameterException.add_member(:fargate_profile_name, Shapes::ShapeRef.new(shape: String, location_name: "fargateProfileName"))
222
283
  InvalidParameterException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message"))
223
284
  InvalidParameterException.struct_class = Types::InvalidParameterException
224
285
 
@@ -242,6 +303,15 @@ module Aws::EKS
242
303
  ListClustersResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
243
304
  ListClustersResponse.struct_class = Types::ListClustersResponse
244
305
 
306
+ ListFargateProfilesRequest.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "name"))
307
+ ListFargateProfilesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: FargateProfilesRequestMaxResults, location: "querystring", location_name: "maxResults"))
308
+ ListFargateProfilesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location: "querystring", location_name: "nextToken"))
309
+ ListFargateProfilesRequest.struct_class = Types::ListFargateProfilesRequest
310
+
311
+ ListFargateProfilesResponse.add_member(:fargate_profile_names, Shapes::ShapeRef.new(shape: StringList, location_name: "fargateProfileNames"))
312
+ ListFargateProfilesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
313
+ ListFargateProfilesResponse.struct_class = Types::ListFargateProfilesResponse
314
+
245
315
  ListNodegroupsRequest.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "name"))
246
316
  ListNodegroupsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: ListNodegroupsRequestMaxResults, location: "querystring", location_name: "maxResults"))
247
317
  ListNodegroupsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location: "querystring", location_name: "nextToken"))
@@ -333,6 +403,7 @@ module Aws::EKS
333
403
 
334
404
  ResourceNotFoundException.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, location_name: "clusterName"))
335
405
  ResourceNotFoundException.add_member(:nodegroup_name, Shapes::ShapeRef.new(shape: String, location_name: "nodegroupName"))
406
+ ResourceNotFoundException.add_member(:fargate_profile_name, Shapes::ShapeRef.new(shape: String, location_name: "fargateProfileName"))
336
407
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message"))
337
408
  ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
338
409
 
@@ -478,6 +549,20 @@ module Aws::EKS
478
549
  o.errors << Shapes::ShapeRef.new(shape: UnsupportedAvailabilityZoneException)
479
550
  end)
480
551
 
552
+ api.add_operation(:create_fargate_profile, Seahorse::Model::Operation.new.tap do |o|
553
+ o.name = "CreateFargateProfile"
554
+ o.http_method = "POST"
555
+ o.http_request_uri = "/clusters/{name}/fargate-profiles"
556
+ o.input = Shapes::ShapeRef.new(shape: CreateFargateProfileRequest)
557
+ o.output = Shapes::ShapeRef.new(shape: CreateFargateProfileResponse)
558
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
559
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
560
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
561
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
562
+ o.errors << Shapes::ShapeRef.new(shape: ResourceLimitExceededException)
563
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedAvailabilityZoneException)
564
+ end)
565
+
481
566
  api.add_operation(:create_nodegroup, Seahorse::Model::Operation.new.tap do |o|
482
567
  o.name = "CreateNodegroup"
483
568
  o.http_method = "POST"
@@ -506,6 +591,18 @@ module Aws::EKS
506
591
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
507
592
  end)
508
593
 
594
+ api.add_operation(:delete_fargate_profile, Seahorse::Model::Operation.new.tap do |o|
595
+ o.name = "DeleteFargateProfile"
596
+ o.http_method = "DELETE"
597
+ o.http_request_uri = "/clusters/{name}/fargate-profiles/{fargateProfileName}"
598
+ o.input = Shapes::ShapeRef.new(shape: DeleteFargateProfileRequest)
599
+ o.output = Shapes::ShapeRef.new(shape: DeleteFargateProfileResponse)
600
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
601
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
602
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
603
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
604
+ end)
605
+
509
606
  api.add_operation(:delete_nodegroup, Seahorse::Model::Operation.new.tap do |o|
510
607
  o.name = "DeleteNodegroup"
511
608
  o.http_method = "DELETE"
@@ -532,6 +629,18 @@ module Aws::EKS
532
629
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
533
630
  end)
534
631
 
632
+ api.add_operation(:describe_fargate_profile, Seahorse::Model::Operation.new.tap do |o|
633
+ o.name = "DescribeFargateProfile"
634
+ o.http_method = "GET"
635
+ o.http_request_uri = "/clusters/{name}/fargate-profiles/{fargateProfileName}"
636
+ o.input = Shapes::ShapeRef.new(shape: DescribeFargateProfileRequest)
637
+ o.output = Shapes::ShapeRef.new(shape: DescribeFargateProfileResponse)
638
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
639
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
640
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
641
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
642
+ end)
643
+
535
644
  api.add_operation(:describe_nodegroup, Seahorse::Model::Operation.new.tap do |o|
536
645
  o.name = "DescribeNodegroup"
537
646
  o.http_method = "GET"
@@ -575,6 +684,24 @@ module Aws::EKS
575
684
  )
576
685
  end)
577
686
 
687
+ api.add_operation(:list_fargate_profiles, Seahorse::Model::Operation.new.tap do |o|
688
+ o.name = "ListFargateProfiles"
689
+ o.http_method = "GET"
690
+ o.http_request_uri = "/clusters/{name}/fargate-profiles"
691
+ o.input = Shapes::ShapeRef.new(shape: ListFargateProfilesRequest)
692
+ o.output = Shapes::ShapeRef.new(shape: ListFargateProfilesResponse)
693
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
694
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
695
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
696
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
697
+ o[:pager] = Aws::Pager.new(
698
+ limit_key: "max_results",
699
+ tokens: {
700
+ "next_token" => "next_token"
701
+ }
702
+ )
703
+ end)
704
+
578
705
  api.add_operation(:list_nodegroups, Seahorse::Model::Operation.new.tap do |o|
579
706
  o.name = "ListNodegroups"
580
707
  o.http_method = "GET"
@@ -71,6 +71,11 @@ module Aws::EKS
71
71
  @data[:nodegroup_name]
72
72
  end
73
73
 
74
+ # @return [String]
75
+ def fargate_profile_name
76
+ @data[:fargate_profile_name]
77
+ end
78
+
74
79
  # @return [String]
75
80
  def message
76
81
  @message || @data[:message]
@@ -191,6 +196,11 @@ module Aws::EKS
191
196
  @data[:nodegroup_name]
192
197
  end
193
198
 
199
+ # @return [String]
200
+ def fargate_profile_name
201
+ @data[:fargate_profile_name]
202
+ end
203
+
194
204
  # @return [String]
195
205
  def message
196
206
  @message || @data[:message]
@@ -8,11 +8,11 @@
8
8
  module Aws::EKS
9
9
  module Types
10
10
 
11
- # An AutoScaling group that is associated with an Amazon EKS managed
11
+ # An Auto Scaling group that is associated with an Amazon EKS managed
12
12
  # node group.
13
13
  #
14
14
  # @!attribute [rw] name
15
- # The name of the AutoScaling group associated with an Amazon EKS
15
+ # The name of the Auto Scaling group associated with an Amazon EKS
16
16
  # managed node group.
17
17
  # @return [String]
18
18
  #
@@ -63,6 +63,7 @@ module Aws::EKS
63
63
  # @return [String]
64
64
  #
65
65
  # @!attribute [rw] nodegroup_name
66
+ # The Amazon EKS managed node group associated with the exception.
66
67
  # @return [String]
67
68
  #
68
69
  # @!attribute [rw] message
@@ -297,6 +298,103 @@ module Aws::EKS
297
298
  include Aws::Structure
298
299
  end
299
300
 
301
+ # @note When making an API call, you may pass CreateFargateProfileRequest
302
+ # data as a hash:
303
+ #
304
+ # {
305
+ # fargate_profile_name: "String", # required
306
+ # cluster_name: "String", # required
307
+ # pod_execution_role_arn: "String", # required
308
+ # subnets: ["String"],
309
+ # selectors: [
310
+ # {
311
+ # namespace: "String",
312
+ # labels: {
313
+ # "String" => "String",
314
+ # },
315
+ # },
316
+ # ],
317
+ # client_request_token: "String",
318
+ # tags: {
319
+ # "TagKey" => "TagValue",
320
+ # },
321
+ # }
322
+ #
323
+ # @!attribute [rw] fargate_profile_name
324
+ # The name of the Fargate profile.
325
+ # @return [String]
326
+ #
327
+ # @!attribute [rw] cluster_name
328
+ # The name of the Amazon EKS cluster to apply the Fargate profile to.
329
+ # @return [String]
330
+ #
331
+ # @!attribute [rw] pod_execution_role_arn
332
+ # The Amazon Resource Name (ARN) of the pod execution role to use for
333
+ # pods that match the selectors in the Fargate profile. The pod
334
+ # execution role allows Fargate infrastructure to register with your
335
+ # cluster as a node, and it provides read access to Amazon ECR image
336
+ # repositories. For more information, see [Pod Execution Role][1] in
337
+ # the *Amazon EKS User Guide*.
338
+ #
339
+ #
340
+ #
341
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/pod-execution-role.html
342
+ # @return [String]
343
+ #
344
+ # @!attribute [rw] subnets
345
+ # The IDs of subnets to launch Fargate pods into. At this time,
346
+ # Fargate pods are not assigned public IP addresses, so only private
347
+ # subnets (with no direct route to an Internet Gateway) are accepted
348
+ # for this parameter.
349
+ # @return [Array<String>]
350
+ #
351
+ # @!attribute [rw] selectors
352
+ # The selectors to match for pods to use this Fargate profile. Each
353
+ # selector must have an associated namespace. Optionally, you can also
354
+ # specify labels for a namespace. You may specify up to five selectors
355
+ # in a Fargate profile.
356
+ # @return [Array<Types::FargateProfileSelector>]
357
+ #
358
+ # @!attribute [rw] client_request_token
359
+ # Unique, case-sensitive identifier that you provide to ensure the
360
+ # idempotency of the request.
361
+ #
362
+ # **A suitable default value is auto-generated.** You should normally
363
+ # not need to pass this option.
364
+ # @return [String]
365
+ #
366
+ # @!attribute [rw] tags
367
+ # The metadata to apply to the Fargate profile to assist with
368
+ # categorization and organization. Each tag consists of a key and an
369
+ # optional value, both of which you define. Fargate profile tags do
370
+ # not propagate to any other resources associated with the Fargate
371
+ # profile, such as the pods that are scheduled with it.
372
+ # @return [Hash<String,String>]
373
+ #
374
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateFargateProfileRequest AWS API Documentation
375
+ #
376
+ class CreateFargateProfileRequest < Struct.new(
377
+ :fargate_profile_name,
378
+ :cluster_name,
379
+ :pod_execution_role_arn,
380
+ :subnets,
381
+ :selectors,
382
+ :client_request_token,
383
+ :tags)
384
+ include Aws::Structure
385
+ end
386
+
387
+ # @!attribute [rw] fargate_profile
388
+ # The full description of your new Fargate profile.
389
+ # @return [Types::FargateProfile]
390
+ #
391
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateFargateProfileResponse AWS API Documentation
392
+ #
393
+ class CreateFargateProfileResponse < Struct.new(
394
+ :fargate_profile)
395
+ include Aws::Structure
396
+ end
397
+
300
398
  # @note When making an API call, you may pass CreateNodegroupRequest
301
399
  # data as a hash:
302
400
  #
@@ -337,7 +435,7 @@ module Aws::EKS
337
435
  # @return [String]
338
436
  #
339
437
  # @!attribute [rw] scaling_config
340
- # The scaling configuration details for the AutoScaling group that is
438
+ # The scaling configuration details for the Auto Scaling group that is
341
439
  # created for your node group.
342
440
  # @return [Types::NodegroupScalingConfig]
343
441
  #
@@ -347,7 +445,7 @@ module Aws::EKS
347
445
  # @return [Integer]
348
446
  #
349
447
  # @!attribute [rw] subnets
350
- # The subnets to use for the AutoScaling group that is created for
448
+ # The subnets to use for the Auto Scaling group that is created for
351
449
  # your node group. These subnets must have the tag key
352
450
  # `kubernetes.io/cluster/CLUSTER_NAME` with a value of `shared`, where
353
451
  # `CLUSTER_NAME` is replaced with the name of your cluster.
@@ -364,7 +462,7 @@ module Aws::EKS
364
462
  # @!attribute [rw] ami_type
365
463
  # The AMI type for your node group. GPU instance types should use the
366
464
  # `AL2_x86_64_GPU` AMI type, which uses the Amazon EKS-optimized Linux
367
- # AMI with GPU support; non-GPU instances should use the `AL2_x86_64`
465
+ # AMI with GPU support. Non-GPU instances should use the `AL2_x86_64`
368
466
  # AMI type, which uses the Amazon EKS-optimized Linux AMI.
369
467
  # @return [String]
370
468
  #
@@ -486,6 +584,42 @@ module Aws::EKS
486
584
  include Aws::Structure
487
585
  end
488
586
 
587
+ # @note When making an API call, you may pass DeleteFargateProfileRequest
588
+ # data as a hash:
589
+ #
590
+ # {
591
+ # cluster_name: "String", # required
592
+ # fargate_profile_name: "String", # required
593
+ # }
594
+ #
595
+ # @!attribute [rw] cluster_name
596
+ # The name of the Amazon EKS cluster associated with the Fargate
597
+ # profile to delete.
598
+ # @return [String]
599
+ #
600
+ # @!attribute [rw] fargate_profile_name
601
+ # The name of the Fargate profile to delete.
602
+ # @return [String]
603
+ #
604
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteFargateProfileRequest AWS API Documentation
605
+ #
606
+ class DeleteFargateProfileRequest < Struct.new(
607
+ :cluster_name,
608
+ :fargate_profile_name)
609
+ include Aws::Structure
610
+ end
611
+
612
+ # @!attribute [rw] fargate_profile
613
+ # The deleted Fargate profile.
614
+ # @return [Types::FargateProfile]
615
+ #
616
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteFargateProfileResponse AWS API Documentation
617
+ #
618
+ class DeleteFargateProfileResponse < Struct.new(
619
+ :fargate_profile)
620
+ include Aws::Structure
621
+ end
622
+
489
623
  # @note When making an API call, you may pass DeleteNodegroupRequest
490
624
  # data as a hash:
491
625
  #
@@ -551,6 +685,42 @@ module Aws::EKS
551
685
  include Aws::Structure
552
686
  end
553
687
 
688
+ # @note When making an API call, you may pass DescribeFargateProfileRequest
689
+ # data as a hash:
690
+ #
691
+ # {
692
+ # cluster_name: "String", # required
693
+ # fargate_profile_name: "String", # required
694
+ # }
695
+ #
696
+ # @!attribute [rw] cluster_name
697
+ # The name of the Amazon EKS cluster associated with the Fargate
698
+ # profile.
699
+ # @return [String]
700
+ #
701
+ # @!attribute [rw] fargate_profile_name
702
+ # The name of the Fargate profile to describe.
703
+ # @return [String]
704
+ #
705
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeFargateProfileRequest AWS API Documentation
706
+ #
707
+ class DescribeFargateProfileRequest < Struct.new(
708
+ :cluster_name,
709
+ :fargate_profile_name)
710
+ include Aws::Structure
711
+ end
712
+
713
+ # @!attribute [rw] fargate_profile
714
+ # The full description of your Fargate profile.
715
+ # @return [Types::FargateProfile]
716
+ #
717
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DescribeFargateProfileResponse AWS API Documentation
718
+ #
719
+ class DescribeFargateProfileResponse < Struct.new(
720
+ :fargate_profile)
721
+ include Aws::Structure
722
+ end
723
+
554
724
  # @note When making an API call, you may pass DescribeNodegroupRequest
555
725
  # data as a hash:
556
726
  #
@@ -673,6 +843,99 @@ module Aws::EKS
673
843
  include Aws::Structure
674
844
  end
675
845
 
846
+ # An object representing an AWS Fargate profile.
847
+ #
848
+ # @!attribute [rw] fargate_profile_name
849
+ # The name of the Fargate profile.
850
+ # @return [String]
851
+ #
852
+ # @!attribute [rw] fargate_profile_arn
853
+ # The full Amazon Resource Name (ARN) of the Fargate profile.
854
+ # @return [String]
855
+ #
856
+ # @!attribute [rw] cluster_name
857
+ # The name of the Amazon EKS cluster that the Fargate profile belongs
858
+ # to.
859
+ # @return [String]
860
+ #
861
+ # @!attribute [rw] created_at
862
+ # The Unix epoch timestamp in seconds for when the Fargate profile was
863
+ # created.
864
+ # @return [Time]
865
+ #
866
+ # @!attribute [rw] pod_execution_role_arn
867
+ # The Amazon Resource Name (ARN) of the pod execution role to use for
868
+ # pods that match the selectors in the Fargate profile. For more
869
+ # information, see [Pod Execution
870
+ # Role](eks/latest/userguide/pod-execution-role.html) in the *Amazon
871
+ # EKS User Guide*.
872
+ # @return [String]
873
+ #
874
+ # @!attribute [rw] subnets
875
+ # The IDs of subnets to launch Fargate pods into.
876
+ # @return [Array<String>]
877
+ #
878
+ # @!attribute [rw] selectors
879
+ # The selectors to match for pods to use this Fargate profile.
880
+ # @return [Array<Types::FargateProfileSelector>]
881
+ #
882
+ # @!attribute [rw] status
883
+ # The current status of the Fargate profile.
884
+ # @return [String]
885
+ #
886
+ # @!attribute [rw] tags
887
+ # The metadata applied to the Fargate profile to assist with
888
+ # categorization and organization. Each tag consists of a key and an
889
+ # optional value, both of which you define. Fargate profile tags do
890
+ # not propagate to any other resources associated with the Fargate
891
+ # profile, such as the pods that are scheduled with it.
892
+ # @return [Hash<String,String>]
893
+ #
894
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/FargateProfile AWS API Documentation
895
+ #
896
+ class FargateProfile < Struct.new(
897
+ :fargate_profile_name,
898
+ :fargate_profile_arn,
899
+ :cluster_name,
900
+ :created_at,
901
+ :pod_execution_role_arn,
902
+ :subnets,
903
+ :selectors,
904
+ :status,
905
+ :tags)
906
+ include Aws::Structure
907
+ end
908
+
909
+ # An object representing an AWS Fargate profile selector.
910
+ #
911
+ # @note When making an API call, you may pass FargateProfileSelector
912
+ # data as a hash:
913
+ #
914
+ # {
915
+ # namespace: "String",
916
+ # labels: {
917
+ # "String" => "String",
918
+ # },
919
+ # }
920
+ #
921
+ # @!attribute [rw] namespace
922
+ # The Kubernetes namespace that the selector should match.
923
+ # @return [String]
924
+ #
925
+ # @!attribute [rw] labels
926
+ # The Kubernetes labels that the selector should match. A pod must
927
+ # contain all of the labels that are specified in the selector for it
928
+ # to be considered a match.
929
+ # @return [Hash<String,String>]
930
+ #
931
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/FargateProfileSelector AWS API Documentation
932
+ #
933
+ class FargateProfileSelector < Struct.new(
934
+ :namespace,
935
+ :labels)
936
+ include Aws::Structure
937
+ end
938
+
676
939
  # An object representing an identity provider for authentication
677
940
  # credentials.
678
941
  #
@@ -700,6 +963,11 @@ module Aws::EKS
700
963
  # @return [String]
701
964
  #
702
965
  # @!attribute [rw] nodegroup_name
966
+ # The Amazon EKS managed node group associated with the exception.
967
+ # @return [String]
968
+ #
969
+ # @!attribute [rw] fargate_profile_name
970
+ # The Fargate profile associated with the exception.
703
971
  # @return [String]
704
972
  #
705
973
  # @!attribute [rw] message
@@ -710,6 +978,7 @@ module Aws::EKS
710
978
  class InvalidParameterException < Struct.new(
711
979
  :cluster_name,
712
980
  :nodegroup_name,
981
+ :fargate_profile_name,
713
982
  :message)
714
983
  include Aws::Structure
715
984
  end
@@ -722,6 +991,7 @@ module Aws::EKS
722
991
  # @return [String]
723
992
  #
724
993
  # @!attribute [rw] nodegroup_name
994
+ # The Amazon EKS managed node group associated with the exception.
725
995
  # @return [String]
726
996
  #
727
997
  # @!attribute [rw] message
@@ -759,7 +1029,7 @@ module Aws::EKS
759
1029
  # * **Ec2LaunchTemplateVersionMismatch**\: The Amazon EC2 launch
760
1030
  # template version for your managed node group does not match the
761
1031
  # version that Amazon EKS created. You may be able to revert to the
762
- # Amazon EKS-created version to recover.
1032
+ # version that Amazon EKS created to recover.
763
1033
  #
764
1034
  # * **IamInstanceProfileNotFound**\: We couldn't find the IAM
765
1035
  # instance profile for your managed node group. You may be able to
@@ -772,6 +1042,11 @@ module Aws::EKS
772
1042
  # * **AsgInstanceLaunchFailures**\: Your Auto Scaling group is
773
1043
  # experiencing failures while attempting to launch instances.
774
1044
  #
1045
+ # * **NodeCreationFailure**\: Your launched instances are unable to
1046
+ # register with your Amazon EKS cluster. Common causes of this
1047
+ # failure are insufficient [worker node IAM role][1] permissions or
1048
+ # lack of outbound internet access for the nodes.
1049
+ #
775
1050
  # * **InstanceLimitExceeded**\: Your AWS account is unable to launch
776
1051
  # any more instances of the specified instance type. You may be able
777
1052
  # to request an Amazon EC2 instance limit increase to recover.
@@ -780,11 +1055,15 @@ module Aws::EKS
780
1055
  # associated with your managed node group does not have enough
781
1056
  # available IP addresses for new nodes.
782
1057
  #
783
- # * **AccessDenied**\: Amazon EKS and or one or more of your managed
784
- # nodes is unable to communicate with your cluster API server.
1058
+ # * **AccessDenied**\: Amazon EKS or one or more of your managed nodes
1059
+ # is unable to communicate with your cluster API server.
785
1060
  #
786
1061
  # * **InternalFailure**\: These errors are usually caused by an Amazon
787
1062
  # EKS server-side issue.
1063
+ #
1064
+ #
1065
+ #
1066
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/worker_node_IAM_role.html
788
1067
  # @return [String]
789
1068
  #
790
1069
  # @!attribute [rw] message
@@ -864,6 +1143,70 @@ module Aws::EKS
864
1143
  include Aws::Structure
865
1144
  end
866
1145
 
1146
+ # @note When making an API call, you may pass ListFargateProfilesRequest
1147
+ # data as a hash:
1148
+ #
1149
+ # {
1150
+ # cluster_name: "String", # required
1151
+ # max_results: 1,
1152
+ # next_token: "String",
1153
+ # }
1154
+ #
1155
+ # @!attribute [rw] cluster_name
1156
+ # The name of the Amazon EKS cluster that you would like to
1157
+ # listFargate profiles in.
1158
+ # @return [String]
1159
+ #
1160
+ # @!attribute [rw] max_results
1161
+ # The maximum number of Fargate profile results returned by
1162
+ # `ListFargateProfiles` in paginated output. When you use this
1163
+ # parameter, `ListFargateProfiles` returns only `maxResults` results
1164
+ # in a single page along with a `nextToken` response element. You can
1165
+ # see the remaining results of the initial request by sending another
1166
+ # `ListFargateProfiles` request with the returned `nextToken` value.
1167
+ # This value can be between 1 and 100. If you don't use this
1168
+ # parameter, `ListFargateProfiles` returns up to 100 results and a
1169
+ # `nextToken` value if applicable.
1170
+ # @return [Integer]
1171
+ #
1172
+ # @!attribute [rw] next_token
1173
+ # The `nextToken` value returned from a previous paginated
1174
+ # `ListFargateProfiles` request where `maxResults` was used and the
1175
+ # results exceeded the value of that parameter. Pagination continues
1176
+ # from the end of the previous results that returned the `nextToken`
1177
+ # value.
1178
+ # @return [String]
1179
+ #
1180
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListFargateProfilesRequest AWS API Documentation
1181
+ #
1182
+ class ListFargateProfilesRequest < Struct.new(
1183
+ :cluster_name,
1184
+ :max_results,
1185
+ :next_token)
1186
+ include Aws::Structure
1187
+ end
1188
+
1189
+ # @!attribute [rw] fargate_profile_names
1190
+ # A list of all of the Fargate profiles associated with the specified
1191
+ # cluster.
1192
+ # @return [Array<String>]
1193
+ #
1194
+ # @!attribute [rw] next_token
1195
+ # The `nextToken` value to include in a future `ListFargateProfiles`
1196
+ # request. When the results of a `ListFargateProfiles` request exceed
1197
+ # `maxResults`, you can use this value to retrieve the next page of
1198
+ # results. This value is `null` when there are no more results to
1199
+ # return.
1200
+ # @return [String]
1201
+ #
1202
+ # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/ListFargateProfilesResponse AWS API Documentation
1203
+ #
1204
+ class ListFargateProfilesResponse < Struct.new(
1205
+ :fargate_profile_names,
1206
+ :next_token)
1207
+ include Aws::Structure
1208
+ end
1209
+
867
1210
  # @note When making an API call, you may pass ListNodegroupsRequest
868
1211
  # data as a hash:
869
1212
  #
@@ -1123,7 +1466,7 @@ module Aws::EKS
1123
1466
  # @return [String]
1124
1467
  #
1125
1468
  # @!attribute [rw] scaling_config
1126
- # The scaling configuration details for the AutoScaling group that is
1469
+ # The scaling configuration details for the Auto Scaling group that is
1127
1470
  # associated with your node group.
1128
1471
  # @return [Types::NodegroupScalingConfig]
1129
1472
  #
@@ -1132,7 +1475,7 @@ module Aws::EKS
1132
1475
  # @return [Array<String>]
1133
1476
  #
1134
1477
  # @!attribute [rw] subnets
1135
- # The subnets allowed for the AutoScaling group that is associated
1478
+ # The subnets allowed for the Auto Scaling group that is associated
1136
1479
  # with your node group. These subnets must have the following tag:
1137
1480
  # `kubernetes.io/cluster/CLUSTER_NAME`, where `CLUSTER_NAME` is
1138
1481
  # replaced with the name of your cluster.
@@ -1146,7 +1489,7 @@ module Aws::EKS
1146
1489
  # @!attribute [rw] ami_type
1147
1490
  # The AMI type associated with your node group. GPU instance types
1148
1491
  # should use the `AL2_x86_64_GPU` AMI type, which uses the Amazon
1149
- # EKS-optimized Linux AMI with GPU support; non-GPU instances should
1492
+ # EKS-optimized Linux AMI with GPU support. Non-GPU instances should
1150
1493
  # use the `AL2_x86_64` AMI type, which uses the Amazon EKS-optimized
1151
1494
  # Linux AMI.
1152
1495
  # @return [String]
@@ -1177,7 +1520,7 @@ module Aws::EKS
1177
1520
  # @return [Hash<String,String>]
1178
1521
  #
1179
1522
  # @!attribute [rw] resources
1180
- # The resources associated with the nodegroup, such as AutoScaling
1523
+ # The resources associated with the node group, such as Auto Scaling
1181
1524
  # groups and security groups for remote access.
1182
1525
  # @return [Types::NodegroupResources]
1183
1526
  #
@@ -1192,7 +1535,7 @@ module Aws::EKS
1192
1535
  # @return [Types::NodegroupHealth]
1193
1536
  #
1194
1537
  # @!attribute [rw] tags
1195
- # The metadata applied the node group to assist with categorization
1538
+ # The metadata applied to the node group to assist with categorization
1196
1539
  # and organization. Each tag consists of a key and an optional value,
1197
1540
  # both of which you define. Node group tags do not propagate to any
1198
1541
  # other resources associated with the node group, such as the Amazon
@@ -1237,11 +1580,11 @@ module Aws::EKS
1237
1580
  include Aws::Structure
1238
1581
  end
1239
1582
 
1240
- # An object representing the resources associated with the nodegroup,
1241
- # such as AutoScaling groups and security groups for remote access.
1583
+ # An object representing the resources associated with the node group,
1584
+ # such as Auto Scaling groups and security groups for remote access.
1242
1585
  #
1243
1586
  # @!attribute [rw] auto_scaling_groups
1244
- # The autoscaling groups associated with the node group.
1587
+ # The Auto Scaling groups associated with the node group.
1245
1588
  # @return [Array<Types::AutoScalingGroup>]
1246
1589
  #
1247
1590
  # @!attribute [rw] remote_access_security_group
@@ -1257,8 +1600,8 @@ module Aws::EKS
1257
1600
  include Aws::Structure
1258
1601
  end
1259
1602
 
1260
- # An object representing the scaling configuration details for the
1261
- # AutoScaling group that is associated with your node group.
1603
+ # An object representing the scaling configuration details for the Auto
1604
+ # Scaling group that is associated with your node group.
1262
1605
  #
1263
1606
  # @note When making an API call, you may pass NodegroupScalingConfig
1264
1607
  # data as a hash:
@@ -1348,12 +1691,12 @@ module Aws::EKS
1348
1691
  # @return [String]
1349
1692
  #
1350
1693
  # @!attribute [rw] source_security_groups
1351
- # The security groups to allow SSH access (port 22) from on the worker
1352
- # nodes. If you specify an Amazon EC2 SSH key, but you do not specify
1353
- # a source security group when you create a managed node group, port
1354
- # 22 on the worker nodes is opened to the internet (0.0.0.0/0). For
1355
- # more information, see [Security Groups for Your VPC][1] in the
1356
- # *Amazon Virtual Private Cloud User Guide*.
1694
+ # The security groups that are allowed SSH access (port 22) to the
1695
+ # worker nodes. If you specify an Amazon EC2 SSH key but do not
1696
+ # specify a source security group when you create a managed node
1697
+ # group, then port 22 on the worker nodes is opened to the internet
1698
+ # (0.0.0.0/0). For more information, see [Security Groups for Your
1699
+ # VPC][1] in the *Amazon Virtual Private Cloud User Guide*.
1357
1700
  #
1358
1701
  #
1359
1702
  #
@@ -1375,6 +1718,7 @@ module Aws::EKS
1375
1718
  # @return [String]
1376
1719
  #
1377
1720
  # @!attribute [rw] nodegroup_name
1721
+ # The Amazon EKS managed node group associated with the exception.
1378
1722
  # @return [String]
1379
1723
  #
1380
1724
  # @!attribute [rw] message
@@ -1396,6 +1740,7 @@ module Aws::EKS
1396
1740
  # @return [String]
1397
1741
  #
1398
1742
  # @!attribute [rw] nodegroup_name
1743
+ # The Amazon EKS managed node group associated with the exception.
1399
1744
  # @return [String]
1400
1745
  #
1401
1746
  # @!attribute [rw] message
@@ -1420,6 +1765,11 @@ module Aws::EKS
1420
1765
  # @return [String]
1421
1766
  #
1422
1767
  # @!attribute [rw] nodegroup_name
1768
+ # The Amazon EKS managed node group associated with the exception.
1769
+ # @return [String]
1770
+ #
1771
+ # @!attribute [rw] fargate_profile_name
1772
+ # The Fargate profile associated with the exception.
1423
1773
  # @return [String]
1424
1774
  #
1425
1775
  # @!attribute [rw] message
@@ -1430,6 +1780,7 @@ module Aws::EKS
1430
1780
  class ResourceNotFoundException < Struct.new(
1431
1781
  :cluster_name,
1432
1782
  :nodegroup_name,
1783
+ :fargate_profile_name,
1433
1784
  :message)
1434
1785
  include Aws::Structure
1435
1786
  end
@@ -1441,6 +1792,7 @@ module Aws::EKS
1441
1792
  # @return [String]
1442
1793
  #
1443
1794
  # @!attribute [rw] nodegroup_name
1795
+ # The Amazon EKS managed node group associated with the exception.
1444
1796
  # @return [String]
1445
1797
  #
1446
1798
  # @!attribute [rw] message
@@ -1513,6 +1865,7 @@ module Aws::EKS
1513
1865
  # @return [String]
1514
1866
  #
1515
1867
  # @!attribute [rw] nodegroup_name
1868
+ # The Amazon EKS managed node group associated with the exception.
1516
1869
  # @return [String]
1517
1870
  #
1518
1871
  # @!attribute [rw] valid_zones
@@ -1787,7 +2140,7 @@ module Aws::EKS
1787
2140
  # @return [Types::UpdateLabelsPayload]
1788
2141
  #
1789
2142
  # @!attribute [rw] scaling_config
1790
- # The scaling configuration details for the AutoScaling group after
2143
+ # The scaling configuration details for the Auto Scaling group after
1791
2144
  # the update.
1792
2145
  # @return [Types::NodegroupScalingConfig]
1793
2146
  #
@@ -1864,10 +2217,10 @@ module Aws::EKS
1864
2217
  #
1865
2218
  # @!attribute [rw] force
1866
2219
  # Force the update if the existing node group's pods are unable to be
1867
- # drained due to a pod disruption budget issue. If a previous update
1868
- # fails because pods could not be drained, you can force the update
1869
- # after it fails to terminate the old node regardless of whether or
1870
- # not any pods are running on the node.
2220
+ # drained due to a pod disruption budget issue. If an update fails
2221
+ # because pods could not be drained, you can force the update after it
2222
+ # fails to terminate the old node whether or not any pods are running
2223
+ # on the node.
1871
2224
  # @return [Boolean]
1872
2225
  #
1873
2226
  # @!attribute [rw] client_request_token
@@ -2000,8 +2353,8 @@ module Aws::EKS
2000
2353
  #
2001
2354
  # @!attribute [rw] cluster_security_group_id
2002
2355
  # The cluster security group that was created by Amazon EKS for the
2003
- # cluster. Managed node groups use this security group for control
2004
- # plane to data plane communication.
2356
+ # cluster. Managed node groups use this security group for
2357
+ # control-plane-to-data-plane communication.
2005
2358
  # @return [String]
2006
2359
  #
2007
2360
  # @!attribute [rw] vpc_id
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-eks
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.28.0
4
+ version: 1.29.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-15 00:00:00.000000000 Z
11
+ date: 2019-12-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core