From dcae829ecc334f91502afd6d7ae2295861db9885 Mon Sep 17 00:00:00 2001 From: AWS SDK for Go v2 automation user Date: Fri, 21 Oct 2022 20:13:25 +0000 Subject: [PATCH] Regenerated Clients --- .../7a522474ae924cf6952a9c4faf40bdfa.json | 8 + .../a142b725961a417bb602c6b8bc72f2d6.json | 8 + .../e9f27924cc694bb09d86c953c308eb30.json | 8 + .../api_op_AdminDisableUser.go | 5 +- .../api_op_AdminListUserAuthEvents.go | 6 +- .../api_op_CreateUserPool.go | 8 + .../api_op_CreateUserPoolClient.go | 55 +++-- .../api_op_DescribeIdentityProvider.go | 2 +- .../api_op_GetIdentityProviderByIdentifier.go | 2 +- .../api_op_GetSigningCertificate.go | 6 +- .../api_op_GlobalSignOut.go | 6 +- .../api_op_RevokeToken.go | 7 +- .../api_op_SetUserPoolMfaConfig.go | 15 +- .../api_op_UpdateIdentityProvider.go | 2 +- .../api_op_UpdateUserPool.go | 8 + .../api_op_UpdateUserPoolClient.go | 47 ++-- .../cognitoidentityprovider/deserializers.go | 18 ++ .../cognitoidentityprovider/serializers.go | 10 + .../cognitoidentityprovider/types/enums.go | 18 ++ .../cognitoidentityprovider/types/types.go | 88 ++++--- ..._op_DescribeInferenceRecommendationsJob.go | 4 + service/sagemaker/deserializers.go | 216 ++++++++++++++++++ service/sagemaker/serializers.go | 32 +++ service/sagemaker/types/types.go | 54 ++++- service/sagemaker/validators.go | 37 +++ 25 files changed, 580 insertions(+), 90 deletions(-) create mode 100644 .changelog/7a522474ae924cf6952a9c4faf40bdfa.json create mode 100644 .changelog/a142b725961a417bb602c6b8bc72f2d6.json create mode 100644 .changelog/e9f27924cc694bb09d86c953c308eb30.json diff --git a/.changelog/7a522474ae924cf6952a9c4faf40bdfa.json b/.changelog/7a522474ae924cf6952a9c4faf40bdfa.json new file mode 100644 index 00000000000..b22b81aa0f6 --- /dev/null +++ b/.changelog/7a522474ae924cf6952a9c4faf40bdfa.json @@ -0,0 +1,8 @@ +{ + "id": "7a522474-ae92-4cf6-952a-9c4faf40bdfa", + "type": "feature", + "description": "S3 on Outposts launches support for automatic bucket-style alias. You can use the automatic access point alias instead of an access point ARN for any object-level operation in an Outposts bucket.", + "modules": [ + "service/s3" + ] +} \ No newline at end of file diff --git a/.changelog/a142b725961a417bb602c6b8bc72f2d6.json b/.changelog/a142b725961a417bb602c6b8bc72f2d6.json new file mode 100644 index 00000000000..80d80771f77 --- /dev/null +++ b/.changelog/a142b725961a417bb602c6b8bc72f2d6.json @@ -0,0 +1,8 @@ +{ + "id": "a142b725-961a-417b-b602-c6b8bc72f2d6", + "type": "feature", + "description": "CreateInferenceRecommenderjob API now supports passing endpoint details directly, that will help customers to identify the max invocation and max latency they can achieve for their model and the associated endpoint along with getting recommendations on other instances.", + "modules": [ + "service/sagemaker" + ] +} \ No newline at end of file diff --git a/.changelog/e9f27924cc694bb09d86c953c308eb30.json b/.changelog/e9f27924cc694bb09d86c953c308eb30.json new file mode 100644 index 00000000000..edd567591b5 --- /dev/null +++ b/.changelog/e9f27924cc694bb09d86c953c308eb30.json @@ -0,0 +1,8 @@ +{ + "id": "e9f27924-cc69-4bb0-9d86-c953c308eb30", + "type": "feature", + "description": "This release adds a new \"DeletionProtection\" field to the UserPool in Cognito. Application admins can configure this value with either ACTIVE or INACTIVE value. Setting this field to ACTIVE will prevent a user pool from accidental deletion.", + "modules": [ + "service/cognitoidentityprovider" + ] +} \ No newline at end of file diff --git a/service/cognitoidentityprovider/api_op_AdminDisableUser.go b/service/cognitoidentityprovider/api_op_AdminDisableUser.go index f6dc5ed143e..8a0ee0be19b 100644 --- a/service/cognitoidentityprovider/api_op_AdminDisableUser.go +++ b/service/cognitoidentityprovider/api_op_AdminDisableUser.go @@ -10,7 +10,10 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Disables the specified user. Calling this action requires developer credentials. +// Deactivates a user and revokes all access tokens for the user. A deactivated +// user can't sign in, but still appears in the responses to GetUser and ListUsers +// API requests. You must make this API request with Amazon Web Services +// credentials that have cognito-idp:AdminDisableUser permissions. func (c *Client) AdminDisableUser(ctx context.Context, params *AdminDisableUserInput, optFns ...func(*Options)) (*AdminDisableUserOutput, error) { if params == nil { params = &AdminDisableUserInput{} diff --git a/service/cognitoidentityprovider/api_op_AdminListUserAuthEvents.go b/service/cognitoidentityprovider/api_op_AdminListUserAuthEvents.go index afb71d8c98f..c4e474b3d51 100644 --- a/service/cognitoidentityprovider/api_op_AdminListUserAuthEvents.go +++ b/service/cognitoidentityprovider/api_op_AdminListUserAuthEvents.go @@ -41,7 +41,8 @@ type AdminListUserAuthEventsInput struct { // This member is required. Username *string - // The maximum number of authentication events to return. + // The maximum number of authentication events to return. Returns 60 events if you + // set MaxResults to 0, or if you don't include a MaxResults parameter. MaxResults *int32 // A pagination token. @@ -139,7 +140,8 @@ var _ AdminListUserAuthEventsAPIClient = (*Client)(nil) // AdminListUserAuthEventsPaginatorOptions is the paginator options for // AdminListUserAuthEvents type AdminListUserAuthEventsPaginatorOptions struct { - // The maximum number of authentication events to return. + // The maximum number of authentication events to return. Returns 60 events if you + // set MaxResults to 0, or if you don't include a MaxResults parameter. Limit int32 // Set to true if pagination should stop if the service returns a pagination token diff --git a/service/cognitoidentityprovider/api_op_CreateUserPool.go b/service/cognitoidentityprovider/api_op_CreateUserPool.go index 1148a04d5ff..bde114cb0df 100644 --- a/service/cognitoidentityprovider/api_op_CreateUserPool.go +++ b/service/cognitoidentityprovider/api_op_CreateUserPool.go @@ -70,6 +70,14 @@ type CreateUserPoolInput struct { // The attributes to be auto-verified. Possible values: email, phone_number. AutoVerifiedAttributes []types.VerifiedAttributeType + // When active, DeletionProtection prevents accidental deletion of your user pool. + // Before you can delete a user pool that you have protected against deletion, you + // must deactivate this feature. When you try to delete a protected user pool in a + // DeleteUserPool API request, Amazon Cognito returns an InvalidParameterException + // error. To delete a protected user pool, send a new DeleteUserPool request after + // you deactivate deletion protection in an UpdateUserPool API request. + DeletionProtection types.DeletionProtectionType + // The device-remembering configuration for a user pool. A null value indicates // that you have deactivated device remembering in your user pool. When you provide // a value for any DeviceConfiguration field, you activate the Amazon Cognito diff --git a/service/cognitoidentityprovider/api_op_CreateUserPoolClient.go b/service/cognitoidentityprovider/api_op_CreateUserPoolClient.go index 97f5a8cc59e..c07440b9f36 100644 --- a/service/cognitoidentityprovider/api_op_CreateUserPoolClient.go +++ b/service/cognitoidentityprovider/api_op_CreateUserPoolClient.go @@ -49,7 +49,8 @@ type CreateUserPoolClientInput struct { // example, when you set AccessTokenValidity to 10 and TokenValidityUnits to hours, // your user can authorize access with their access token for 10 hours. The default // time unit for AccessTokenValidity in an API request is hours. Valid range is - // displayed below in seconds. + // displayed below in seconds. If you don't specify otherwise in the configuration + // of your app client, your access tokens are valid for one hour. AccessTokenValidity *int32 // The allowed OAuth flows. code Use a code grant flow, which provides an @@ -133,21 +134,39 @@ type CreateUserPoolClientInput struct { // for the new user pool client. EnableTokenRevocation *bool - // The authentication flows that are supported by the user pool clients. Flow names - // without the ALLOW_ prefix are no longer supported, in favor of new names with - // the ALLOW_ prefix. Values with ALLOW_ prefix must be used only along with the - // ALLOW_ prefix. Valid values include: ALLOW_ADMIN_USER_PASSWORD_AUTH Enable admin - // based user password authentication flow ADMIN_USER_PASSWORD_AUTH. This setting - // replaces the ADMIN_NO_SRP_AUTH setting. With this authentication flow, Amazon - // Cognito receives the password in the request instead of using the Secure Remote - // Password (SRP) protocol to verify passwords. ALLOW_CUSTOM_AUTH Enable Lambda - // trigger based authentication. ALLOW_USER_PASSWORD_AUTH Enable user + // The authentication flows that you want your user pool client to support. For + // each app client in your user pool, you can sign in your users with any + // combination of one or more flows, including with a user name and Secure Remote + // Password (SRP), a user name and password, or a custom authentication process + // that you define with Lambda functions. If you don't specify a value for + // ExplicitAuthFlows, your user client supports ALLOW_REFRESH_TOKEN_AUTH, + // ALLOW_USER_SRP_AUTH, and ALLOW_CUSTOM_AUTH. Valid values include: + // + // * + // ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password authentication + // flow ADMIN_USER_PASSWORD_AUTH. This setting replaces the ADMIN_NO_SRP_AUTH + // setting. With this authentication flow, your app passes a user name and password + // to Amazon Cognito in the request, instead of using the Secure Remote Password + // (SRP) protocol to securely transmit the password. + // + // * ALLOW_CUSTOM_AUTH: Enable + // Lambda trigger based authentication. + // + // * ALLOW_USER_PASSWORD_AUTH: Enable user // password-based authentication. In this flow, Amazon Cognito receives the - // password in the request instead of using the SRP protocol to verify passwords. - // ALLOW_USER_SRP_AUTH Enable SRP-based authentication. ALLOW_REFRESH_TOKEN_AUTH - // Enable the authflow that refreshes tokens. If you don't specify a value for - // ExplicitAuthFlows, your user client supports ALLOW_USER_SRP_AUTH and - // ALLOW_CUSTOM_AUTH. + // password in the request instead of using the SRP protocol to verify + // passwords. + // + // * ALLOW_USER_SRP_AUTH: Enable SRP-based authentication. + // + // * + // ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh tokens. + // + // In some + // environments, you will see the values ADMIN_NO_SRP_AUTH, CUSTOM_AUTH_FLOW_ONLY, + // or USER_PASSWORD_AUTH. You can't assign these legacy ExplicitAuthFlows values to + // user pool clients at the same time as values that begin with ALLOW_, like + // ALLOW_USER_SRP_AUTH. ExplicitAuthFlows []types.ExplicitAuthFlowsType // Boolean to specify whether you want to generate a secret for the user pool @@ -160,7 +179,8 @@ type CreateUserPoolClientInput struct { // you set IdTokenValidity as 10 and TokenValidityUnits as hours, your user can // authenticate their session with their ID token for 10 hours. The default time // unit for AccessTokenValidity in an API request is hours. Valid range is - // displayed below in seconds. + // displayed below in seconds. If you don't specify otherwise in the configuration + // of your app client, your ID tokens are valid for one hour. IdTokenValidity *int32 // A list of allowed logout URLs for the IdPs. @@ -193,7 +213,8 @@ type CreateUserPoolClientInput struct { // access and ID tokens for 10 days. The default time unit for RefreshTokenValidity // in an API request is days. You can't set RefreshTokenValidity to 0. If you do, // Amazon Cognito overrides the value with the default value of 30 days. Valid - // range is displayed below in seconds. + // range is displayed below in seconds. If you don't specify otherwise in the + // configuration of your app client, your refresh tokens are valid for 30 days. RefreshTokenValidity int32 // A list of provider names for the identity providers (IdPs) that are supported on diff --git a/service/cognitoidentityprovider/api_op_DescribeIdentityProvider.go b/service/cognitoidentityprovider/api_op_DescribeIdentityProvider.go index 54967100caa..31a5ea54296 100644 --- a/service/cognitoidentityprovider/api_op_DescribeIdentityProvider.go +++ b/service/cognitoidentityprovider/api_op_DescribeIdentityProvider.go @@ -44,7 +44,7 @@ type DescribeIdentityProviderInput struct { type DescribeIdentityProviderOutput struct { - // The IdP that was deleted. + // The identity provider details. // // This member is required. IdentityProvider *types.IdentityProviderType diff --git a/service/cognitoidentityprovider/api_op_GetIdentityProviderByIdentifier.go b/service/cognitoidentityprovider/api_op_GetIdentityProviderByIdentifier.go index d70d93e838f..c93158990b6 100644 --- a/service/cognitoidentityprovider/api_op_GetIdentityProviderByIdentifier.go +++ b/service/cognitoidentityprovider/api_op_GetIdentityProviderByIdentifier.go @@ -44,7 +44,7 @@ type GetIdentityProviderByIdentifierInput struct { type GetIdentityProviderByIdentifierOutput struct { - // The IdP object. + // The identity provider details. // // This member is required. IdentityProvider *types.IdentityProviderType diff --git a/service/cognitoidentityprovider/api_op_GetSigningCertificate.go b/service/cognitoidentityprovider/api_op_GetSigningCertificate.go index b6d3788bbde..6b557c5e5ed 100644 --- a/service/cognitoidentityprovider/api_op_GetSigningCertificate.go +++ b/service/cognitoidentityprovider/api_op_GetSigningCertificate.go @@ -10,7 +10,11 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// This method takes a user pool ID, and returns the signing certificate. +// This method takes a user pool ID, and returns the signing certificate. The +// issued certificate is valid for 10 years from the date of issue. Amazon Cognito +// issues and assigns a new signing certificate annually. This process returns a +// new value in the response to GetSigningCertificate, but doesn't invalidate the +// original certificate. func (c *Client) GetSigningCertificate(ctx context.Context, params *GetSigningCertificateInput, optFns ...func(*Options)) (*GetSigningCertificateOutput, error) { if params == nil { params = &GetSigningCertificateInput{} diff --git a/service/cognitoidentityprovider/api_op_GlobalSignOut.go b/service/cognitoidentityprovider/api_op_GlobalSignOut.go index 01167b38181..ac219967c35 100644 --- a/service/cognitoidentityprovider/api_op_GlobalSignOut.go +++ b/service/cognitoidentityprovider/api_op_GlobalSignOut.go @@ -11,10 +11,8 @@ import ( ) // Signs out users from all devices. It also invalidates all refresh tokens that -// Amazon Cognito has issued to a user. The user's current access and ID tokens -// remain valid until their expiry. By default, access and ID tokens expire one -// hour after Amazon Cognito issues them. A user can still use a hosted UI cookie -// to retrieve new tokens for the duration of the cookie validity period of 1 hour. +// Amazon Cognito has issued to a user. A user can still use a hosted UI cookie to +// retrieve new tokens for the duration of the 1-hour cookie validity period. func (c *Client) GlobalSignOut(ctx context.Context, params *GlobalSignOutInput, optFns ...func(*Options)) (*GlobalSignOutOutput, error) { if params == nil { params = &GlobalSignOutInput{} diff --git a/service/cognitoidentityprovider/api_op_RevokeToken.go b/service/cognitoidentityprovider/api_op_RevokeToken.go index 09205801dd3..93dbd5c64e9 100644 --- a/service/cognitoidentityprovider/api_op_RevokeToken.go +++ b/service/cognitoidentityprovider/api_op_RevokeToken.go @@ -10,9 +10,10 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Revokes all of the access tokens generated by the specified refresh token. After -// the token is revoked, you can't use the revoked token to access Amazon Cognito -// authenticated APIs. +// Revokes all of the access tokens generated by, and at the same time as, the +// specified refresh token. After a token is revoked, you can't use the revoked +// token to access Amazon Cognito user APIs, or to authorize access to your +// resource server. func (c *Client) RevokeToken(ctx context.Context, params *RevokeTokenInput, optFns ...func(*Options)) (*RevokeTokenOutput, error) { if params == nil { params = &RevokeTokenInput{} diff --git a/service/cognitoidentityprovider/api_op_SetUserPoolMfaConfig.go b/service/cognitoidentityprovider/api_op_SetUserPoolMfaConfig.go index b4bdf0b0292..e5b57d0c6bf 100644 --- a/service/cognitoidentityprovider/api_op_SetUserPoolMfaConfig.go +++ b/service/cognitoidentityprovider/api_op_SetUserPoolMfaConfig.go @@ -52,16 +52,17 @@ type SetUserPoolMfaConfigInput struct { // The MFA configuration. If you set the MfaConfiguration value to ‘ON’, only users // who have set up an MFA factor can sign in. To learn more, see Adding - // Multi-Factor Authentication (MFA) to a user pool. Valid values include: + // Multi-Factor Authentication (MFA) to a user pool + // (https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-mfa.html). + // Valid values include: // - // * OFF - // MFA won't be used for any users. + // * OFF MFA won't be used for any users. // - // * ON MFA is required for all users to sign - // in. + // * ON MFA is + // required for all users to sign in. // - // * OPTIONAL MFA will be required only for individual users who have an MFA - // factor activated. + // * OPTIONAL MFA will be required only for + // individual users who have an MFA factor activated. MfaConfiguration types.UserPoolMfaType // The SMS text message MFA configuration. diff --git a/service/cognitoidentityprovider/api_op_UpdateIdentityProvider.go b/service/cognitoidentityprovider/api_op_UpdateIdentityProvider.go index 0af22979910..496a362bad1 100644 --- a/service/cognitoidentityprovider/api_op_UpdateIdentityProvider.go +++ b/service/cognitoidentityprovider/api_op_UpdateIdentityProvider.go @@ -53,7 +53,7 @@ type UpdateIdentityProviderInput struct { type UpdateIdentityProviderOutput struct { - // The IdP object. + // The identity provider details. // // This member is required. IdentityProvider *types.IdentityProviderType diff --git a/service/cognitoidentityprovider/api_op_UpdateUserPool.go b/service/cognitoidentityprovider/api_op_UpdateUserPool.go index 34a8d9f74ff..e391dedb3d6 100644 --- a/service/cognitoidentityprovider/api_op_UpdateUserPool.go +++ b/service/cognitoidentityprovider/api_op_UpdateUserPool.go @@ -70,6 +70,14 @@ type UpdateUserPoolInput struct { // update user pools. AutoVerifiedAttributes []types.VerifiedAttributeType + // When active, DeletionProtection prevents accidental deletion of your user pool. + // Before you can delete a user pool that you have protected against deletion, you + // must deactivate this feature. When you try to delete a protected user pool in a + // DeleteUserPool API request, Amazon Cognito returns an InvalidParameterException + // error. To delete a protected user pool, send a new DeleteUserPool request after + // you deactivate deletion protection in an UpdateUserPool API request. + DeletionProtection types.DeletionProtectionType + // The device-remembering configuration for a user pool. A null value indicates // that you have deactivated device remembering in your user pool. When you provide // a value for any DeviceConfiguration field, you activate the Amazon Cognito diff --git a/service/cognitoidentityprovider/api_op_UpdateUserPoolClient.go b/service/cognitoidentityprovider/api_op_UpdateUserPoolClient.go index b8d327fdc67..cf32094e998 100644 --- a/service/cognitoidentityprovider/api_op_UpdateUserPoolClient.go +++ b/service/cognitoidentityprovider/api_op_UpdateUserPoolClient.go @@ -54,7 +54,8 @@ type UpdateUserPoolClientInput struct { // example, when you set AccessTokenValidity to 10 and TokenValidityUnits to hours, // your user can authorize access with their access token for 10 hours. The default // time unit for AccessTokenValidity in an API request is hours. Valid range is - // displayed below in seconds. + // displayed below in seconds. If you don't specify otherwise in the configuration + // of your app client, your access tokens are valid for one hour. AccessTokenValidity *int32 // The allowed OAuth flows. code Use a code grant flow, which provides an @@ -138,29 +139,39 @@ type UpdateUserPoolClientInput struct { // (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RevokeToken.html). EnableTokenRevocation *bool - // The authentication flows that are supported by the user pool clients. Flow names - // without the ALLOW_ prefix are no longer supported in favor of new names with the - // ALLOW_ prefix. Note that values with ALLOW_ prefix must be used only along with - // values with the ALLOW_ prefix. Valid values include: + // The authentication flows that you want your user pool client to support. For + // each app client in your user pool, you can sign in your users with any + // combination of one or more flows, including with a user name and Secure Remote + // Password (SRP), a user name and password, or a custom authentication process + // that you define with Lambda functions. If you don't specify a value for + // ExplicitAuthFlows, your user client supports ALLOW_REFRESH_TOKEN_AUTH, + // ALLOW_USER_SRP_AUTH, and ALLOW_CUSTOM_AUTH. Valid values include: // // * // ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password authentication // flow ADMIN_USER_PASSWORD_AUTH. This setting replaces the ADMIN_NO_SRP_AUTH - // setting. With this authentication flow, Amazon Cognito receives the password in - // the request instead of using the Secure Remote Password (SRP) protocol to verify + // setting. With this authentication flow, your app passes a user name and password + // to Amazon Cognito in the request, instead of using the Secure Remote Password + // (SRP) protocol to securely transmit the password. + // + // * ALLOW_CUSTOM_AUTH: Enable + // Lambda trigger based authentication. + // + // * ALLOW_USER_PASSWORD_AUTH: Enable user + // password-based authentication. In this flow, Amazon Cognito receives the + // password in the request instead of using the SRP protocol to verify // passwords. // - // * ALLOW_CUSTOM_AUTH: Enable Lambda trigger based authentication. + // * ALLOW_USER_SRP_AUTH: Enable SRP-based authentication. // // * - // ALLOW_USER_PASSWORD_AUTH: Enable user password-based authentication. In this - // flow, Amazon Cognito receives the password in the request instead of using the - // SRP protocol to verify passwords. - // - // * ALLOW_USER_SRP_AUTH: Enable SRP-based - // authentication. + // ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh tokens. // - // * ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh tokens. + // In some + // environments, you will see the values ADMIN_NO_SRP_AUTH, CUSTOM_AUTH_FLOW_ONLY, + // or USER_PASSWORD_AUTH. You can't assign these legacy ExplicitAuthFlows values to + // user pool clients at the same time as values that begin with ALLOW_, like + // ALLOW_USER_SRP_AUTH. ExplicitAuthFlows []types.ExplicitAuthFlowsType // The ID token time limit. After this limit expires, your user can't use their ID @@ -169,7 +180,8 @@ type UpdateUserPoolClientInput struct { // you set IdTokenValidity as 10 and TokenValidityUnits as hours, your user can // authenticate their session with their ID token for 10 hours. The default time // unit for AccessTokenValidity in an API request is hours. Valid range is - // displayed below in seconds. + // displayed below in seconds. If you don't specify otherwise in the configuration + // of your app client, your ID tokens are valid for one hour. IdTokenValidity *int32 // A list of allowed logout URLs for the IdPs. @@ -202,7 +214,8 @@ type UpdateUserPoolClientInput struct { // access and ID tokens for 10 days. The default time unit for RefreshTokenValidity // in an API request is days. You can't set RefreshTokenValidity to 0. If you do, // Amazon Cognito overrides the value with the default value of 30 days. Valid - // range is displayed below in seconds. + // range is displayed below in seconds. If you don't specify otherwise in the + // configuration of your app client, your refresh tokens are valid for 30 days. RefreshTokenValidity int32 // A list of provider names for the IdPs that this client supports. The following diff --git a/service/cognitoidentityprovider/deserializers.go b/service/cognitoidentityprovider/deserializers.go index 36afaa36572..0e6244fa896 100644 --- a/service/cognitoidentityprovider/deserializers.go +++ b/service/cognitoidentityprovider/deserializers.go @@ -5320,6 +5320,9 @@ func awsAwsjson11_deserializeOpErrorDeleteIdentityProvider(response *smithyhttp. } switch { + case strings.EqualFold("ConcurrentModificationException", errorCode): + return awsAwsjson11_deserializeErrorConcurrentModificationException(response, errorBody) + case strings.EqualFold("InternalErrorException", errorCode): return awsAwsjson11_deserializeErrorInternalErrorException(response, errorBody) @@ -5877,6 +5880,9 @@ func awsAwsjson11_deserializeOpErrorDeleteUserPoolClient(response *smithyhttp.Re } switch { + case strings.EqualFold("ConcurrentModificationException", errorCode): + return awsAwsjson11_deserializeErrorConcurrentModificationException(response, errorBody) + case strings.EqualFold("InternalErrorException", errorCode): return awsAwsjson11_deserializeErrorInternalErrorException(response, errorBody) @@ -12086,6 +12092,9 @@ func awsAwsjson11_deserializeOpErrorUpdateIdentityProvider(response *smithyhttp. } switch { + case strings.EqualFold("ConcurrentModificationException", errorCode): + return awsAwsjson11_deserializeErrorConcurrentModificationException(response, errorBody) + case strings.EqualFold("InternalErrorException", errorCode): return awsAwsjson11_deserializeErrorInternalErrorException(response, errorBody) @@ -21178,6 +21187,15 @@ func awsAwsjson11_deserializeDocumentUserPoolType(v **types.UserPoolType, value sv.CustomDomain = ptr.String(jtv) } + case "DeletionProtection": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected DeletionProtectionType to be of type string, got %T instead", value) + } + sv.DeletionProtection = types.DeletionProtectionType(jtv) + } + case "DeviceConfiguration": if err := awsAwsjson11_deserializeDocumentDeviceConfigurationType(&sv.DeviceConfiguration, value); err != nil { return err diff --git a/service/cognitoidentityprovider/serializers.go b/service/cognitoidentityprovider/serializers.go index 5d1e900c705..4ab0eadb15c 100644 --- a/service/cognitoidentityprovider/serializers.go +++ b/service/cognitoidentityprovider/serializers.go @@ -8100,6 +8100,11 @@ func awsAwsjson11_serializeOpDocumentCreateUserPoolInput(v *CreateUserPoolInput, } } + if len(v.DeletionProtection) > 0 { + ok := object.Key("DeletionProtection") + ok.String(string(v.DeletionProtection)) + } + if v.DeviceConfiguration != nil { ok := object.Key("DeviceConfiguration") if err := awsAwsjson11_serializeDocumentDeviceConfigurationType(v.DeviceConfiguration, ok); err != nil { @@ -9688,6 +9693,11 @@ func awsAwsjson11_serializeOpDocumentUpdateUserPoolInput(v *UpdateUserPoolInput, } } + if len(v.DeletionProtection) > 0 { + ok := object.Key("DeletionProtection") + ok.String(string(v.DeletionProtection)) + } + if v.DeviceConfiguration != nil { ok := object.Key("DeviceConfiguration") if err := awsAwsjson11_serializeDocumentDeviceConfigurationType(v.DeviceConfiguration, ok); err != nil { diff --git a/service/cognitoidentityprovider/types/enums.go b/service/cognitoidentityprovider/types/enums.go index 0492cbc30d8..6f3f3061bed 100644 --- a/service/cognitoidentityprovider/types/enums.go +++ b/service/cognitoidentityprovider/types/enums.go @@ -256,6 +256,24 @@ func (DefaultEmailOptionType) Values() []DefaultEmailOptionType { } } +type DeletionProtectionType string + +// Enum values for DeletionProtectionType +const ( + DeletionProtectionTypeActive DeletionProtectionType = "ACTIVE" + DeletionProtectionTypeInactive DeletionProtectionType = "INACTIVE" +) + +// Values returns all known values for DeletionProtectionType. Note that this can +// be expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (DeletionProtectionType) Values() []DeletionProtectionType { + return []DeletionProtectionType{ + "ACTIVE", + "INACTIVE", + } +} + type DeliveryMediumType string // Enum values for DeliveryMediumType diff --git a/service/cognitoidentityprovider/types/types.go b/service/cognitoidentityprovider/types/types.go index afa4f251ec9..4ec7f15d1eb 100644 --- a/service/cognitoidentityprovider/types/types.go +++ b/service/cognitoidentityprovider/types/types.go @@ -492,23 +492,24 @@ type EmailConfigurationType struct { // each day for your user pool. For typical production environments, the default // email limit is less than the required delivery volume. To achieve a higher // delivery volume, specify DEVELOPER to use your Amazon SES email configuration. - // To look up the email delivery limit for the default option, see Limits in + // To look up the email delivery limit for the default option, see Limits // (https://docs.aws.amazon.com/cognito/latest/developerguide/limits.html) in the - // Developer Guide. The default FROM address is no-reply@verificationemail.com. To - // customize the FROM address, provide the Amazon Resource Name (ARN) of an Amazon - // SES verified email address for the SourceArn parameter. DEVELOPER When Amazon - // Cognito emails your users, it uses your Amazon SES configuration. Amazon Cognito - // calls Amazon SES on your behalf to send email from your verified email address. - // When you use this option, the email delivery limits are the same limits that - // apply to your Amazon SES verified email address in your Amazon Web Services - // account. If you use this option, provide the ARN of an Amazon SES verified email - // address for the SourceArn parameter. Before Amazon Cognito can email your users, - // it requires additional permissions to call Amazon SES on your behalf. When you - // update your user pool with this option, Amazon Cognito creates a service-linked - // role, which is a type of role, in your Amazon Web Services account. This role - // contains the permissions that allow to access Amazon SES and send email messages - // with your address. For more information about the service-linked role that - // Amazon Cognito creates, see Using Service-Linked Roles for Amazon Cognito + // Amazon Cognito Developer Guide. The default FROM address is + // no-reply@verificationemail.com. To customize the FROM address, provide the + // Amazon Resource Name (ARN) of an Amazon SES verified email address for the + // SourceArn parameter. DEVELOPER When Amazon Cognito emails your users, it uses + // your Amazon SES configuration. Amazon Cognito calls Amazon SES on your behalf to + // send email from your verified email address. When you use this option, the email + // delivery limits are the same limits that apply to your Amazon SES verified email + // address in your Amazon Web Services account. If you use this option, provide the + // ARN of an Amazon SES verified email address for the SourceArn parameter. Before + // Amazon Cognito can email your users, it requires additional permissions to call + // Amazon SES on your behalf. When you update your user pool with this option, + // Amazon Cognito creates a service-linked role, which is a type of role in your + // Amazon Web Services account. This role contains the permissions that allow you + // to access Amazon SES and send email messages from your email address. For more + // information about the service-linked role that Amazon Cognito creates, see Using + // Service-Linked Roles for Amazon Cognito // (https://docs.aws.amazon.com/cognito/latest/developerguide/using-service-linked-roles.html) // in the Amazon Cognito Developer Guide. EmailSendingAccount EmailSendingAccountType @@ -1453,7 +1454,8 @@ type UserPoolClientType struct { // example, when you set AccessTokenValidity to 10 and TokenValidityUnits to hours, // your user can authorize access with their access token for 10 hours. The default // time unit for AccessTokenValidity in an API request is hours. Valid range is - // displayed below in seconds. + // displayed below in seconds. If you don't specify otherwise in the configuration + // of your app client, your access tokens are valid for one hour. AccessTokenValidity *int32 // The allowed OAuth flows. code Use a code grant flow, which provides an @@ -1553,29 +1555,39 @@ type UserPoolClientType struct { // (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RevokeToken.html). EnableTokenRevocation *bool - // The authentication flows that are supported by the user pool clients. Flow names - // without the ALLOW_ prefix are no longer supported in favor of new names with the - // ALLOW_ prefix. Note that values with ALLOW_ prefix must be used only along with - // values including the ALLOW_ prefix. Valid values include: + // The authentication flows that you want your user pool client to support. For + // each app client in your user pool, you can sign in your users with any + // combination of one or more flows, including with a user name and Secure Remote + // Password (SRP), a user name and password, or a custom authentication process + // that you define with Lambda functions. If you don't specify a value for + // ExplicitAuthFlows, your user client supports ALLOW_REFRESH_TOKEN_AUTH, + // ALLOW_USER_SRP_AUTH, and ALLOW_CUSTOM_AUTH. Valid values include: // // * // ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password authentication // flow ADMIN_USER_PASSWORD_AUTH. This setting replaces the ADMIN_NO_SRP_AUTH - // setting. With this authentication flow, Amazon Cognito receives the password in - // the request instead of using the Secure Remote Password (SRP) protocol to verify + // setting. With this authentication flow, your app passes a user name and password + // to Amazon Cognito in the request, instead of using the Secure Remote Password + // (SRP) protocol to securely transmit the password. + // + // * ALLOW_CUSTOM_AUTH: Enable + // Lambda trigger based authentication. + // + // * ALLOW_USER_PASSWORD_AUTH: Enable user + // password-based authentication. In this flow, Amazon Cognito receives the + // password in the request instead of using the SRP protocol to verify // passwords. // - // * ALLOW_CUSTOM_AUTH: Enable Lambda trigger based authentication. + // * ALLOW_USER_SRP_AUTH: Enable SRP-based authentication. // // * - // ALLOW_USER_PASSWORD_AUTH: Enable user password-based authentication. In this - // flow, Amazon Cognito receives the password in the request instead of using the - // SRP protocol to verify passwords. + // ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh tokens. // - // * ALLOW_USER_SRP_AUTH: Enable SRP-based - // authentication. - // - // * ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh tokens. + // In some + // environments, you will see the values ADMIN_NO_SRP_AUTH, CUSTOM_AUTH_FLOW_ONLY, + // or USER_PASSWORD_AUTH. You can't assign these legacy ExplicitAuthFlows values to + // user pool clients at the same time as values that begin with ALLOW_, like + // ALLOW_USER_SRP_AUTH. ExplicitAuthFlows []ExplicitAuthFlowsType // The ID token time limit. After this limit expires, your user can't use their ID @@ -1584,7 +1596,8 @@ type UserPoolClientType struct { // you set IdTokenValidity as 10 and TokenValidityUnits as hours, your user can // authenticate their session with their ID token for 10 hours. The default time // unit for AccessTokenValidity in an API request is hours. Valid range is - // displayed below in seconds. + // displayed below in seconds. If you don't specify otherwise in the configuration + // of your app client, your ID tokens are valid for one hour. IdTokenValidity *int32 // The date the user pool client was last modified. @@ -1620,7 +1633,8 @@ type UserPoolClientType struct { // access and ID tokens for 10 days. The default time unit for RefreshTokenValidity // in an API request is days. You can't set RefreshTokenValidity to 0. If you do, // Amazon Cognito overrides the value with the default value of 30 days. Valid - // range is displayed below in seconds. + // range is displayed below in seconds. If you don't specify otherwise in the + // configuration of your app client, your refresh tokens are valid for 30 days. RefreshTokenValidity int32 // A list of provider names for the IdPs that this client supports. The following @@ -1709,6 +1723,14 @@ type UserPoolType struct { // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-add-custom-domain.html). CustomDomain *string + // When active, DeletionProtection prevents accidental deletion of your user pool. + // Before you can delete a user pool that you have protected against deletion, you + // must deactivate this feature. When you try to delete a protected user pool in a + // DeleteUserPool API request, Amazon Cognito returns an InvalidParameterException + // error. To delete a protected user pool, send a new DeleteUserPool request after + // you deactivate deletion protection in an UpdateUserPool API request. + DeletionProtection DeletionProtectionType + // The device-remembering configuration for a user pool. A null value indicates // that you have deactivated device remembering in your user pool. When you provide // a value for any DeviceConfiguration field, you activate the Amazon Cognito diff --git a/service/sagemaker/api_op_DescribeInferenceRecommendationsJob.go b/service/sagemaker/api_op_DescribeInferenceRecommendationsJob.go index 8ae33a16da7..ef426224f98 100644 --- a/service/sagemaker/api_op_DescribeInferenceRecommendationsJob.go +++ b/service/sagemaker/api_op_DescribeInferenceRecommendationsJob.go @@ -89,6 +89,10 @@ type DescribeInferenceRecommendationsJobOutput struct { // A timestamp that shows when the job completed. CompletionTime *time.Time + // The performance results from running an Inference Recommender job on an existing + // endpoint. + EndpointPerformances []types.EndpointPerformance + // If the job fails, provides information why the job failed. FailureReason *string diff --git a/service/sagemaker/deserializers.go b/service/sagemaker/deserializers.go index 69987c6c540..b6b6efd72a9 100644 --- a/service/sagemaker/deserializers.go +++ b/service/sagemaker/deserializers.go @@ -38399,6 +38399,46 @@ func awsAwsjson11_deserializeDocumentEndpointConfigSummaryList(v *[]types.Endpoi return nil } +func awsAwsjson11_deserializeDocumentEndpointInfo(v **types.EndpointInfo, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.EndpointInfo + if *v == nil { + sv = &types.EndpointInfo{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "EndpointName": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected EndpointName to be of type string, got %T instead", value) + } + sv.EndpointName = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeDocumentEndpointInput(v **types.EndpointInput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -38704,6 +38744,115 @@ func awsAwsjson11_deserializeDocumentEndpointOutputConfiguration(v **types.Endpo return nil } +func awsAwsjson11_deserializeDocumentEndpointPerformance(v **types.EndpointPerformance, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.EndpointPerformance + if *v == nil { + sv = &types.EndpointPerformance{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "EndpointInfo": + if err := awsAwsjson11_deserializeDocumentEndpointInfo(&sv.EndpointInfo, value); err != nil { + return err + } + + case "Metrics": + if err := awsAwsjson11_deserializeDocumentInferenceMetrics(&sv.Metrics, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentEndpointPerformances(v *[]types.EndpointPerformance, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.EndpointPerformance + if *v == nil { + cv = []types.EndpointPerformance{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.EndpointPerformance + destAddr := &col + if err := awsAwsjson11_deserializeDocumentEndpointPerformance(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsAwsjson11_deserializeDocumentEndpoints(v *[]types.EndpointInfo, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.EndpointInfo + if *v == nil { + cv = []types.EndpointInfo{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.EndpointInfo + destAddr := &col + if err := awsAwsjson11_deserializeDocumentEndpointInfo(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + func awsAwsjson11_deserializeDocumentEndpointSummary(v **types.EndpointSummary, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -42978,6 +43127,63 @@ func awsAwsjson11_deserializeDocumentInferenceExecutionConfig(v **types.Inferenc return nil } +func awsAwsjson11_deserializeDocumentInferenceMetrics(v **types.InferenceMetrics, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.InferenceMetrics + if *v == nil { + sv = &types.InferenceMetrics{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "MaxInvocations": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected Integer to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.MaxInvocations = int32(i64) + } + + case "ModelLatency": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected Integer to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.ModelLatency = int32(i64) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeDocumentInferenceRecommendation(v **types.InferenceRecommendation, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -55260,6 +55466,11 @@ func awsAwsjson11_deserializeDocumentRecommendationJobInputConfig(v **types.Reco return err } + case "Endpoints": + if err := awsAwsjson11_deserializeDocumentEndpoints(&sv.Endpoints, value); err != nil { + return err + } + case "JobDurationInSeconds": if value != nil { jtv, ok := value.(json.Number) @@ -68415,6 +68626,11 @@ func awsAwsjson11_deserializeOpDocumentDescribeInferenceRecommendationsJobOutput } } + case "EndpointPerformances": + if err := awsAwsjson11_deserializeDocumentEndpointPerformances(&sv.EndpointPerformances, value); err != nil { + return err + } + case "FailureReason": if value != nil { jtv, ok := value.(string) diff --git a/service/sagemaker/serializers.go b/service/sagemaker/serializers.go index e9f8c3ff751..63b9d679122 100644 --- a/service/sagemaker/serializers.go +++ b/service/sagemaker/serializers.go @@ -16917,6 +16917,18 @@ func awsAwsjson11_serializeDocumentEdgeOutputConfig(v *types.EdgeOutputConfig, v return nil } +func awsAwsjson11_serializeDocumentEndpointInfo(v *types.EndpointInfo, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.EndpointName != nil { + ok := object.Key("EndpointName") + ok.String(*v.EndpointName) + } + + return nil +} + func awsAwsjson11_serializeDocumentEndpointInput(v *types.EndpointInput, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -17024,6 +17036,19 @@ func awsAwsjson11_serializeDocumentEndpointInputConfigurations(v []types.Endpoin return nil } +func awsAwsjson11_serializeDocumentEndpoints(v []types.EndpointInfo, value smithyjson.Value) error { + array := value.Array() + defer array.Close() + + for i := range v { + av := array.Value() + if err := awsAwsjson11_serializeDocumentEndpointInfo(&v[i], av); err != nil { + return err + } + } + return nil +} + func awsAwsjson11_serializeDocumentEnvironmentMap(v map[string]string, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -20947,6 +20972,13 @@ func awsAwsjson11_serializeDocumentRecommendationJobInputConfig(v *types.Recomme } } + if v.Endpoints != nil { + ok := object.Key("Endpoints") + if err := awsAwsjson11_serializeDocumentEndpoints(v.Endpoints, ok); err != nil { + return err + } + } + if v.JobDurationInSeconds != nil { ok := object.Key("JobDurationInSeconds") ok.Integer(*v.JobDurationInSeconds) diff --git a/service/sagemaker/types/types.go b/service/sagemaker/types/types.go index 3d1e8761511..5fe5b66243c 100644 --- a/service/sagemaker/types/types.go +++ b/service/sagemaker/types/types.go @@ -4136,6 +4136,18 @@ type EndpointConfigSummary struct { noSmithyDocumentSerde } +// Details about a customer endpoint that was compared in an Inference Recommender +// job. +type EndpointInfo struct { + + // The name of a customer's endpoint. + // + // This member is required. + EndpointName *string + + noSmithyDocumentSerde +} + // Input object for the endpoint type EndpointInput struct { @@ -4231,6 +4243,24 @@ type EndpointOutputConfiguration struct { noSmithyDocumentSerde } +// The performance results from running an Inference Recommender job on an existing +// endpoint. +type EndpointPerformance struct { + + // Details about a customer endpoint that was compared in an Inference Recommender + // job. + // + // This member is required. + EndpointInfo *EndpointInfo + + // The metrics for an existing endpoint. + // + // This member is required. + Metrics *InferenceMetrics + + noSmithyDocumentSerde +} + // Provides summary information for an endpoint. type EndpointSummary struct { @@ -7042,6 +7072,22 @@ type InferenceExecutionConfig struct { noSmithyDocumentSerde } +// The metrics for an existing endpoint compared in an Inference Recommender job. +type InferenceMetrics struct { + + // The expected maximum number of requests per minute for the instance. + // + // This member is required. + MaxInvocations int32 + + // The expected model latency at maximum invocations per minute for the instance. + // + // This member is required. + ModelLatency int32 + + noSmithyDocumentSerde +} + // A list of recommendations made by Amazon SageMaker Inference Recommender. type InferenceRecommendation struct { @@ -11625,6 +11671,9 @@ type RecommendationJobInputConfig struct { // Specifies the endpoint configuration to use for a job. EndpointConfigurations []EndpointInputConfiguration + // Existing customer endpoints on which to run an Inference Recommender job. + Endpoints []EndpointInfo + // Specifies the maximum duration of the job, in seconds.> JobDurationInSeconds *int32 @@ -13628,8 +13677,9 @@ type TransformOutput struct { // use for transform job. type TransformResources struct { - // The number of ML compute instances to use in the transform job. For distributed - // transform jobs, specify a value greater than 1. The default value is 1. + // The number of ML compute instances to use in the transform job. The default + // value is 1, and the maximum is 100. For distributed transform jobs, specify a + // value greater than 1. // // This member is required. InstanceCount *int32 diff --git a/service/sagemaker/validators.go b/service/sagemaker/validators.go index 29b66dcc1e3..35134bee9c4 100644 --- a/service/sagemaker/validators.go +++ b/service/sagemaker/validators.go @@ -6528,6 +6528,21 @@ func validateEdgeOutputConfig(v *types.EdgeOutputConfig) error { } } +func validateEndpointInfo(v *types.EndpointInfo) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "EndpointInfo"} + if v.EndpointName == nil { + invalidParams.Add(smithy.NewErrParamRequired("EndpointName")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateEndpointInput(v *types.EndpointInput) error { if v == nil { return nil @@ -6583,6 +6598,23 @@ func validateEndpointInputConfigurations(v []types.EndpointInputConfiguration) e } } +func validateEndpoints(v []types.EndpointInfo) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "Endpoints"} + for i := range v { + if err := validateEndpointInfo(&v[i]); err != nil { + invalidParams.AddNested(fmt.Sprintf("[%d]", i), err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateEnvironmentParameterRanges(v *types.EnvironmentParameterRanges) error { if v == nil { return nil @@ -8964,6 +8996,11 @@ func validateRecommendationJobInputConfig(v *types.RecommendationJobInputConfig) invalidParams.AddNested("EndpointConfigurations", err.(smithy.InvalidParamsError)) } } + if v.Endpoints != nil { + if err := validateEndpoints(v.Endpoints); err != nil { + invalidParams.AddNested("Endpoints", err.(smithy.InvalidParamsError)) + } + } if invalidParams.Len() > 0 { return invalidParams } else {