From 6fcfde5b3429cb00ea9dfc16157299cc6ec0bcaf Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Mon, 12 Sep 2022 11:20:54 -0700 Subject: [PATCH] Release v1.44.96 (2022-09-12) (#4555) Release v1.44.96 (2022-09-12) === ### Service Client Updates * `service/eks`: Updates service API and documentation --- CHANGELOG.md | 6 + aws/version.go | 2 +- models/apis/eks/2017-11-01/api-2.json | 59 ++++- models/apis/eks/2017-11-01/docs-2.json | 63 ++++- service/eks/api.go | 328 ++++++++++++++++++++++++- 5 files changed, 433 insertions(+), 25 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eb7432c0af..ca7e38468e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +Release v1.44.96 (2022-09-12) +=== + +### Service Client Updates +* `service/eks`: Updates service API and documentation + Release v1.44.95 (2022-09-09) === diff --git a/aws/version.go b/aws/version.go index 8b7ced2a5b..43c5f9307e 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.44.95" +const SDKVersion = "1.44.96" diff --git a/models/apis/eks/2017-11-01/api-2.json b/models/apis/eks/2017-11-01/api-2.json index 473797d1ff..b4cb9a8ed9 100644 --- a/models/apis/eks/2017-11-01/api-2.json +++ b/models/apis/eks/2017-11-01/api-2.json @@ -791,9 +791,41 @@ "platformVersion":{"shape":"String"}, "tags":{"shape":"TagMap"}, "encryptionConfig":{"shape":"EncryptionConfigList"}, - "connectorConfig":{"shape":"ConnectorConfigResponse"} + "connectorConfig":{"shape":"ConnectorConfigResponse"}, + "id":{"shape":"String"}, + "health":{"shape":"ClusterHealth"}, + "outpostConfig":{"shape":"OutpostConfigResponse"} + } + }, + "ClusterHealth":{ + "type":"structure", + "members":{ + "issues":{"shape":"ClusterIssueList"} } }, + "ClusterIssue":{ + "type":"structure", + "members":{ + "code":{"shape":"ClusterIssueCode"}, + "message":{"shape":"String"}, + "resourceIds":{"shape":"StringList"} + } + }, + "ClusterIssueCode":{ + "type":"string", + "enum":[ + "AccessDenied", + "ClusterUnreachable", + "ConfigurationConflict", + "InternalFailure", + "ResourceLimitExceeded", + "ResourceNotFound" + ] + }, + "ClusterIssueList":{ + "type":"list", + "member":{"shape":"ClusterIssue"} + }, "ClusterName":{ "type":"string", "max":100, @@ -906,7 +938,8 @@ "idempotencyToken":true }, "tags":{"shape":"TagMap"}, - "encryptionConfig":{"shape":"EncryptionConfigList"} + "encryptionConfig":{"shape":"EncryptionConfigList"}, + "outpostConfig":{"shape":"OutpostConfigRequest"} } }, "CreateClusterResponse":{ @@ -1901,6 +1934,28 @@ "requiredClaims":{"shape":"requiredClaimsMap"} } }, + "OutpostConfigRequest":{ + "type":"structure", + "required":[ + "outpostArns", + "controlPlaneInstanceType" + ], + "members":{ + "outpostArns":{"shape":"StringList"}, + "controlPlaneInstanceType":{"shape":"String"} + } + }, + "OutpostConfigResponse":{ + "type":"structure", + "required":[ + "outpostArns", + "controlPlaneInstanceType" + ], + "members":{ + "outpostArns":{"shape":"StringList"}, + "controlPlaneInstanceType":{"shape":"String"} + } + }, "PercentCapacity":{ "type":"integer", "box":true, diff --git a/models/apis/eks/2017-11-01/docs-2.json b/models/apis/eks/2017-11-01/docs-2.json index 2d00877a92..465e1ba990 100644 --- a/models/apis/eks/2017-11-01/docs-2.json +++ b/models/apis/eks/2017-11-01/docs-2.json @@ -61,7 +61,7 @@ "AddonHealth": { "base": "

The health of the add-on.

", "refs": { - "Addon$health": "

An object that represents the health of the add-on.

" + "Addon$health": "

An object representing the health of the add-on.

" } }, "AddonInfo": { @@ -85,7 +85,7 @@ "AddonIssueList": { "base": null, "refs": { - "AddonHealth$issues": "

An object that represents the add-on's health issues.

" + "AddonHealth$issues": "

An object representing the health issues for an add-on.

" } }, "AddonStatus": { @@ -103,7 +103,7 @@ "AddonVersionInfoList": { "base": null, "refs": { - "AddonInfo$addonVersions": "

An object that represents information about available add-on versions and compatible Kubernetes versions.

" + "AddonInfo$addonVersions": "

An object representing information about available add-on versions and compatible Kubernetes versions.

" } }, "Addons": { @@ -208,6 +208,30 @@ "RegisterClusterResponse$cluster": null } }, + "ClusterHealth": { + "base": "

An object representing the health of your local Amazon EKS cluster on an Amazon Web Services Outpost. You can't use this API with an Amazon EKS cluster on the Amazon Web Services cloud.

", + "refs": { + "Cluster$health": "

An object representing the health of your local Amazon EKS cluster on an Amazon Web Services Outpost. This object isn't available for clusters on the Amazon Web Services cloud.

" + } + }, + "ClusterIssue": { + "base": "

An issue with your local Amazon EKS cluster on an Amazon Web Services Outpost. You can't use this API with an Amazon EKS cluster on the Amazon Web Services cloud.

", + "refs": { + "ClusterIssueList$member": null + } + }, + "ClusterIssueCode": { + "base": null, + "refs": { + "ClusterIssue$code": "

The error code of the issue.

" + } + }, + "ClusterIssueList": { + "base": null, + "refs": { + "ClusterHealth$issues": "

An object representing the health issues of your local Amazon EKS cluster on an Amazon Web Services Outpost.

" + } + }, "ClusterName": { "base": null, "refs": { @@ -230,7 +254,7 @@ "Compatibilities": { "base": null, "refs": { - "AddonVersionInfo$compatibilities": "

An object that represents the compatibilities of a version.

" + "AddonVersionInfo$compatibilities": "

An object representing the compatibilities of a version.

" } }, "Compatibility": { @@ -513,8 +537,8 @@ "IdentityProviderConfig": { "base": "

An object representing an identity provider configuration.

", "refs": { - "DescribeIdentityProviderConfigRequest$identityProviderConfig": "

An object that represents an identity provider configuration.

", - "DisassociateIdentityProviderConfigRequest$identityProviderConfig": "

An object that represents an identity provider configuration.

", + "DescribeIdentityProviderConfigRequest$identityProviderConfig": "

An object representing an identity provider configuration.

", + "DisassociateIdentityProviderConfigRequest$identityProviderConfig": "

An object representing an identity provider configuration.

", "IdentityProviderConfigs$member": null } }, @@ -783,15 +807,27 @@ } }, "OidcIdentityProviderConfig": { - "base": "

An object that represents the configuration for an OpenID Connect (OIDC) identity provider.

", + "base": "

An object representing the configuration for an OpenID Connect (OIDC) identity provider.

", "refs": { - "IdentityProviderConfigResponse$oidc": "

An object that represents an OpenID Connect (OIDC) identity provider configuration.

" + "IdentityProviderConfigResponse$oidc": "

An object representing an OpenID Connect (OIDC) identity provider configuration.

" } }, "OidcIdentityProviderConfigRequest": { "base": "

An object representing an OpenID Connect (OIDC) configuration. Before associating an OIDC identity provider to your cluster, review the considerations in Authenticating users for your cluster from an OpenID Connect identity provider in the Amazon EKS User Guide.

", "refs": { - "AssociateIdentityProviderConfigRequest$oidc": "

An object that represents an OpenID Connect (OIDC) identity provider configuration.

" + "AssociateIdentityProviderConfigRequest$oidc": "

An object representing an OpenID Connect (OIDC) identity provider configuration.

" + } + }, + "OutpostConfigRequest": { + "base": "

The configuration of your local Amazon EKS cluster on an Amazon Web Services Outpost. Before creating a cluster on an Outpost, review Creating a local Amazon EKS cluster on an Amazon Web Services Outpost in the Amazon EKS User Guide. This API isn't available for Amazon EKS clusters on the Amazon Web Services cloud.

", + "refs": { + "CreateClusterRequest$outpostConfig": "

An object representing the configuration of your local Amazon EKS cluster on an Amazon Web Services Outpost. Before creating a local cluster on an Outpost, review Creating an Amazon EKS cluster on an Amazon Web Services Outpost in the Amazon EKS User Guide. This object isn't available for creating Amazon EKS clusters on the Amazon Web Services cloud.

" + } + }, + "OutpostConfigResponse": { + "base": "

An object representing the configuration of your local Amazon EKS cluster on an Amazon Web Services Outpost. This API isn't available for Amazon EKS clusters on the Amazon Web Services cloud.

", + "refs": { + "Cluster$outpostConfig": "

An object representing the configuration of your local Amazon EKS cluster on an Amazon Web Services Outpost. This object isn't available for clusters on the Amazon Web Services cloud.

" } }, "PercentCapacity": { @@ -897,6 +933,8 @@ "Cluster$roleArn": "

The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make calls to Amazon Web Services API operations on your behalf.

", "Cluster$clientRequestToken": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", "Cluster$platformVersion": "

The platform version of your Amazon EKS cluster. For more information, see Platform Versions in the Amazon EKS User Guide .

", + "Cluster$id": "

The ID of your local Amazon EKS cluster on an Amazon Web Services Outpost. This property isn't available for an Amazon EKS cluster on the Amazon Web Services cloud.

", + "ClusterIssue$message": "

A description of the issue.

", "Compatibility$clusterVersion": "

The supported Kubernetes version of the cluster.

", "ConnectorConfigRequest$roleArn": "

The Amazon Resource Name (ARN) of the role that is authorized to request the connector configuration.

", "ConnectorConfigResponse$activationId": "

A unique ID associated with the cluster for registration purposes.

", @@ -906,7 +944,7 @@ "CreateAddonRequest$addonName": "

The name of the add-on. The name must match one of the names returned by DescribeAddonVersions .

", "CreateAddonRequest$addonVersion": "

The version of the add-on. The version must match one of the versions returned by DescribeAddonVersions .

", "CreateAddonRequest$clientRequestToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", - "CreateClusterRequest$version": "

The desired Kubernetes version for your cluster. If you don't specify a value here, the latest version available in Amazon EKS is used.

", + "CreateClusterRequest$version": "

The desired Kubernetes version for your cluster. If you don't specify a value here, the default version available in Amazon EKS is used.

The default version might not be the latest version available.

", "CreateClusterRequest$roleArn": "

The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make calls to Amazon Web Services API operations on your behalf. For more information, see Amazon EKS Service IAM Role in the Amazon EKS User Guide .

", "CreateClusterRequest$clientRequestToken": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", "CreateFargateProfileRequest$fargateProfileName": "

The name of the Fargate profile.

", @@ -1014,6 +1052,8 @@ "OidcIdentityProviderConfigRequest$usernamePrefix": "

The prefix that is prepended to username claims to prevent clashes with existing names. If you do not provide this field, and username is a value other than email, the prefix defaults to issuerurl#. You can use the value - to disable all prefixing.

", "OidcIdentityProviderConfigRequest$groupsClaim": "

The JWT claim that the provider uses to return your groups.

", "OidcIdentityProviderConfigRequest$groupsPrefix": "

The prefix that is prepended to group claims to prevent clashes with existing names (such as system: groups). For example, the value oidc: will create group names like oidc:engineering and oidc:infra.

", + "OutpostConfigRequest$controlPlaneInstanceType": "

The Amazon EC2 instance type that you want to use for your local Amazon EKS cluster on Outposts. The instance type that you specify is used for all Kubernetes control plane instances. The instance type can't be changed after cluster creation.

Choose an instance type based on the number of nodes that your cluster will have. If your cluster will have:

For a list of the available Amazon EC2 instance types, see Compute and storage in Outposts rack features. The control plane is not automatically scaled by Amazon EKS.

", + "OutpostConfigResponse$controlPlaneInstanceType": "

The Amazon EC2 instance type used for the control plane. The instance type is the same for all control plane instances.

", "Provider$keyArn": "

Amazon Resource Name (ARN) or alias of the KMS key. The KMS key must be symmetric, created in the same region as the cluster, and if the KMS key was created in a different account, the user must have access to the KMS key. For more information, see Allowing Users in Other Accounts to Use a KMS key in the Key Management Service Developer Guide.

", "RegisterClusterRequest$clientRequestToken": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", "RemoteAccessConfig$ec2SshKey": "

The Amazon EC2 SSH key that provides access for SSH communication with the nodes in the managed node group. For more information, see Amazon EC2 key pairs and Linux instances in the Amazon Elastic Compute Cloud User Guide for Linux Instances.

", @@ -1069,6 +1109,7 @@ "refs": { "AddonIssue$resourceIds": "

The resource IDs of the issue.

", "AddonVersionInfo$architecture": "

The architectures that the version supports.

", + "ClusterIssue$resourceIds": "

The resource IDs that the issue relates to.

", "Compatibility$platformVersions": "

The supported compute platform.

", "CreateFargateProfileRequest$subnets": "

The IDs of subnets to launch your pods into. At this time, pods running on Fargate are not assigned public IP addresses, so only private subnets (with no direct route to an Internet Gateway) are accepted for this parameter.

", "CreateNodegroupRequest$subnets": "

The subnets to use for the Auto Scaling group that is created for your node group. If you specify launchTemplate, then don't specify SubnetId in your launch template, or the node group deployment will fail. For more information about using launch templates with Amazon EKS, see Launch template support in the Amazon EKS User Guide.

", @@ -1084,6 +1125,8 @@ "ListUpdatesResponse$updateIds": "

A list of all the updates for the specified cluster and Region.

", "Nodegroup$instanceTypes": "

If the node group wasn't deployed with a launch template, then this is the instance type that is associated with the node group. If the node group was deployed with a launch template, then this is null.

", "Nodegroup$subnets": "

The subnets that were specified for the Auto Scaling group that is associated with your node group.

", + "OutpostConfigRequest$outpostArns": "

The ARN of the Outpost that you want to use for your local Amazon EKS cluster on Outposts. Only a single Outpost ARN is supported.

", + "OutpostConfigResponse$outpostArns": "

The ARN of the Outpost that you specified for use with your local Amazon EKS cluster on Outposts.

", "RemoteAccessConfig$sourceSecurityGroups": "

The security groups that are allowed SSH access (port 22) to the nodes. If you specify an Amazon EC2 SSH key but do not specify a source security group when you create a managed node group, then port 22 on the nodes is opened to the internet (0.0.0.0/0). For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

", "UnsupportedAvailabilityZoneException$validZones": "

The supported Availability Zones for your account. Choose subnets in these Availability Zones for your cluster.

", "VpcConfigRequest$subnetIds": "

Specify subnets for your Amazon EKS nodes. Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your nodes and the Kubernetes control plane.

", diff --git a/service/eks/api.go b/service/eks/api.go index 29b0549467..80a5aa1d82 100644 --- a/service/eks/api.go +++ b/service/eks/api.go @@ -3993,7 +3993,7 @@ type Addon struct { // The date and time that the add-on was created. CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` - // An object that represents the health of the add-on. + // An object representing the health of the add-on. Health *AddonHealth `locationName:"health" type:"structure"` // The date and time that the add-on was last modified. @@ -4095,7 +4095,7 @@ func (s *Addon) SetTags(v map[string]*string) *Addon { type AddonHealth struct { _ struct{} `type:"structure"` - // An object that represents the add-on's health issues. + // An object representing the health issues for an add-on. Issues []*AddonIssue `locationName:"issues" type:"list"` } @@ -4130,8 +4130,8 @@ type AddonInfo struct { // The name of the add-on. AddonName *string `locationName:"addonName" type:"string"` - // An object that represents information about available add-on versions and - // compatible Kubernetes versions. + // An object representing information about available add-on versions and compatible + // Kubernetes versions. AddonVersions []*AddonVersionInfo `locationName:"addonVersions" type:"list"` // The type of the add-on. @@ -4234,7 +4234,7 @@ type AddonVersionInfo struct { // The architectures that the version supports. Architecture []*string `locationName:"architecture" type:"list"` - // An object that represents the compatibilities of a version. + // An object representing the compatibilities of a version. Compatibilities []*Compatibility `locationName:"compatibilities" type:"list"` } @@ -4389,7 +4389,7 @@ type AssociateIdentityProviderConfigInput struct { // ClusterName is a required field ClusterName *string `location:"uri" locationName:"name" type:"string" required:"true"` - // An object that represents an OpenID Connect (OIDC) identity provider configuration. + // An object representing an OpenID Connect (OIDC) identity provider configuration. // // Oidc is a required field Oidc *OidcIdentityProviderConfigRequest `locationName:"oidc" type:"structure" required:"true"` @@ -4742,6 +4742,16 @@ type Cluster struct { // The endpoint for your Kubernetes API server. Endpoint *string `locationName:"endpoint" type:"string"` + // An object representing the health of your local Amazon EKS cluster on an + // Amazon Web Services Outpost. This object isn't available for clusters on + // the Amazon Web Services cloud. + Health *ClusterHealth `locationName:"health" type:"structure"` + + // The ID of your local Amazon EKS cluster on an Amazon Web Services Outpost. + // This property isn't available for an Amazon EKS cluster on the Amazon Web + // Services cloud. + Id *string `locationName:"id" type:"string"` + // The identity provider information for the cluster. Identity *Identity `locationName:"identity" type:"structure"` @@ -4754,6 +4764,11 @@ type Cluster struct { // The name of the cluster. Name *string `locationName:"name" type:"string"` + // An object representing the configuration of your local Amazon EKS cluster + // on an Amazon Web Services Outpost. This object isn't available for clusters + // on the Amazon Web Services cloud. + OutpostConfig *OutpostConfigResponse `locationName:"outpostConfig" type:"structure"` + // The platform version of your Amazon EKS cluster. For more information, see // Platform Versions (https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html) // in the Amazon EKS User Guide . @@ -4844,6 +4859,18 @@ func (s *Cluster) SetEndpoint(v string) *Cluster { return s } +// SetHealth sets the Health field's value. +func (s *Cluster) SetHealth(v *ClusterHealth) *Cluster { + s.Health = v + return s +} + +// SetId sets the Id field's value. +func (s *Cluster) SetId(v string) *Cluster { + s.Id = &v + return s +} + // SetIdentity sets the Identity field's value. func (s *Cluster) SetIdentity(v *Identity) *Cluster { s.Identity = v @@ -4868,6 +4895,12 @@ func (s *Cluster) SetName(v string) *Cluster { return s } +// SetOutpostConfig sets the OutpostConfig field's value. +func (s *Cluster) SetOutpostConfig(v *OutpostConfigResponse) *Cluster { + s.OutpostConfig = v + return s +} + // SetPlatformVersion sets the PlatformVersion field's value. func (s *Cluster) SetPlatformVersion(v string) *Cluster { s.PlatformVersion = &v @@ -4904,6 +4937,93 @@ func (s *Cluster) SetVersion(v string) *Cluster { return s } +// An object representing the health of your local Amazon EKS cluster on an +// Amazon Web Services Outpost. You can't use this API with an Amazon EKS cluster +// on the Amazon Web Services cloud. +type ClusterHealth struct { + _ struct{} `type:"structure"` + + // An object representing the health issues of your local Amazon EKS cluster + // on an Amazon Web Services Outpost. + Issues []*ClusterIssue `locationName:"issues" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ClusterHealth) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ClusterHealth) GoString() string { + return s.String() +} + +// SetIssues sets the Issues field's value. +func (s *ClusterHealth) SetIssues(v []*ClusterIssue) *ClusterHealth { + s.Issues = v + return s +} + +// An issue with your local Amazon EKS cluster on an Amazon Web Services Outpost. +// You can't use this API with an Amazon EKS cluster on the Amazon Web Services +// cloud. +type ClusterIssue struct { + _ struct{} `type:"structure"` + + // The error code of the issue. + Code *string `locationName:"code" type:"string" enum:"ClusterIssueCode"` + + // A description of the issue. + Message *string `locationName:"message" type:"string"` + + // The resource IDs that the issue relates to. + ResourceIds []*string `locationName:"resourceIds" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ClusterIssue) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ClusterIssue) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *ClusterIssue) SetCode(v string) *ClusterIssue { + s.Code = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *ClusterIssue) SetMessage(v string) *ClusterIssue { + s.Message = &v + return s +} + +// SetResourceIds sets the ResourceIds field's value. +func (s *ClusterIssue) SetResourceIds(v []*string) *ClusterIssue { + s.ResourceIds = v + return s +} + // Compatibility information. type Compatibility struct { _ struct{} `type:"structure"` @@ -5292,6 +5412,14 @@ type CreateClusterInput struct { // Name is a required field Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // An object representing the configuration of your local Amazon EKS cluster + // on an Amazon Web Services Outpost. Before creating a local cluster on an + // Outpost, review Creating an Amazon EKS cluster on an Amazon Web Services + // Outpost (https://docs.aws.amazon.com/eks/latest/userguide/create-cluster-outpost.html) + // in the Amazon EKS User Guide. This object isn't available for creating Amazon + // EKS clusters on the Amazon Web Services cloud. + OutpostConfig *OutpostConfigRequest `locationName:"outpostConfig" type:"structure"` + // The VPC configuration that's used by the cluster control plane. Amazon EKS // VPC resources have specific requirements to work properly with Kubernetes. // For more information, see Cluster VPC Considerations (https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html) @@ -5317,7 +5445,9 @@ type CreateClusterInput struct { Tags map[string]*string `locationName:"tags" min:"1" type:"map"` // The desired Kubernetes version for your cluster. If you don't specify a value - // here, the latest version available in Amazon EKS is used. + // here, the default version available in Amazon EKS is used. + // + // The default version might not be the latest version available. Version *string `locationName:"version" type:"string"` } @@ -5357,6 +5487,11 @@ func (s *CreateClusterInput) Validate() error { if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } + if s.OutpostConfig != nil { + if err := s.OutpostConfig.Validate(); err != nil { + invalidParams.AddNested("OutpostConfig", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -5394,6 +5529,12 @@ func (s *CreateClusterInput) SetName(v string) *CreateClusterInput { return s } +// SetOutpostConfig sets the OutpostConfig field's value. +func (s *CreateClusterInput) SetOutpostConfig(v *OutpostConfigRequest) *CreateClusterInput { + s.OutpostConfig = v + return s +} + // SetResourcesVpcConfig sets the ResourcesVpcConfig field's value. func (s *CreateClusterInput) SetResourcesVpcConfig(v *VpcConfigRequest) *CreateClusterInput { s.ResourcesVpcConfig = v @@ -6819,7 +6960,7 @@ type DescribeIdentityProviderConfigInput struct { // ClusterName is a required field ClusterName *string `location:"uri" locationName:"name" type:"string" required:"true"` - // An object that represents an identity provider configuration. + // An object representing an identity provider configuration. // // IdentityProviderConfig is a required field IdentityProviderConfig *IdentityProviderConfig `locationName:"identityProviderConfig" type:"structure" required:"true"` @@ -7137,7 +7278,7 @@ type DisassociateIdentityProviderConfigInput struct { // ClusterName is a required field ClusterName *string `location:"uri" locationName:"name" type:"string" required:"true"` - // An object that represents an identity provider configuration. + // An object representing an identity provider configuration. // // IdentityProviderConfig is a required field IdentityProviderConfig *IdentityProviderConfig `locationName:"identityProviderConfig" type:"structure" required:"true"` @@ -7596,7 +7737,7 @@ func (s *IdentityProviderConfig) SetType(v string) *IdentityProviderConfig { type IdentityProviderConfigResponse struct { _ struct{} `type:"structure"` - // An object that represents an OpenID Connect (OIDC) identity provider configuration. + // An object representing an OpenID Connect (OIDC) identity provider configuration. Oidc *OidcIdentityProviderConfig `locationName:"oidc" type:"structure"` } @@ -9593,8 +9734,8 @@ func (s *OIDC) SetIssuer(v string) *OIDC { return s } -// An object that represents the configuration for an OpenID Connect (OIDC) -// identity provider. +// An object representing the configuration for an OpenID Connect (OIDC) identity +// provider. type OidcIdentityProviderConfig struct { _ struct{} `type:"structure"` @@ -9877,6 +10018,137 @@ func (s *OidcIdentityProviderConfigRequest) SetUsernamePrefix(v string) *OidcIde return s } +// The configuration of your local Amazon EKS cluster on an Amazon Web Services +// Outpost. Before creating a cluster on an Outpost, review Creating a local +// Amazon EKS cluster on an Amazon Web Services Outpost (https://docs.aws.amazon.com/eks/latest/userguide/create-cluster-outpost.html) +// in the Amazon EKS User Guide. This API isn't available for Amazon EKS clusters +// on the Amazon Web Services cloud. +type OutpostConfigRequest struct { + _ struct{} `type:"structure"` + + // The Amazon EC2 instance type that you want to use for your local Amazon EKS + // cluster on Outposts. The instance type that you specify is used for all Kubernetes + // control plane instances. The instance type can't be changed after cluster + // creation. + // + // Choose an instance type based on the number of nodes that your cluster will + // have. If your cluster will have: + // + // * 1–20 nodes, then we recommend specifying a large instance type. + // + // * 21–100 nodes, then we recommend specifying an xlarge instance type. + // + // * 101–250 nodes, then we recommend specifying a 2xlarge instance type. + // + // For a list of the available Amazon EC2 instance types, see Compute and storage + // in Outposts rack features (http://aws.amazon.com/outposts/rack/features/). + // The control plane is not automatically scaled by Amazon EKS. + // + // ControlPlaneInstanceType is a required field + ControlPlaneInstanceType *string `locationName:"controlPlaneInstanceType" type:"string" required:"true"` + + // The ARN of the Outpost that you want to use for your local Amazon EKS cluster + // on Outposts. Only a single Outpost ARN is supported. + // + // OutpostArns is a required field + OutpostArns []*string `locationName:"outpostArns" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OutpostConfigRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OutpostConfigRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OutpostConfigRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OutpostConfigRequest"} + if s.ControlPlaneInstanceType == nil { + invalidParams.Add(request.NewErrParamRequired("ControlPlaneInstanceType")) + } + if s.OutpostArns == nil { + invalidParams.Add(request.NewErrParamRequired("OutpostArns")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetControlPlaneInstanceType sets the ControlPlaneInstanceType field's value. +func (s *OutpostConfigRequest) SetControlPlaneInstanceType(v string) *OutpostConfigRequest { + s.ControlPlaneInstanceType = &v + return s +} + +// SetOutpostArns sets the OutpostArns field's value. +func (s *OutpostConfigRequest) SetOutpostArns(v []*string) *OutpostConfigRequest { + s.OutpostArns = v + return s +} + +// An object representing the configuration of your local Amazon EKS cluster +// on an Amazon Web Services Outpost. This API isn't available for Amazon EKS +// clusters on the Amazon Web Services cloud. +type OutpostConfigResponse struct { + _ struct{} `type:"structure"` + + // The Amazon EC2 instance type used for the control plane. The instance type + // is the same for all control plane instances. + // + // ControlPlaneInstanceType is a required field + ControlPlaneInstanceType *string `locationName:"controlPlaneInstanceType" type:"string" required:"true"` + + // The ARN of the Outpost that you specified for use with your local Amazon + // EKS cluster on Outposts. + // + // OutpostArns is a required field + OutpostArns []*string `locationName:"outpostArns" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OutpostConfigResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OutpostConfigResponse) GoString() string { + return s.String() +} + +// SetControlPlaneInstanceType sets the ControlPlaneInstanceType field's value. +func (s *OutpostConfigResponse) SetControlPlaneInstanceType(v string) *OutpostConfigResponse { + s.ControlPlaneInstanceType = &v + return s +} + +// SetOutpostArns sets the OutpostArns field's value. +func (s *OutpostConfigResponse) SetOutpostArns(v []*string) *OutpostConfigResponse { + s.OutpostArns = v + return s +} + // Identifies the Key Management Service (KMS) key used to encrypt the secrets. type Provider struct { _ struct{} `type:"structure"` @@ -12108,6 +12380,38 @@ func CapacityTypes_Values() []string { } } +const ( + // ClusterIssueCodeAccessDenied is a ClusterIssueCode enum value + ClusterIssueCodeAccessDenied = "AccessDenied" + + // ClusterIssueCodeClusterUnreachable is a ClusterIssueCode enum value + ClusterIssueCodeClusterUnreachable = "ClusterUnreachable" + + // ClusterIssueCodeConfigurationConflict is a ClusterIssueCode enum value + ClusterIssueCodeConfigurationConflict = "ConfigurationConflict" + + // ClusterIssueCodeInternalFailure is a ClusterIssueCode enum value + ClusterIssueCodeInternalFailure = "InternalFailure" + + // ClusterIssueCodeResourceLimitExceeded is a ClusterIssueCode enum value + ClusterIssueCodeResourceLimitExceeded = "ResourceLimitExceeded" + + // ClusterIssueCodeResourceNotFound is a ClusterIssueCode enum value + ClusterIssueCodeResourceNotFound = "ResourceNotFound" +) + +// ClusterIssueCode_Values returns all elements of the ClusterIssueCode enum +func ClusterIssueCode_Values() []string { + return []string{ + ClusterIssueCodeAccessDenied, + ClusterIssueCodeClusterUnreachable, + ClusterIssueCodeConfigurationConflict, + ClusterIssueCodeInternalFailure, + ClusterIssueCodeResourceLimitExceeded, + ClusterIssueCodeResourceNotFound, + } +} + const ( // ClusterStatusCreating is a ClusterStatus enum value ClusterStatusCreating = "CREATING"