From 072e51cceaf2668e7f69003f488942d7282ccd38 Mon Sep 17 00:00:00 2001 From: Jason Del Ponte Date: Thu, 6 Oct 2016 16:00:21 -0700 Subject: [PATCH] Release v1.4.15 Service Model Updates --- `service/cognitoidentityprovider`: Update Amazon Cognito Identity Provider service model `service/devicefarm`: Update AWS Device Farm documentation `service/opsworks`: Update AWS OpsWorks service model `service/s3`: Update Amazon Simple Storage Service model `service/waf`: Update AWS WAF service model SDK Bug Fixes --- `aws/request`: Fix HTTP Request Body race condition #874 SDK Feature Updates --- `aws/ec2metadata`: Add support for EC2 User Data #872 `aws/signer/v4`: Remove logic determining if request needs to be resigned #876 --- CHANGELOG.md | 24 +- models/apis/cognito-idp/2016-04-18/api-2.json | 111 +- .../apis/cognito-idp/2016-04-18/docs-2.json | 84 +- models/apis/devicefarm/2015-06-23/docs-2.json | 90 +- .../devicefarm/2015-06-23/examples-1.json | 1237 +++++++++++++++ models/apis/kms/2014-11-01/api-2.json | 3 +- models/apis/opsworks/2013-02-18/docs-2.json | 28 +- models/apis/s3/2006-03-01/docs-2.json | 4 +- models/apis/sqs/2012-11-05/examples-1.json | 592 ++++++- models/apis/waf/2015-08-24/api-2.json | 19 +- models/apis/waf/2015-08-24/docs-2.json | 152 +- service/cognitoidentityprovider/api.go | 418 ++++- .../cognitoidentityprovideriface/interface.go | 4 + .../cognitoidentityprovider/examples_test.go | 65 + service/cognitoidentityprovider/service.go | 10 +- service/devicefarm/api.go | 607 +++---- service/opsworks/api.go | 42 +- service/s3/api.go | 10 +- service/waf/api.go | 1408 +++++++++++------ service/waf/examples_test.go | 14 +- 20 files changed, 3860 insertions(+), 1062 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f5446f2cf24..7ed351bac8b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,30 @@ -Release v1.4.14 (2016-09-29) +Release v1.4.15 +=== + +Service Model Updates --- +`service/cognitoidentityprovider`: Update Amazon Cognito Identity Provider service model +`service/devicefarm`: Update AWS Device Farm documentation +`service/opsworks`: Update AWS OpsWorks service model +`service/s3`: Update Amazon Simple Storage Service model +`service/waf`: Update AWS WAF service model + +SDK Bug Fixes +--- +`aws/request`: Fix HTTP Request Body race condition #874 + +SDK Feature Updates +--- +`aws/ec2metadata`: Add support for EC2 User Data #872 +`aws/signer/v4`: Remove logic determining if request needs to be resigned #876 + +Release v1.4.14 (2016-09-29) +=== * `service/ec2`: api, documentation, and paginators updates. * `service/s3`: api and documentation updates. Release v1.4.13 (2016-09-27) ---- +=== * `service/codepipeline`: documentation updates. * `service/cloudformation`: api and documentation updates. * `service/kms`: documentation updates. diff --git a/models/apis/cognito-idp/2016-04-18/api-2.json b/models/apis/cognito-idp/2016-04-18/api-2.json index 76a2f12048c..b8011efe875 100644 --- a/models/apis/cognito-idp/2016-04-18/api-2.json +++ b/models/apis/cognito-idp/2016-04-18/api-2.json @@ -49,6 +49,33 @@ {"shape":"InternalErrorException"} ] }, + "AdminCreateUser":{ + "name":"AdminCreateUser", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AdminCreateUserRequest"}, + "output":{"shape":"AdminCreateUserResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"UserNotFoundException"}, + {"shape":"UsernameExistsException"}, + {"shape":"InvalidPasswordException"}, + {"shape":"CodeDeliveryFailureException"}, + {"shape":"UnexpectedLambdaException"}, + {"shape":"UserLambdaValidationException"}, + {"shape":"InvalidLambdaResponseException"}, + {"shape":"PreconditionNotMetException"}, + {"shape":"InvalidSmsRoleAccessPolicyException"}, + {"shape":"InvalidSmsRoleTrustRelationshipException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"UnsupportedUserStateException"}, + {"shape":"InternalErrorException"} + ] + }, "AdminDeleteUser":{ "name":"AdminDeleteUser", "http":{ @@ -246,6 +273,7 @@ {"shape":"CodeMismatchException"}, {"shape":"ExpiredCodeException"}, {"shape":"UnexpectedLambdaException"}, + {"shape":"InvalidPasswordException"}, {"shape":"UserLambdaValidationException"}, {"shape":"InvalidLambdaResponseException"}, {"shape":"TooManyRequestsException"}, @@ -745,6 +773,8 @@ {"shape":"InvalidParameterException"}, {"shape":"NotAuthorizedException"}, {"shape":"TooManyRequestsException"}, + {"shape":"PasswordResetRequiredException"}, + {"shape":"UserNotConfirmedException"}, {"shape":"InternalErrorException"} ] }, @@ -896,6 +926,7 @@ {"shape":"ExpiredCodeException"}, {"shape":"UnexpectedLambdaException"}, {"shape":"UserLambdaValidationException"}, + {"shape":"InvalidPasswordException"}, {"shape":"InvalidLambdaResponseException"}, {"shape":"TooManyRequestsException"}, {"shape":"InvalidUserPoolConfigurationException"}, @@ -1132,6 +1163,42 @@ "members":{ } }, + "AdminCreateUserConfigType":{ + "type":"structure", + "members":{ + "AllowAdminCreateUserOnly":{"shape":"BooleanType"}, + "UnusedAccountValidityDays":{"shape":"AdminCreateUserUnusedAccountValidityDaysType"}, + "InviteMessageTemplate":{"shape":"MessageTemplateType"} + } + }, + "AdminCreateUserRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "Username" + ], + "members":{ + "UserPoolId":{"shape":"UserPoolIdType"}, + "Username":{"shape":"UsernameType"}, + "UserAttributes":{"shape":"AttributeListType"}, + "ValidationData":{"shape":"AttributeListType"}, + "TemporaryPassword":{"shape":"PasswordType"}, + "ForceAliasCreation":{"shape":"ForceAliasCreation"}, + "MessageAction":{"shape":"MessageActionType"}, + "DesiredDeliveryMediums":{"shape":"DeliveryMediumListType"} + } + }, + "AdminCreateUserResponse":{ + "type":"structure", + "members":{ + "User":{"shape":"UserType"} + } + }, + "AdminCreateUserUnusedAccountValidityDaysType":{ + "type":"integer", + "max":90, + "min":0 + }, "AdminDeleteUserAttributesRequest":{ "type":"structure", "required":[ @@ -1501,7 +1568,8 @@ "CUSTOM_CHALLENGE", "DEVICE_SRP_AUTH", "DEVICE_PASSWORD_VERIFIER", - "ADMIN_NO_SRP_AUTH" + "ADMIN_NO_SRP_AUTH", + "NEW_PASSWORD_REQUIRED" ] }, "ChallengeParametersType":{ @@ -1727,7 +1795,8 @@ "MfaConfiguration":{"shape":"UserPoolMfaType"}, "DeviceConfiguration":{"shape":"DeviceConfigurationType"}, "EmailConfiguration":{"shape":"EmailConfigurationType"}, - "SmsConfiguration":{"shape":"SmsConfigurationType"} + "SmsConfiguration":{"shape":"SmsConfigurationType"}, + "AdminCreateUserConfig":{"shape":"AdminCreateUserConfigType"} } }, "CreateUserPoolResponse":{ @@ -1786,6 +1855,10 @@ "AccessToken":{"shape":"TokenModelType"} } }, + "DeliveryMediumListType":{ + "type":"list", + "member":{"shape":"DeliveryMediumType"} + }, "DeliveryMediumType":{ "type":"string", "enum":[ @@ -2234,6 +2307,21 @@ "AttributeName":{"shape":"AttributeNameType"} } }, + "MessageActionType":{ + "type":"string", + "enum":[ + "RESEND", + "SUPPRESS" + ] + }, + "MessageTemplateType":{ + "type":"structure", + "members":{ + "SMSMessage":{"shape":"SmsVerificationMessageType"}, + "EmailMessage":{"shape":"EmailVerificationMessageType"}, + "EmailSubject":{"shape":"EmailVerificationSubjectType"} + } + }, "MessageType":{"type":"string"}, "NewDeviceMetadataType":{ "type":"structure", @@ -2540,6 +2628,13 @@ }, "exception":true }, + "UnsupportedUserStateException":{ + "type":"structure", + "members":{ + "message":{"shape":"MessageType"} + }, + "exception":true + }, "UpdateDeviceStatusRequest":{ "type":"structure", "required":[ @@ -2608,7 +2703,8 @@ "MfaConfiguration":{"shape":"UserPoolMfaType"}, "DeviceConfiguration":{"shape":"DeviceConfigurationType"}, "EmailConfiguration":{"shape":"EmailConfigurationType"}, - "SmsConfiguration":{"shape":"SmsConfigurationType"} + "SmsConfiguration":{"shape":"SmsConfigurationType"}, + "AdminCreateUserConfig":{"shape":"AdminCreateUserConfigType"} } }, "UpdateUserPoolResponse":{ @@ -2788,7 +2884,8 @@ "EmailConfiguration":{"shape":"EmailConfigurationType"}, "SmsConfiguration":{"shape":"SmsConfigurationType"}, "SmsConfigurationFailure":{"shape":"StringType"}, - "EmailConfigurationFailure":{"shape":"StringType"} + "EmailConfigurationFailure":{"shape":"StringType"}, + "AdminCreateUserConfig":{"shape":"AdminCreateUserConfigType"} } }, "UserStatusType":{ @@ -2799,7 +2896,8 @@ "ARCHIVED", "COMPROMISED", "UNKNOWN", - "RESET_REQUIRED" + "RESET_REQUIRED", + "FORCE_CHANGE_PASSWORD" ] }, "UserType":{ @@ -2810,7 +2908,8 @@ "UserCreateDate":{"shape":"DateType"}, "UserLastModifiedDate":{"shape":"DateType"}, "Enabled":{"shape":"BooleanType"}, - "UserStatus":{"shape":"UserStatusType"} + "UserStatus":{"shape":"UserStatusType"}, + "MFAOptions":{"shape":"MFAOptionListType"} } }, "UsernameExistsException":{ diff --git a/models/apis/cognito-idp/2016-04-18/docs-2.json b/models/apis/cognito-idp/2016-04-18/docs-2.json index a4a64e7fbd8..dd074c904ec 100644 --- a/models/apis/cognito-idp/2016-04-18/docs-2.json +++ b/models/apis/cognito-idp/2016-04-18/docs-2.json @@ -1,9 +1,10 @@ { "version": "2.0", - "service": "

You can create a user pool in Amazon Cognito Identity to manage directories and users. You can authenticate a user to obtain tokens related to user identity and access policies.

This API reference provides information about user pools in Amazon Cognito Identity.

For more information, see Amazon Cognito.

", + "service": "

Using the Amazon Cognito Your User Pools API, you can create a user pool to manage directories and users. You can authenticate a user to obtain tokens related to user identity and access policies.

This API reference provides information about user pools in Amazon Cognito Your User Pools.

For more information, see the Amazon Cognito Documentation.

", "operations": { "AddCustomAttributes": "

Adds additional user attributes to the user pool schema.

", "AdminConfirmSignUp": "

Confirms user registration as an admin without using a confirmation code. Works on any user.

", + "AdminCreateUser": "

Creates a new user in the specified user pool and sends a welcome message via email or phone (SMS). This message is based on a template that you configured in your call to CreateUserPool or UpdateUserPool. This template includes your custom sign-up instructions and placeholders for user name and temporary password.

Requires developer credentials.

", "AdminDeleteUser": "

Deletes a user as an administrator. Works on any user.

", "AdminDeleteUserAttributes": "

Deletes the user attributes in a user pool as an administrator. Works on any user.

", "AdminDisableUser": "

Disables the specified user as an administrator. Works on any user.

", @@ -79,6 +80,30 @@ "refs": { } }, + "AdminCreateUserConfigType": { + "base": "

The type of configuration for creating a new user profile.

", + "refs": { + "CreateUserPoolRequest$AdminCreateUserConfig": "

The configuration for AdminCreateUser requests.

", + "UpdateUserPoolRequest$AdminCreateUserConfig": "

The configuration for AdminCreateUser requests.

", + "UserPoolType$AdminCreateUserConfig": "

The configuration for AdminCreateUser requests.

" + } + }, + "AdminCreateUserRequest": { + "base": "

Represents the request to create a user in the specified user pool.

", + "refs": { + } + }, + "AdminCreateUserResponse": { + "base": "

Represents the response from the server to the request to create the user.

", + "refs": { + } + }, + "AdminCreateUserUnusedAccountValidityDaysType": { + "base": null, + "refs": { + "AdminCreateUserConfigType$UnusedAccountValidityDays": "

The user account expiration limit, in days, after which the account is no longer usable. To reset the account after that time limit, you must call AdminCreateUser again, specifying \"RESEND\" for the MessageAction parameter.

" + } + }, "AdminDeleteUserAttributesRequest": { "base": "

Represents the request to delete user attributes as an administrator.

", "refs": { @@ -263,6 +288,8 @@ "AttributeListType": { "base": null, "refs": { + "AdminCreateUserRequest$UserAttributes": "

An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes other than Username. However, any attributes that you specify as required (in CreateUserPool or in the Attributes tab of the console) must be supplied either by you (in your call to AdminCreateUser) or by the user (when he or she signs up in response to your welcome message).

To send a message inviting the user to sign up, you must specify the user's email address or phone number. This can be done in your call to AdminCreateUser or in the Users tab of the Amazon Cognito console for managing your user pools.

In your call to AdminCreateUser, you can set the email_verified attribute to True, and you can set the phone_number_verified attribute to True. (You cannot do this by calling other operations such as AdminUpdateUserAttributes.)

", + "AdminCreateUserRequest$ValidationData": "

The user's validation data. This is an array of name-value pairs that contain user attributes and attribute values that you can use for custom validation, such as restricting the types of user accounts that can be registered. For example, you might choose to allow or disallow user sign-up based on the user's domain.

To configure custom validation, you must create a Pre Sign-up Lambda trigger for the user pool as described in the Amazon Cognito Developer Guide. The Lambda trigger receives the validation data and uses it in the validation process.

The user's validation data is not persisted.

", "AdminGetUserResponse$UserAttributes": "

An array of name-value pairs representing user attributes.

", "AdminUpdateUserAttributesRequest$UserAttributes": "

An array of name-value pairs representing user attributes.

", "DeviceType$DeviceAttributes": "

The device attributes.

", @@ -330,6 +357,7 @@ "BooleanType": { "base": null, "refs": { + "AdminCreateUserConfigType$AllowAdminCreateUserOnly": "

Set to True if only the administrator is allowed to create user profiles. Set to False if users can sign themselves up via an app.

", "AdminGetUserResponse$Enabled": "

Indicates that the status is enabled.

", "ConfirmDeviceResponse$UserConfirmationNecessary": "

Indicates whether the user confirmation is necessary to confirm the device response.

", "DeviceConfigurationType$ChallengeRequiredOnNewDevice": "

Indicates whether a challenge is required on a new device. Only applicable to a new device.

", @@ -603,10 +631,17 @@ "refs": { } }, + "DeliveryMediumListType": { + "base": null, + "refs": { + "AdminCreateUserRequest$DesiredDeliveryMediums": "

Specify \"EMAIL\" if email will be used to send the welcome message. Specify \"SMS\" if the phone number will be used. The default value is \"SMS\". More than one value can be specified.

" + } + }, "DeliveryMediumType": { "base": null, "refs": { "CodeDeliveryDetailsType$DeliveryMedium": "

The delivery medium (email message or phone number).

", + "DeliveryMediumListType$member": null, "MFAOptionType$DeliveryMedium": "

The delivery medium (email message or SMS message) to send the MFA code.

" } }, @@ -714,6 +749,7 @@ "base": null, "refs": { "CreateUserPoolRequest$EmailVerificationMessage": "

A string representing the email verification message.

", + "MessageTemplateType$EmailMessage": "

The message template for email messages.

", "UpdateUserPoolRequest$EmailVerificationMessage": "

The contents of the email verification message.

", "UserPoolType$EmailVerificationMessage": "

The contents of the email verification message.

" } @@ -722,7 +758,8 @@ "base": null, "refs": { "CreateUserPoolRequest$EmailVerificationSubject": "

A string representing the email verification subject.

", - "UpdateUserPoolRequest$EmailVerificationSubject": "

The subject of the email verfication message

", + "MessageTemplateType$EmailSubject": "

The subject line for email messages.

", + "UpdateUserPoolRequest$EmailVerificationSubject": "

The subject of the email verfication message.

", "UserPoolType$EmailVerificationSubject": "

The subject of the email verification message.

" } }, @@ -748,6 +785,7 @@ "ForceAliasCreation": { "base": null, "refs": { + "AdminCreateUserRequest$ForceAliasCreation": "

This parameter is only used if the phone_number_verified or email_verified attribute is set to True. Otherwise, it is ignored.

If this parameter is set to True and the phone number or email address specified in the UserAttributes parameter already exists as an alias with a different user, the API call will migrate the alias from the previous user to the newly created user. The previous user will no longer be able to log in using that alias.

If this parameter is set to False, the API throws an AliasExistsException error if the alias already exists. The default value is False.

", "ConfirmSignUpRequest$ForceAliasCreation": "

Boolean to be specified to force user confirmation irrespective of existing alias. By default set to False. If this parameter is set to True and the phone number/email used for sign up confirmation already exists as an alias with a different user, the API call will migrate the alias from the previous user to the newly created user being confirmed. If set to False, the API will throw an AliasExistsException error.

" } }, @@ -769,7 +807,7 @@ "GenerateSecret": { "base": null, "refs": { - "CreateUserPoolClientRequest$GenerateSecret": "

Boolean to specify whether you want to generate a secret for the user pool client being created.

" + "CreateUserPoolClientRequest$GenerateSecret": "

Boolean to specify whether you want to generate a secret for the user pool client being created.

" } }, "GetCSVHeaderRequest": { @@ -968,7 +1006,8 @@ "AdminGetUserResponse$MFAOptions": "

Specifies the options for MFA (e.g., email or phone number).

", "AdminSetUserSettingsRequest$MFAOptions": "

Specifies the options for MFA (e.g., email or phone number).

", "GetUserResponse$MFAOptions": "

Specifies the options for MFA (e.g., email or phone number).

", - "SetUserSettingsRequest$MFAOptions": "

Specifies the options for MFA (e.g., email or phone number).

" + "SetUserSettingsRequest$MFAOptions": "

Specifies the options for MFA (e.g., email or phone number).

", + "UserType$MFAOptions": "

The MFA options for the user.

" } }, "MFAOptionType": { @@ -977,6 +1016,18 @@ "MFAOptionListType$member": null } }, + "MessageActionType": { + "base": null, + "refs": { + "AdminCreateUserRequest$MessageAction": "

Set to \"RESEND\" to resend the invitation message to a user that already exists and reset the expiration limit on the user's account. Set to \"SUPPRESS\" to suppress sending the message. Only one value can be specified.

" + } + }, + "MessageTemplateType": { + "base": "

The message template structure.

", + "refs": { + "AdminCreateUserConfigType$InviteMessageTemplate": "

The message template to be used for the welcome message to new users.

" + } + }, "MessageType": { "base": null, "refs": { @@ -1002,6 +1053,7 @@ "TooManyFailedAttemptsException$message": "

The message returned when the Amazon Cognito service returns a too many failed attempts exception.

", "TooManyRequestsException$message": "

The message returned when the Amazon Cognito service returns a too many requests exception.

", "UnexpectedLambdaException$message": "

The message returned when the Amazon Cognito service returns an unexpected AWS Lambda exception.

", + "UnsupportedUserStateException$message": "

The message returned when the user is in an unsupported state.

", "UserImportInProgressException$message": "

The message returned when the user pool has an import job running.

", "UserLambdaValidationException$message": "

The message returned when the Amazon Cognito service returns a user validation exception with the AWS Lambda service.

", "UserNotConfirmedException$message": "

The message returned when a user is not confirmed successfully.

", @@ -1036,7 +1088,7 @@ "PaginationKeyType": { "base": null, "refs": { - "ListUserImportJobsRequest$PaginationToken": "

An identifier that was returned from the previous call to this operation, which can be used to return the next set of import jobs in the list.

", + "ListUserImportJobsRequest$PaginationToken": "

An identifier that was returned from the previous call to ListUserImportJobs, which can be used to return the next set of import jobs in the list.

", "ListUserImportJobsResponse$PaginationToken": "

An identifier that can be used to return the next set of user import jobs in the list.

", "ListUserPoolsRequest$NextToken": "

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

", "ListUserPoolsResponse$NextToken": "

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" @@ -1062,6 +1114,7 @@ "PasswordType": { "base": null, "refs": { + "AdminCreateUserRequest$TemporaryPassword": "

The user's temporary password. This password must conform to the password policy that you specified when you created the user pool.

The temporary password is valid only once. To complete the Admin Create User flow, the user must enter the temporary password in the sign-in page along with a new password to be used in all future sign-ins.

This parameter is not required. If you do not specify a value, Amazon Cognito generates one for you.

The temporary password can only be used until the user account expiration limit that you specified when you created the user pool. To reset the account after that time limit, you must call AdminCreateUser again, specifying \"RESEND\" for the MessageAction parameter.

", "ChangePasswordRequest$PreviousPassword": "

The old password in the change password request.

", "ChangePasswordRequest$ProposedPassword": "

The new password in the change password request.

", "ConfirmForgotPasswordRequest$Password": "

The password sent by sent by a user's request to retrieve a forgotten password.

", @@ -1217,6 +1270,7 @@ "refs": { "CreateUserPoolRequest$SmsVerificationMessage": "

A string representing the SMS verification message.

", "CreateUserPoolRequest$SmsAuthenticationMessage": "

A string representing the SMS authentication message.

", + "MessageTemplateType$SMSMessage": "

The message template for SMS messages.

", "UpdateUserPoolRequest$SmsVerificationMessage": "

A container with information about the SMS verification message.

", "UpdateUserPoolRequest$SmsAuthenticationMessage": "

The contents of the SMS authentication message.

", "UserPoolType$SmsVerificationMessage": "

The contents of the SMS verification message.

", @@ -1319,6 +1373,11 @@ "refs": { } }, + "UnsupportedUserStateException": { + "base": "

The request failed because the user is in an unsupported state.

", + "refs": { + } + }, "UpdateDeviceStatusRequest": { "base": "

Represents the request to update the device status.

", "refs": { @@ -1389,7 +1448,7 @@ "UserImportJobStatusType": { "base": null, "refs": { - "UserImportJobType$Status": "

The status of the user import job. One of the following:

" + "UserImportJobType$Status": "

The status of the user import job. One of the following:

" } }, "UserImportJobType": { @@ -1454,6 +1513,7 @@ "refs": { "AddCustomAttributesRequest$UserPoolId": "

The user pool ID for the user pool where you want to add custom attributes.

", "AdminConfirmSignUpRequest$UserPoolId": "

The user pool ID for which you want to confirm user registration.

", + "AdminCreateUserRequest$UserPoolId": "

The user pool ID for the user pool where the user will be created.

", "AdminDeleteUserAttributesRequest$UserPoolId": "

The user pool ID for the user pool where you want to delete user attributes.

", "AdminDeleteUserRequest$UserPoolId": "

The user pool ID for the user pool where you want to delete the user.

", "AdminDisableUserRequest$UserPoolId": "

The user pool ID for the user pool where you want to disable the user.

", @@ -1466,7 +1526,7 @@ "AdminResetUserPasswordRequest$UserPoolId": "

The user pool ID for the user pool where you want to reset the user's password.

", "AdminRespondToAuthChallengeRequest$UserPoolId": "

The ID of the Amazon Cognito user pool.

", "AdminSetUserSettingsRequest$UserPoolId": "

The user pool ID for the user pool where you want to set the user's settings, such as MFA options.

", - "AdminUpdateDeviceStatusRequest$UserPoolId": "

The user pool ID>

", + "AdminUpdateDeviceStatusRequest$UserPoolId": "

The user pool ID>

", "AdminUpdateUserAttributesRequest$UserPoolId": "

The user pool ID for the user pool where you want to update user attributes.

", "AdminUserGlobalSignOutRequest$UserPoolId": "

The user pool ID.

", "CreateUserImportJobRequest$UserPoolId": "

The user pool ID for the user pool that the users are being imported into.

", @@ -1502,8 +1562,8 @@ "base": null, "refs": { "CreateUserPoolRequest$MfaConfiguration": "

Specifies MFA configuration details.

", - "UpdateUserPoolRequest$MfaConfiguration": "

Can be one of the following values:

", - "UserPoolType$MfaConfiguration": "

Can be one of the following values:

" + "UpdateUserPoolRequest$MfaConfiguration": "

Can be one of the following values:

", + "UserPoolType$MfaConfiguration": "

Can be one of the following values:

" } }, "UserPoolNameType": { @@ -1532,13 +1592,14 @@ "UserStatusType": { "base": null, "refs": { - "AdminGetUserResponse$UserStatus": "

The user status. Can be one of the following:

", - "UserType$UserStatus": "

The user status. Can be one of the following:

" + "AdminGetUserResponse$UserStatus": "

The user status. Can be one of the following:

", + "UserType$UserStatus": "

The user status. Can be one of the following:

" } }, "UserType": { "base": "

The user type.

", "refs": { + "AdminCreateUserResponse$User": "

The user returned in the request to create a new user.

", "UsersListType$member": null } }, @@ -1551,6 +1612,7 @@ "base": null, "refs": { "AdminConfirmSignUpRequest$Username": "

The user name for which you want to confirm user registration.

", + "AdminCreateUserRequest$Username": "

The username for the user. Must be unique within the user pool. Must be a UTF-8 string between 1 and 128 characters. After the user is created, the username cannot be changed.

", "AdminDeleteUserAttributesRequest$Username": "

The user name of the user from which you would like to delete attributes.

", "AdminDeleteUserRequest$Username": "

The user name of the user you wish to delete.

", "AdminDisableUserRequest$Username": "

The user name of the user you wish to disable.

", diff --git a/models/apis/devicefarm/2015-06-23/docs-2.json b/models/apis/devicefarm/2015-06-23/docs-2.json index 6ba27b957e3..687add3d238 100644 --- a/models/apis/devicefarm/2015-06-23/docs-2.json +++ b/models/apis/devicefarm/2015-06-23/docs-2.json @@ -7,9 +7,9 @@ "CreateRemoteAccessSession": "

Specifies and starts a remote access session.

", "CreateUpload": "

Uploads an app or test scripts.

", "DeleteDevicePool": "

Deletes a device pool given the pool ARN. Does not allow deletion of curated pools owned by the system.

", - "DeleteProject": "

Deletes an AWS Device Farm project, given the project ARN.

Note Deleting this resource does not stop an in-progress run.

", + "DeleteProject": "

Deletes an AWS Device Farm project, given the project ARN.

Note Deleting this resource does not stop an in-progress run.

", "DeleteRemoteAccessSession": "

Deletes a completed remote access session and its results.

", - "DeleteRun": "

Deletes the run, given the run ARN.

Note Deleting this resource does not stop an in-progress run.

", + "DeleteRun": "

Deletes the run, given the run ARN.

Note Deleting this resource does not stop an in-progress run.

", "DeleteUpload": "

Deletes an upload given the upload ARN.

", "GetAccountSettings": "

Returns the number of unmetered iOS and/or unmetered Android devices that have been purchased by the account.

", "GetDevice": "

Gets information about a unique device type.

", @@ -32,12 +32,12 @@ "ListOfferings": "

Returns a list of products or offerings that the user can manage through the API. Each offering record indicates the recurring price per unit and the frequency for that offering. The API returns a NotEligible error if the user is not permitted to invoke the operation. Please contact aws-devicefarm-support@amazon.com if you believe that you should be able to invoke this operation.

", "ListProjects": "

Gets information about projects.

", "ListRemoteAccessSessions": "

Returns a list of all currently running remote access sessions.

", - "ListRuns": "

Gets information about runs.

", - "ListSamples": "

Gets information about samples.

", + "ListRuns": "

Gets information about runs, given an AWS Device Farm project ARN.

", + "ListSamples": "

Gets information about samples, given an AWS Device Farm project ARN

", "ListSuites": "

Gets information about suites.

", "ListTests": "

Gets information about tests.

", "ListUniqueProblems": "

Gets information about unique problems.

", - "ListUploads": "

Gets information about uploads.

", + "ListUploads": "

Gets information about uploads, given an AWS Device Farm project ARN.

", "PurchaseOffering": "

Immediately purchases offerings for an AWS account. Offerings renew with the latest total purchased quantity for an offering, unless the renewal was overridden. The API returns a NotEligible error if the user is not permitted to invoke the operation. Please contact aws-devicefarm-support@amazon.com if you believe that you should be able to invoke this operation.

", "RenewOffering": "

Explicitly sets the quantity of devices to renew for an offering, starting from the effectiveDate of the next period. The API returns a NotEligible error if the user is not permitted to invoke the operation. Please contact aws-devicefarm-support@amazon.com if you believe that you should be able to invoke this operation.

", "ScheduleRun": "

Schedules a run.

", @@ -91,16 +91,16 @@ "Job$arn": "

The job's ARN.

", "ListArtifactsRequest$arn": "

The Run, Job, Suite, or Test ARN.

", "ListDevicePoolsRequest$arn": "

The project ARN.

", - "ListDevicesRequest$arn": "

The device types' ARNs.

", + "ListDevicesRequest$arn": "

The Amazon Resource Name (ARN) of the project.

", "ListJobsRequest$arn": "

The jobs' ARNs.

", - "ListProjectsRequest$arn": "

The projects' ARNs.

", + "ListProjectsRequest$arn": "

Optional. If no Amazon Resource Name (ARN) is specified, then AWS Device Farm returns a list of all projects for the AWS account. You can also specify a project ARN.

", "ListRemoteAccessSessionsRequest$arn": "

The Amazon Resource Name (ARN) of the remote access session about which you are requesting information.

", - "ListRunsRequest$arn": "

The runs' ARNs.

", - "ListSamplesRequest$arn": "

The samples' ARNs.

", + "ListRunsRequest$arn": "

The Amazon Resource Name (ARN) of the project for which you want to list runs.

", + "ListSamplesRequest$arn": "

The Amazon Resource Name (ARN) of the project for which you want to list samples.

", "ListSuitesRequest$arn": "

The suites' ARNs.

", "ListTestsRequest$arn": "

The tests' ARNs.

", "ListUniqueProblemsRequest$arn": "

The unique problems' ARNs.

", - "ListUploadsRequest$arn": "

The uploads' ARNs.

", + "ListUploadsRequest$arn": "

The Amazon Resource Name (ARN) of the project for which you want to list uploads.

", "ProblemDetail$arn": "

The problem detail's ARN.

", "Project$arn": "

The project's ARN.

", "RemoteAccessSession$arn": "

The Amazon Resource Name (ARN) of the remote access session.

", @@ -141,13 +141,13 @@ "ArtifactCategory": { "base": null, "refs": { - "ListArtifactsRequest$type": "

The artifacts' type.

Allowed values include:

" + "ListArtifactsRequest$type": "

The artifacts' type.

Allowed values include:

" } }, "ArtifactType": { "base": null, "refs": { - "Artifact$type": "

The artifact's type.

Allowed values include the following:

" + "Artifact$type": "

The artifact's type.

Allowed values include the following:

" } }, "Artifacts": { @@ -161,8 +161,8 @@ "refs": { "CreateRemoteAccessSessionConfiguration$billingMethod": "

Returns the billing method for purposes of configuring a remote access session.

", "RemoteAccessSession$billingMethod": "

The billing method of the remote access session. Possible values include METERED or UNMETERED. For more information about metered devices, see AWS Device Farm terminology.\"

", - "Run$billingMethod": "

Specifies the billing method for a test run: metered or unmetered. If the parameter is not specified, the default value is unmetered.

", - "ScheduleRunConfiguration$billingMethod": "

Specifies the billing method for a test run: metered or unmetered. If the parameter is not specified, the default value is unmetered.

" + "Run$billingMethod": "

Specifies the billing method for a test run: metered or unmetered. If the parameter is not specified, the default value is metered.

", + "ScheduleRunConfiguration$billingMethod": "

Specifies the billing method for a test run: metered or unmetered. If the parameter is not specified, the default value is metered.

" } }, "Boolean": { @@ -338,14 +338,14 @@ "DeviceAttribute": { "base": null, "refs": { - "IncompatibilityMessage$type": "

The type of incompatibility.

Allowed values include:

", - "Rule$attribute": "

The rule's stringified attribute. For example, specify the value as \"\\\"abc\\\"\".

Allowed values include:

" + "IncompatibilityMessage$type": "

The type of incompatibility.

Allowed values include:

", + "Rule$attribute": "

The rule's stringified attribute. For example, specify the value as \"\\\"abc\\\"\".

Allowed values include:

" } }, "DeviceFormFactor": { "base": null, "refs": { - "Device$formFactor": "

The device's form factor.

Allowed values include:

" + "Device$formFactor": "

The device's form factor.

Allowed values include:

" } }, "DeviceMinutes": { @@ -361,10 +361,10 @@ "DevicePlatform": { "base": null, "refs": { - "Device$platform": "

The device's platform.

Allowed values include:

", + "Device$platform": "

The device's platform.

Allowed values include:

", "Offering$platform": "

The platform of the device (e.g., ANDROID or IOS).

", "PurchasedDevicesMap$key": null, - "Run$platform": "

The run's platform.

Allowed values include:

" + "Run$platform": "

The run's platform.

Allowed values include:

" } }, "DevicePool": { @@ -392,8 +392,8 @@ "DevicePoolType": { "base": null, "refs": { - "DevicePool$type": "

The device pool's type.

Allowed values include:

", - "ListDevicePoolsRequest$type": "

The device pools' type.

Allowed values include:

" + "DevicePool$type": "

The device pool's type.

Allowed values include:

", + "ListDevicePoolsRequest$type": "

The device pools' type.

Allowed values include:

" } }, "DevicePools": { @@ -423,23 +423,23 @@ "ExecutionResult": { "base": null, "refs": { - "Job$result": "

The job's result.

Allowed values include:

", - "Problem$result": "

The problem's result.

Allowed values include:

", - "RemoteAccessSession$result": "

The result of the remote access session. Can be any of the following:

", - "Run$result": "

The run's result.

Allowed values include:

", - "Suite$result": "

The suite's result.

Allowed values include:

", - "Test$result": "

The test's result.

Allowed values include:

", + "Job$result": "

The job's result.

Allowed values include:

", + "Problem$result": "

The problem's result.

Allowed values include:

", + "RemoteAccessSession$result": "

The result of the remote access session. Can be any of the following:

", + "Run$result": "

The run's result.

Allowed values include:

", + "Suite$result": "

The suite's result.

Allowed values include:

", + "Test$result": "

The test's result.

Allowed values include:

", "UniqueProblemsByExecutionResultMap$key": null } }, "ExecutionStatus": { "base": null, "refs": { - "Job$status": "

The job's status.

Allowed values include:

", - "RemoteAccessSession$status": "

The status of the remote access session. Can be any of the following:

", - "Run$status": "

The run's status.

Allowed values include:

", - "Suite$status": "

The suite's status.

Allowed values include:

", - "Test$status": "

The test's status.

Allowed values include:

" + "Job$status": "

The job's status.

Allowed values include:

", + "RemoteAccessSession$status": "

The status of the remote access session. Can be any of the following:

", + "Run$status": "

The run's status.

Allowed values include:

", + "Suite$status": "

The suite's status.

Allowed values include:

", + "Test$status": "

The test's status.

Allowed values include:

" } }, "Filter": { @@ -830,7 +830,7 @@ "CreateDevicePoolRequest$name": "

The device pool's name.

", "CreateProjectRequest$name": "

The project's name.

", "CreateRemoteAccessSessionRequest$name": "

The name of the remote access session that you wish to create.

", - "CreateUploadRequest$name": "

The upload's file name. The name should not contain the '/' character.

", + "CreateUploadRequest$name": "

The upload's file name. The name should not contain the '/' character. If uploading an iOS app, the file name needs to end with the .ipa extension. If uploading an Android app, the file name needs to end with the .apk extension. For all others, the file name must end with the .zip file extension.

", "Device$name": "

The device's display name.

", "DevicePool$name": "

The device pool's name.

", "Job$name": "

The job's name.

", @@ -1070,7 +1070,7 @@ "RuleOperator": { "base": null, "refs": { - "Rule$operator": "

The rule's operator.

" + "Rule$operator": "

The rule's operator.

" } }, "Rules": { @@ -1105,7 +1105,7 @@ "SampleType": { "base": null, "refs": { - "Sample$type": "

The sample's type.

Must be one of the following values:

" + "Sample$type": "

The sample's type.

Must be one of the following values:

" } }, "Samples": { @@ -1211,12 +1211,12 @@ "TestType": { "base": null, "refs": { - "GetDevicePoolCompatibilityRequest$testType": "

The test type for the specified device pool.

Allowed values include the following:

", - "Job$type": "

The job's type.

Allowed values include the following:

", - "Run$type": "

The run's type.

Must be one of the following values:

", - "ScheduleRunTest$type": "

The test's type.

Must be one of the following values:

", - "Suite$type": "

The suite's type.

Must be one of the following values:

", - "Test$type": "

The test's type.

Must be one of the following values:

" + "GetDevicePoolCompatibilityRequest$testType": "

The test type for the specified device pool.

Allowed values include the following:

", + "Job$type": "

The job's type.

Allowed values include the following:

", + "Run$type": "

The run's type.

Must be one of the following values:

", + "ScheduleRunTest$type": "

The test's type.

Must be one of the following values:

", + "Suite$type": "

The suite's type.

Must be one of the following values:

", + "Test$type": "

The test's type.

Must be one of the following values:

" } }, "Tests": { @@ -1254,7 +1254,7 @@ "UniqueProblemsByExecutionResultMap": { "base": null, "refs": { - "ListUniqueProblemsResult$uniqueProblems": "

Information about the unique problems.

Allowed values include:

" + "ListUniqueProblemsResult$uniqueProblems": "

Information about the unique problems.

Allowed values include:

" } }, "UpdateDevicePoolRequest": { @@ -1289,14 +1289,14 @@ "UploadStatus": { "base": null, "refs": { - "Upload$status": "

The upload's status.

Must be one of the following values:

" + "Upload$status": "

The upload's status.

Must be one of the following values:

" } }, "UploadType": { "base": null, "refs": { - "CreateUploadRequest$type": "

The upload's upload type.

Must be one of the following values:

Note If you call CreateUpload with WEB_APP specified, AWS Device Farm throws an ArgumentException error.

", - "Upload$type": "

The upload's type.

Must be one of the following values:

" + "CreateUploadRequest$type": "

The upload's upload type.

Must be one of the following values:

Note If you call CreateUpload with WEB_APP specified, AWS Device Farm throws an ArgumentException error.

", + "Upload$type": "

The upload's type.

Must be one of the following values:

" } }, "Uploads": { diff --git a/models/apis/devicefarm/2015-06-23/examples-1.json b/models/apis/devicefarm/2015-06-23/examples-1.json index 0ea7e3b0bbe..3b9063f8b07 100644 --- a/models/apis/devicefarm/2015-06-23/examples-1.json +++ b/models/apis/devicefarm/2015-06-23/examples-1.json @@ -1,5 +1,1242 @@ { "version": "1.0", "examples": { + "CreateDevicePool": [ + { + "input": { + "name": "MyDevicePool", + "description": "My Android devices", + "projectArn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456", + "rules": [ + + ] + }, + "output": { + "devicePool": { + } + }, + "comments": { + "input": { + "name": "A device pool contains related devices, such as devices that run only on Android or that run only on iOS.", + "projectArn": "You can get the project ARN by using the list-projects CLI command." + }, + "output": { + } + }, + "description": "The following example creates a new device pool named MyDevicePool inside an existing project.", + "id": "createdevicepool-example-1470862210860", + "title": "To create a new device pool" + } + ], + "CreateProject": [ + { + "input": { + "name": "MyProject" + }, + "output": { + "project": { + "name": "MyProject", + "arn": "arn:aws:devicefarm:us-west-2:183774035805:project:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE", + "created": "1472660939.152" + } + }, + "comments": { + "input": { + "name": "A project in Device Farm is a workspace that contains test runs. A run is a test of a single app against one or more devices." + }, + "output": { + } + }, + "description": "The following example creates a new project named MyProject.", + "id": "createproject-example-1470862210860", + "title": "To create a new project" + } + ], + "CreateRemoteAccessSession": [ + { + "input": { + "name": "MySession", + "configuration": { + "billingMethod": "METERED" + }, + "deviceArn": "arn:aws:devicefarm:us-west-2::device:123EXAMPLE", + "projectArn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456" + }, + "output": { + "remoteAccessSession": { + } + }, + "comments": { + "input": { + "deviceArn": "You can get the device ARN by using the list-devices CLI command.", + "projectArn": "You can get the project ARN by using the list-projects CLI command." + }, + "output": { + } + }, + "description": "The following example creates a remote access session named MySession.", + "id": "to-create-a-remote-access-session-1470970668274", + "title": "To create a remote access session" + } + ], + "CreateUpload": [ + { + "input": { + "name": "MyAppiumPythonUpload", + "type": "APPIUM_PYTHON_TEST_PACKAGE", + "projectArn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456" + }, + "output": { + "upload": { + "name": "MyAppiumPythonUpload", + "type": "APPIUM_PYTHON_TEST_PACKAGE", + "arn": "arn:aws:devicefarm:us-west-2:183774035805:upload:5e01a8c7-c861-4c0a-b1d5-5ec6e6c6dd23/b5340a65-3da7-4da6-a26e-12345EXAMPLE", + "created": "1472661404.186", + "status": "INITIALIZED", + "url": "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/arn%3Aaws%3Adevicefarm%3Aus-west-2%3A183774035805%3Aproject%3A5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE/uploads/arn%3Aaws%3Adevicefarm%3Aus-west-2%3A183774035805%3Aupload%3A5e01a8c7-c861-4c0a-b1d5-5ec6e6c6dd23/b5340a65-3da7-4da6-a26e-12345EXAMPLE/MyAppiumPythonUpload?AWSAccessKeyId=1234567891011EXAMPLE&Expires=1472747804&Signature=1234567891011EXAMPLE" + } + }, + "comments": { + "input": { + "projectArn": "You can get the project ARN by using the list-projects CLI command." + }, + "output": { + } + }, + "description": "The following example creates a new Appium Python test package upload inside an existing project.", + "id": "createupload-example-1470864711775", + "title": "To create a new test package upload" + } + ], + "DeleteDevicePool": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2::devicepool:123-456-EXAMPLE-GUID" + }, + "output": { + }, + "comments": { + "input": { + "arn": "You can get the device pool ARN by using the list-device-pools CLI command." + }, + "output": { + } + }, + "description": "The following example deletes a specific device pool.", + "id": "deletedevicepool-example-1470866975494", + "title": "To delete a device pool" + } + ], + "DeleteProject": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456" + }, + "output": { + }, + "comments": { + "input": { + "arn": "You can get the project ARN by using the list-projects CLI command." + }, + "output": { + } + }, + "description": "The following example deletes a specific project.", + "id": "deleteproject-example-1470867374212", + "title": "To delete a project" + } + ], + "DeleteRemoteAccessSession": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:session:EXAMPLE-GUID-123-456" + }, + "output": { + }, + "comments": { + "input": { + "arn": "You can get the remote access session ARN by using the list-remote-access-sessions CLI command." + }, + "output": { + } + }, + "description": "The following example deletes a specific remote access session.", + "id": "to-delete-a-specific-remote-access-session-1470971431677", + "title": "To delete a specific remote access session" + } + ], + "DeleteRun": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:run:EXAMPLE-GUID-123-456" + }, + "output": { + }, + "comments": { + "input": { + "arn": "You can get the run ARN by using the list-runs CLI command." + }, + "output": { + } + }, + "description": "The following example deletes a specific test run.", + "id": "deleterun-example-1470867905129", + "title": "To delete a run" + } + ], + "DeleteUpload": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:upload:EXAMPLE-GUID-123-456" + }, + "output": { + }, + "comments": { + "input": { + "arn": "You can get the upload ARN by using the list-uploads CLI command." + }, + "output": { + } + }, + "description": "The following example deletes a specific upload.", + "id": "deleteupload-example-1470868363942", + "title": "To delete a specific upload" + } + ], + "GetAccountSettings": [ + { + "input": { + }, + "output": { + "accountSettings": { + "awsAccountNumber": "123456789101", + "unmeteredDevices": { + "ANDROID": 1, + "IOS": 2 + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns information about your Device Farm account settings.", + "id": "to-get-information-about-account-settings-1472567568189", + "title": "To get information about account settings" + } + ], + "GetDevice": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2::device:123EXAMPLE" + }, + "output": { + "device": { + "name": "LG G2 (Sprint)", + "arn": "arn:aws:devicefarm:us-west-2::device:A0E6E6E1059E45918208DF75B2B7EF6C", + "cpu": { + "architecture": "armeabi-v7a", + "clock": 2265.6, + "frequency": "MHz" + }, + "formFactor": "PHONE", + "heapSize": 256000000, + "image": "75B2B7EF6C12345EXAMPLE", + "manufacturer": "LG", + "memory": 16000000000, + "model": "G2 (Sprint)", + "os": "4.2.2", + "platform": "ANDROID", + "resolution": { + "height": 1920, + "width": 1080 + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns information about a specific device.", + "id": "getdevice-example-1470870602173", + "title": "To get information about a device" + } + ], + "GetDevicePool": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456" + }, + "output": { + "devicePool": { + } + }, + "comments": { + "input": { + "arn": "You can obtain the project ARN by using the list-projects CLI command." + }, + "output": { + } + }, + "description": "The following example returns information about a specific device pool, given a project ARN.", + "id": "getdevicepool-example-1470870873136", + "title": "To get information about a device pool" + } + ], + "GetDevicePoolCompatibility": [ + { + "input": { + "appArn": "arn:aws:devicefarm:us-west-2::app:123-456-EXAMPLE-GUID", + "devicePoolArn": "arn:aws:devicefarm:us-west-2::devicepool:123-456-EXAMPLE-GUID", + "testType": "APPIUM_PYTHON" + }, + "output": { + "compatibleDevices": [ + + ], + "incompatibleDevices": [ + + ] + }, + "comments": { + "input": { + "devicePoolArn": "You can get the device pool ARN by using the list-device-pools CLI command." + }, + "output": { + } + }, + "description": "The following example returns information about the compatibility of a specific device pool, given its ARN.", + "id": "getdevicepoolcompatibility-example-1470925003466", + "title": "To get information about the compatibility of a device pool" + } + ], + "GetJob": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2::job:123-456-EXAMPLE-GUID" + }, + "output": { + "job": { + } + }, + "comments": { + "input": { + "arn": "You can get the job ARN by using the list-jobs CLI command." + }, + "output": { + } + }, + "description": "The following example returns information about a specific job.", + "id": "getjob-example-1470928294268", + "title": "To get information about a job" + } + ], + "GetOfferingStatus": [ + { + "input": { + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE=" + }, + "output": { + "current": { + "D68B3C05-1BA6-4360-BC69-12345EXAMPLE": { + "offering": { + "type": "RECURRING", + "description": "Android Remote Access Unmetered Device Slot", + "id": "D68B3C05-1BA6-4360-BC69-12345EXAMPLE", + "platform": "ANDROID" + }, + "quantity": 1 + } + }, + "nextPeriod": { + "D68B3C05-1BA6-4360-BC69-12345EXAMPLE": { + "effectiveOn": "1472688000", + "offering": { + "type": "RECURRING", + "description": "Android Remote Access Unmetered Device Slot", + "id": "D68B3C05-1BA6-4360-BC69-12345EXAMPLE", + "platform": "ANDROID" + }, + "quantity": 1 + } + } + }, + "comments": { + "input": { + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about Device Farm offerings available to your account.", + "id": "to-get-status-information-about-device-offerings-1472568124402", + "title": "To get status information about device offerings" + } + ], + "GetProject": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE" + }, + "output": { + "project": { + "name": "My Project", + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE", + "created": "1472660939.152" + } + }, + "comments": { + "input": { + "arn": "You can get the project ARN by using the list-projects CLI command." + }, + "output": { + } + }, + "description": "The following example gets information about a specific project.", + "id": "to-get-a-project-1470975038449", + "title": "To get information about a project" + } + ], + "GetRemoteAccessSession": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:session:EXAMPLE-GUID-123-456" + }, + "output": { + "remoteAccessSession": { + } + }, + "comments": { + "input": { + "arn": "You can get the remote access session ARN by using the list-remote-access-sessions CLI command." + }, + "output": { + } + }, + "description": "The following example gets a specific remote access session.", + "id": "to-get-a-remote-access-session-1471014119414", + "title": "To get a remote access session" + } + ], + "GetRun": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:run:5e01a8c7-c861-4c0a-b1d5-5ec6e6c6dd23/0fcac17b-6122-44d7-ae5a-12345EXAMPLE" + }, + "output": { + "run": { + "name": "My Test Run", + "type": "BUILTIN_EXPLORER", + "arn": "arn:aws:devicefarm:us-west-2:123456789101:run:5e01a8c7-c861-4c0a-b1d5-5ec6e6c6dd23/0fcac17b-6122-44d7-ae5a-12345EXAMPLE", + "billingMethod": "METERED", + "completedJobs": 0, + "counters": { + "errored": 0, + "failed": 0, + "passed": 0, + "skipped": 0, + "stopped": 0, + "total": 0, + "warned": 0 + }, + "created": "1472667509.852", + "deviceMinutes": { + "metered": 0.0, + "total": 0.0, + "unmetered": 0.0 + }, + "platform": "ANDROID", + "result": "PENDING", + "status": "RUNNING", + "totalJobs": 3 + } + }, + "comments": { + "input": { + "arn": "You can get the run ARN by using the list-runs CLI command." + }, + "output": { + } + }, + "description": "The following example gets information about a specific test run.", + "id": "to-get-a-test-run-1471015895657", + "title": "To get information about a test run" + } + ], + "GetSuite": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:suite:EXAMPLE-GUID-123-456" + }, + "output": { + "suite": { + } + }, + "comments": { + "input": { + "arn": "You can get the suite ARN by using the list-suites CLI command." + }, + "output": { + } + }, + "description": "The following example gets information about a specific test suite.", + "id": "to-get-information-about-a-test-suite-1471016525008", + "title": "To get information about a test suite" + } + ], + "GetTest": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:test:EXAMPLE-GUID-123-456" + }, + "output": { + "test": { + } + }, + "comments": { + "input": { + "arn": "You can get the test ARN by using the list-tests CLI command." + }, + "output": { + } + }, + "description": "The following example gets information about a specific test.", + "id": "to-get-information-about-a-specific-test-1471025744238", + "title": "To get information about a specific test" + } + ], + "GetUpload": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:upload:EXAMPLE-GUID-123-456" + }, + "output": { + "upload": { + } + }, + "comments": { + "input": { + "arn": "You can get the test ARN by using the list-uploads CLI command." + }, + "output": { + } + }, + "description": "The following example gets information about a specific upload.", + "id": "to-get-information-about-a-specific-upload-1471025996221", + "title": "To get information about a specific upload" + } + ], + "InstallToRemoteAccessSession": [ + { + "input": { + "appArn": "arn:aws:devicefarm:us-west-2:123456789101:app:EXAMPLE-GUID-123-456", + "remoteAccessSessionArn": "arn:aws:devicefarm:us-west-2:123456789101:session:EXAMPLE-GUID-123-456" + }, + "output": { + "appUpload": { + } + }, + "comments": { + "input": { + "remoteAccessSessionArn": "You can get the remote access session ARN by using the list-remote-access-sessions CLI command." + }, + "output": { + } + }, + "description": "The following example installs a specific app to a device in a specific remote access session.", + "id": "to-install-to-a-remote-access-session-1471634453818", + "title": "To install to a remote access session" + } + ], + "ListArtifacts": [ + { + "input": { + "type": "SCREENSHOT", + "arn": "arn:aws:devicefarm:us-west-2:123456789101:run:EXAMPLE-GUID-123-456" + }, + "comments": { + "input": { + "arn": "Can also be used to list artifacts for a Job, Suite, or Test ARN." + }, + "output": { + } + }, + "description": "The following example lists screenshot artifacts for a specific run.", + "id": "to-list-artifacts-for-a-resource-1471635409527", + "title": "To list artifacts for a resource" + } + ], + "ListDevicePools": [ + { + "input": { + "type": "PRIVATE", + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456" + }, + "output": { + "devicePools": [ + { + "name": "Top Devices", + "arn": "arn:aws:devicefarm:us-west-2::devicepool:082d10e5-d7d7-48a5-ba5c-12345EXAMPLE", + "description": "Top devices", + "rules": [ + { + "value": "[\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\"]", + "attribute": "ARN", + "operator": "IN" + } + ] + }, + { + "name": "My Android Device Pool", + "arn": "arn:aws:devicefarm:us-west-2:123456789101:devicepool:5e01a8c7-c861-4c0a-b1d5-5ec6e6c6dd23/bf96e75a-28f6-4e61-b6a7-12345EXAMPLE", + "description": "Samsung Galaxy Android devices", + "rules": [ + { + "value": "[\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\"]", + "attribute": "ARN", + "operator": "IN" + } + ] + } + ] + }, + "comments": { + "input": { + "arn": "You can get the project ARN by using the list-projects CLI command." + }, + "output": { + } + }, + "description": "The following example returns information about the private device pools in a specific project.", + "id": "to-get-information-about-device-pools-1471635745170", + "title": "To get information about device pools" + } + ], + "ListDevices": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456" + }, + "output": { + }, + "comments": { + "input": { + "arn": "You can get the project ARN by using the list-projects CLI command." + }, + "output": { + } + }, + "description": "The following example returns information about the available devices in a specific project.", + "id": "to-get-information-about-devices-1471641699344", + "title": "To get information about devices" + } + ], + "ListJobs": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456" + }, + "comments": { + "input": { + "arn": "You can get the project ARN by using the list-jobs CLI command." + }, + "output": { + } + }, + "description": "The following example returns information about jobs in a specific project.", + "id": "to-get-information-about-jobs-1471642228071", + "title": "To get information about jobs" + } + ], + "ListOfferingTransactions": [ + { + "input": { + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE=" + }, + "output": { + "offeringTransactions": [ + { + "cost": { + "amount": 0, + "currencyCode": "USD" + }, + "createdOn": "1470021420", + "offeringStatus": { + "type": "RENEW", + "effectiveOn": "1472688000", + "offering": { + "type": "RECURRING", + "description": "Android Remote Access Unmetered Device Slot", + "id": "D68B3C05-1BA6-4360-BC69-12345EXAMPLE", + "platform": "ANDROID" + }, + "quantity": 0 + }, + "transactionId": "03728003-d1ea-4851-abd6-12345EXAMPLE" + }, + { + "cost": { + "amount": 250, + "currencyCode": "USD" + }, + "createdOn": "1470021420", + "offeringStatus": { + "type": "PURCHASE", + "effectiveOn": "1470021420", + "offering": { + "type": "RECURRING", + "description": "Android Remote Access Unmetered Device Slot", + "id": "D68B3C05-1BA6-4360-BC69-12345EXAMPLE", + "platform": "ANDROID" + }, + "quantity": 1 + }, + "transactionId": "56820b6e-06bd-473a-8ff8-12345EXAMPLE" + }, + { + "cost": { + "amount": 175, + "currencyCode": "USD" + }, + "createdOn": "1465538520", + "offeringStatus": { + "type": "PURCHASE", + "effectiveOn": "1465538520", + "offering": { + "type": "RECURRING", + "description": "Android Unmetered Device Slot", + "id": "8980F81C-00D7-469D-8EC6-12345EXAMPLE", + "platform": "ANDROID" + }, + "quantity": 1 + }, + "transactionId": "953ae2c6-d760-4a04-9597-12345EXAMPLE" + }, + { + "cost": { + "amount": 8.07, + "currencyCode": "USD" + }, + "createdOn": "1459344300", + "offeringStatus": { + "type": "PURCHASE", + "effectiveOn": "1459344300", + "offering": { + "type": "RECURRING", + "description": "iOS Unmetered Device Slot", + "id": "A53D4D73-A6F6-4B82-A0B0-12345EXAMPLE", + "platform": "IOS" + }, + "quantity": 1 + }, + "transactionId": "2baf9021-ae3e-47f5-ab52-12345EXAMPLE" + } + ] + }, + "comments": { + "input": { + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about Device Farm offering transactions.", + "id": "to-get-information-about-device-offering-transactions-1472561712315", + "title": "To get information about device offering transactions" + } + ], + "ListOfferings": [ + { + "input": { + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE=" + }, + "output": { + "offerings": [ + { + "type": "RECURRING", + "description": "iOS Unmetered Device Slot", + "id": "A53D4D73-A6F6-4B82-A0B0-12345EXAMPLE", + "platform": "IOS", + "recurringCharges": [ + { + "cost": { + "amount": 250, + "currencyCode": "USD" + }, + "frequency": "MONTHLY" + } + ] + }, + { + "type": "RECURRING", + "description": "Android Unmetered Device Slot", + "id": "8980F81C-00D7-469D-8EC6-12345EXAMPLE", + "platform": "ANDROID", + "recurringCharges": [ + { + "cost": { + "amount": 250, + "currencyCode": "USD" + }, + "frequency": "MONTHLY" + } + ] + }, + { + "type": "RECURRING", + "description": "Android Remote Access Unmetered Device Slot", + "id": "D68B3C05-1BA6-4360-BC69-12345EXAMPLE", + "platform": "ANDROID", + "recurringCharges": [ + { + "cost": { + "amount": 250, + "currencyCode": "USD" + }, + "frequency": "MONTHLY" + } + ] + }, + { + "type": "RECURRING", + "description": "iOS Remote Access Unmetered Device Slot", + "id": "552B4DAD-A6C9-45C4-94FB-12345EXAMPLE", + "platform": "IOS", + "recurringCharges": [ + { + "cost": { + "amount": 250, + "currencyCode": "USD" + }, + "frequency": "MONTHLY" + } + ] + } + ] + }, + "comments": { + "input": { + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about available device offerings.", + "id": "to-get-information-about-device-offerings-1472562810999", + "title": "To get information about device offerings" + } + ], + "ListProjects": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:7ad300ed-8183-41a7-bf94-12345EXAMPLE", + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE" + }, + "output": { + "projects": [ + { + "name": "My Test Project", + "arn": "arn:aws:devicefarm:us-west-2:183774035805:project:7ad300ed-8183-41a7-bf94-12345EXAMPLE", + "created": "1453163262.105" + }, + { + "name": "Hello World", + "arn": "arn:aws:devicefarm:us-west-2:183774035805:project:d6b087d9-56db-4e44-b9ec-12345EXAMPLE", + "created": "1470350112.439" + } + ] + }, + "comments": { + "input": { + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about the specified project in Device Farm.", + "id": "to-get-information-about-a-device-farm-project-1472564014388", + "title": "To get information about a Device Farm project" + } + ], + "ListRemoteAccessSessions": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:session:EXAMPLE-GUID-123-456", + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE=" + }, + "output": { + "remoteAccessSessions": [ + + ] + }, + "comments": { + "input": { + "arn": "You can get the Amazon Resource Name (ARN) of the session by using the list-sessions CLI command.", + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about a specific Device Farm remote access session.", + "id": "to-get-information-about-a-remote-access-session-1472581144803", + "title": "To get information about a remote access session" + } + ], + "ListRuns": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:run:5e01a8c7-c861-4c0a-b1d5-5ec6e6c6dd23/0fcac17b-6122-44d7-ae5a-12345EXAMPLE", + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE" + }, + "output": { + "runs": [ + { + "name": "My Test Run", + "type": "BUILTIN_EXPLORER", + "arn": "arn:aws:devicefarm:us-west-2:123456789101:run:5e01a8c7-c861-4c0a-b1d5-5ec6e6c6dd23/0fcac17b-6122-44d7-ae5a-12345EXAMPLE", + "billingMethod": "METERED", + "completedJobs": 0, + "counters": { + "errored": 0, + "failed": 0, + "passed": 0, + "skipped": 0, + "stopped": 0, + "total": 0, + "warned": 0 + }, + "created": "1472667509.852", + "deviceMinutes": { + "metered": 0.0, + "total": 0.0, + "unmetered": 0.0 + }, + "platform": "ANDROID", + "result": "PENDING", + "status": "RUNNING", + "totalJobs": 3 + } + ] + }, + "comments": { + "input": { + "arn": "You can get the Amazon Resource Name (ARN) of the run by using the list-runs CLI command.", + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about a specific test run.", + "id": "to-get-information-about-test-runs-1472582711069", + "title": "To get information about a test run" + } + ], + "ListSamples": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456", + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE" + }, + "output": { + "samples": [ + + ] + }, + "comments": { + "input": { + "arn": "You can get the Amazon Resource Name (ARN) of the project by using the list-projects CLI command.", + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about samples, given a specific Device Farm project.", + "id": "to-get-information-about-samples-1472582847534", + "title": "To get information about samples" + } + ], + "ListSuites": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456", + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE" + }, + "output": { + "suites": [ + + ] + }, + "comments": { + "input": { + "arn": "You can get the Amazon Resource Name (ARN) of the project by using the list-projects CLI command.", + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about suites, given a specific Device Farm project.", + "id": "to-get-information-about-suites-1472583038218", + "title": "To get information about suites" + } + ], + "ListTests": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456", + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE" + }, + "output": { + "tests": [ + + ] + }, + "comments": { + "input": { + "arn": "You can get the Amazon Resource Name (ARN) of the project by using the list-projects CLI command.", + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about tests, given a specific Device Farm project.", + "id": "to-get-information-about-tests-1472617372212", + "title": "To get information about tests" + } + ], + "ListUniqueProblems": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456", + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE" + }, + "output": { + "uniqueProblems": { + } + }, + "comments": { + "input": { + "arn": "You can get the Amazon Resource Name (ARN) of the project by using the list-projects CLI command.", + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about unique problems, given a specific Device Farm project.", + "id": "to-get-information-about-unique-problems-1472617781008", + "title": "To get information about unique problems" + } + ], + "ListUploads": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456", + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE" + }, + "output": { + "uploads": [ + + ] + }, + "comments": { + "input": { + "arn": "You can get the Amazon Resource Name (ARN) of the project by using the list-projects CLI command.", + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about uploads, given a specific Device Farm project.", + "id": "to-get-information-about-uploads-1472617943090", + "title": "To get information about uploads" + } + ], + "PurchaseOffering": [ + { + "input": { + "offeringId": "D68B3C05-1BA6-4360-BC69-12345EXAMPLE", + "quantity": 1 + }, + "output": { + "offeringTransaction": { + "cost": { + "amount": 8.07, + "currencyCode": "USD" + }, + "createdOn": "1472648340", + "offeringStatus": { + "type": "PURCHASE", + "effectiveOn": "1472648340", + "offering": { + "type": "RECURRING", + "description": "Android Remote Access Unmetered Device Slot", + "id": "D68B3C05-1BA6-4360-BC69-12345EXAMPLE", + "platform": "ANDROID" + }, + "quantity": 1 + }, + "transactionId": "d30614ed-1b03-404c-9893-12345EXAMPLE" + } + }, + "comments": { + "input": { + "offeringId": "You can get the offering ID by using the list-offerings CLI command." + }, + "output": { + } + }, + "description": "The following example purchases a specific device slot offering.", + "id": "to-purchase-a-device-slot-offering-1472648146343", + "title": "To purchase a device slot offering" + } + ], + "RenewOffering": [ + { + "input": { + "offeringId": "D68B3C05-1BA6-4360-BC69-12345EXAMPLE", + "quantity": 1 + }, + "output": { + "offeringTransaction": { + "cost": { + "amount": 250, + "currencyCode": "USD" + }, + "createdOn": "1472648880", + "offeringStatus": { + "type": "RENEW", + "effectiveOn": "1472688000", + "offering": { + "type": "RECURRING", + "description": "Android Remote Access Unmetered Device Slot", + "id": "D68B3C05-1BA6-4360-BC69-12345EXAMPLE", + "platform": "ANDROID" + }, + "quantity": 1 + }, + "transactionId": "e90f1405-8c35-4561-be43-12345EXAMPLE" + } + }, + "comments": { + "input": { + "offeringId": "You can get the offering ID by using the list-offerings CLI command." + }, + "output": { + } + }, + "description": "The following example renews a specific device slot offering.", + "id": "to-renew-a-device-slot-offering-1472648899785", + "title": "To renew a device slot offering" + } + ], + "ScheduleRun": [ + { + "input": { + "name": "MyRun", + "devicePoolArn": "arn:aws:devicefarm:us-west-2:123456789101:pool:EXAMPLE-GUID-123-456", + "projectArn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456", + "test": { + "type": "APPIUM_JAVA_JUNIT", + "testPackageArn": "arn:aws:devicefarm:us-west-2:123456789101:test:EXAMPLE-GUID-123-456" + } + }, + "output": { + "run": { + } + }, + "comments": { + "input": { + "devicePoolArn": "You can get the Amazon Resource Name (ARN) of the device pool by using the list-pools CLI command.", + "projectArn": "You can get the Amazon Resource Name (ARN) of the project by using the list-projects CLI command.", + "testPackageArn": "You can get the Amazon Resource Name (ARN) of the test package by using the list-tests CLI command." + }, + "output": { + } + }, + "description": "The following example schedules a test run named MyRun.", + "id": "to-schedule-a-test-run-1472652429636", + "title": "To schedule a test run" + } + ], + "StopRun": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:run:EXAMPLE-GUID-123-456" + }, + "output": { + "run": { + } + }, + "comments": { + "input": { + "arn": "You can get the Amazon Resource Name (ARN) of the test run by using the list-runs CLI command." + }, + "output": { + } + }, + "description": "The following example stops a specific test run.", + "id": "to-stop-a-test-run-1472653770340", + "title": "To stop a test run" + } + ], + "UpdateDevicePool": [ + { + "input": { + "name": "NewName", + "arn": "arn:aws:devicefarm:us-west-2::devicepool:082d10e5-d7d7-48a5-ba5c-12345EXAMPLE", + "description": "NewDescription", + "rules": [ + { + "value": "True", + "attribute": "REMOTE_ACCESS_ENABLED", + "operator": "EQUALS" + } + ] + }, + "output": { + "devicePool": { + } + }, + "comments": { + "input": { + "arn": "You can get the Amazon Resource Name (ARN) of the device pool by using the list-pools CLI command." + }, + "output": { + "devicePool": "Note: you cannot update curated device pools." + } + }, + "description": "The following example updates the specified device pool with a new name and description. It also enables remote access of devices in the device pool.", + "id": "to-update-a-device-pool-1472653887677", + "title": "To update a device pool" + } + ], + "UpdateProject": [ + { + "input": { + "name": "NewName", + "arn": "arn:aws:devicefarm:us-west-2:183774035805:project:8f75187d-101e-4625-accc-12345EXAMPLE" + }, + "output": { + "project": { + "name": "NewName", + "arn": "arn:aws:devicefarm:us-west-2:183774035805:project:8f75187d-101e-4625-accc-12345EXAMPLE", + "created": "1448400709.927" + } + }, + "comments": { + "input": { + "arn": "You can get the Amazon Resource Name (ARN) of the project by using the list-projects CLI command." + }, + "output": { + } + }, + "description": "The following example updates the specified project with a new name.", + "id": "to-update-a-device-pool-1472653887677", + "title": "To update a device pool" + } + ] } } diff --git a/models/apis/kms/2014-11-01/api-2.json b/models/apis/kms/2014-11-01/api-2.json index 1f1128d6256..5e31fe99489 100644 --- a/models/apis/kms/2014-11-01/api-2.json +++ b/models/apis/kms/2014-11-01/api-2.json @@ -407,7 +407,8 @@ "output":{"shape":"ListKeysResponse"}, "errors":[ {"shape":"DependencyTimeoutException"}, - {"shape":"KMSInternalException"} + {"shape":"KMSInternalException"}, + {"shape":"InvalidMarkerException"} ] }, "ListRetirableGrants":{ diff --git a/models/apis/opsworks/2013-02-18/docs-2.json b/models/apis/opsworks/2013-02-18/docs-2.json index e51cfb0cb2f..ec2cc670f5d 100644 --- a/models/apis/opsworks/2013-02-18/docs-2.json +++ b/models/apis/opsworks/2013-02-18/docs-2.json @@ -1163,7 +1163,7 @@ "CloneStackRequest$HostnameTheme": "

The stack's host name theme, with spaces are replaced by underscores. The theme is used to generate host names for the stack's instances. By default, HostnameTheme is set to Layer_Dependent, which creates host names by appending integers to the layer's short name. The other themes are:

To obtain a generated host name, call GetHostNameSuggestion, which returns a host name based on the current theme.

", "CloneStackRequest$DefaultAvailabilityZone": "

The cloned stack's default Availability Zone, which must be in the specified region. For more information, see Regions and Endpoints. If you also specify a value for DefaultSubnetId, the subnet must be in the same zone. For more information, see the VpcId parameter description.

", "CloneStackRequest$DefaultSubnetId": "

The stack's default VPC subnet ID. This parameter is required if you specify a value for the VpcId parameter. All instances are launched into this subnet unless you specify otherwise when you create the instance. If you also specify a value for DefaultAvailabilityZone, the subnet must be in that zone. For information on default values and when this parameter is required, see the VpcId parameter description.

", - "CloneStackRequest$CustomJson": "

A string that contains user-defined, custom JSON. It is used to override the corresponding default stack configuration JSON values. The string should be in the following format and must escape characters such as '\"':

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes

", + "CloneStackRequest$CustomJson": "

A string that contains user-defined, custom JSON. It is used to override the corresponding default stack configuration JSON values. The string should be in the following format:

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes

", "CloneStackRequest$DefaultSshKeyName": "

A default Amazon EC2 key pair name. The default value is none. If you specify a key pair name, AWS OpsWorks installs the public key on the instance and you can use the private key with an SSH client to log in to the instance. For more information, see Using SSH to Communicate with an Instance and Managing SSH Access. You can override this setting by specifying a different key pair, or no key pair, when you create an instance.

", "CloneStackRequest$AgentVersion": "

The default AWS OpsWorks agent version. You have the following options:

The default setting is LATEST. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions.

You can also specify an agent version when you create or update an instance, which overrides the stack's default setting.

", "CloneStackResult$StackId": "

The cloned stack ID.

", @@ -1181,7 +1181,7 @@ "CreateDeploymentRequest$StackId": "

The stack ID.

", "CreateDeploymentRequest$AppId": "

The app ID. This parameter is required for app deployments, but not for other deployment commands.

", "CreateDeploymentRequest$Comment": "

A user-defined comment.

", - "CreateDeploymentRequest$CustomJson": "

A string that contains user-defined, custom JSON. It is used to override the corresponding default stack configuration JSON values. The string should be in the following format and must escape characters such as '\"':

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.

", + "CreateDeploymentRequest$CustomJson": "

A string that contains user-defined, custom JSON. It is used to override the corresponding default stack configuration JSON values. The string should be in the following format:

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.

", "CreateDeploymentResult$DeploymentId": "

The deployment ID, which can be used with other requests to identify the deployment.

", "CreateInstanceRequest$StackId": "

The stack ID.

", "CreateInstanceRequest$InstanceType": "

The instance type, such as t2.micro. For a list of supported instance types, open the stack in the console, choose Instances, and choose + Instance. The Size list contains the currently supported types. For more information, see Instance Families and Types. The parameter values that you use to specify the various types are in the API Name column of the Available Instance Types table.

", @@ -1210,11 +1210,11 @@ "CreateStackRequest$HostnameTheme": "

The stack's host name theme, with spaces replaced by underscores. The theme is used to generate host names for the stack's instances. By default, HostnameTheme is set to Layer_Dependent, which creates host names by appending integers to the layer's short name. The other themes are:

To obtain a generated host name, call GetHostNameSuggestion, which returns a host name based on the current theme.

", "CreateStackRequest$DefaultAvailabilityZone": "

The stack's default Availability Zone, which must be in the specified region. For more information, see Regions and Endpoints. If you also specify a value for DefaultSubnetId, the subnet must be in the same zone. For more information, see the VpcId parameter description.

", "CreateStackRequest$DefaultSubnetId": "

The stack's default VPC subnet ID. This parameter is required if you specify a value for the VpcId parameter. All instances are launched into this subnet unless you specify otherwise when you create the instance. If you also specify a value for DefaultAvailabilityZone, the subnet must be in that zone. For information on default values and when this parameter is required, see the VpcId parameter description.

", - "CreateStackRequest$CustomJson": "

A string that contains user-defined, custom JSON. It can be used to override the corresponding default stack configuration attribute values or to pass data to recipes. The string should be in the following escape characters such as '\"':

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.

", + "CreateStackRequest$CustomJson": "

A string that contains user-defined, custom JSON. It can be used to override the corresponding default stack configuration attribute values or to pass data to recipes. The string should be in the following format:

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.

", "CreateStackRequest$DefaultSshKeyName": "

A default Amazon EC2 key pair name. The default value is none. If you specify a key pair name, AWS OpsWorks installs the public key on the instance and you can use the private key with an SSH client to log in to the instance. For more information, see Using SSH to Communicate with an Instance and Managing SSH Access. You can override this setting by specifying a different key pair, or no key pair, when you create an instance.

", "CreateStackRequest$AgentVersion": "

The default AWS OpsWorks agent version. You have the following options:

The default setting is the most recent release of the agent. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions.

You can also specify an agent version when you create or update an instance, which overrides the stack's default setting.

", "CreateStackResult$StackId": "

The stack ID, which is an opaque string that you use to identify the stack when performing actions such as DescribeStacks.

", - "CreateUserProfileRequest$IamUserArn": "

The user's IAM ARN.

", + "CreateUserProfileRequest$IamUserArn": "

The user's IAM ARN; this can also be a federated user's ARN.

", "CreateUserProfileRequest$SshUsername": "

The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9], '-', and '_'. If the specified name includes other punctuation marks, AWS OpsWorks removes them. For example, my.name will be changed to myname. If you do not specify an SSH user name, AWS OpsWorks generates one from the IAM user name.

", "CreateUserProfileRequest$SshPublicKey": "

The user's public SSH key.

", "CreateUserProfileResult$IamUserArn": "

The user's IAM ARN.

", @@ -1225,14 +1225,14 @@ "DeleteInstanceRequest$InstanceId": "

The instance ID.

", "DeleteLayerRequest$LayerId": "

The layer ID.

", "DeleteStackRequest$StackId": "

The stack ID.

", - "DeleteUserProfileRequest$IamUserArn": "

The user's IAM ARN.

", + "DeleteUserProfileRequest$IamUserArn": "

The user's IAM ARN. This can also be a federated user's ARN.

", "Deployment$DeploymentId": "

The deployment ID.

", "Deployment$StackId": "

The stack ID.

", "Deployment$AppId": "

The app ID.

", "Deployment$IamUserArn": "

The user's IAM ARN.

", "Deployment$Comment": "

A user-defined comment.

", "Deployment$Status": "

The deployment status:

", - "Deployment$CustomJson": "

A string that contains user-defined custom JSON. It can be used to override the corresponding default stack configuration attribute values for stack or to pass data to recipes. The string should be in the following format and must escape characters such as '\"':

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.

", + "Deployment$CustomJson": "

A string that contains user-defined custom JSON. It can be used to override the corresponding default stack configuration attribute values for stack or to pass data to recipes. The string should be in the following format:

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.

", "DeploymentCommandArgs$key": null, "DeregisterEcsClusterRequest$EcsClusterArn": "

The cluster's ARN.

", "DeregisterElasticIpRequest$ElasticIp": "

The Elastic IP address.

", @@ -1254,7 +1254,7 @@ "DescribeInstancesRequest$StackId": "

A stack ID. If you use this parameter, DescribeInstances returns descriptions of the instances associated with the specified stack.

", "DescribeInstancesRequest$LayerId": "

A layer ID. If you use this parameter, DescribeInstances returns descriptions of the instances associated with the specified layer.

", "DescribeLayersRequest$StackId": "

The stack ID.

", - "DescribePermissionsRequest$IamUserArn": "

The user's IAM ARN. For more information about IAM ARNs, see Using Identifiers.

", + "DescribePermissionsRequest$IamUserArn": "

The user's IAM ARN. This can also be a federated user's ARN. For more information about IAM ARNs, see Using Identifiers.

", "DescribePermissionsRequest$StackId": "

The stack ID.

", "DescribeRaidArraysRequest$InstanceId": "

The instance ID. If you use this parameter, DescribeRaidArrays returns descriptions of the RAID arrays associated with the specified instance.

", "DescribeRaidArraysRequest$StackId": "

The stack ID.

", @@ -1387,7 +1387,7 @@ "ServiceError$Message": "

A message that describes the error.

", "SetLoadBasedAutoScalingRequest$LayerId": "

The layer ID.

", "SetPermissionRequest$StackId": "

The stack ID.

", - "SetPermissionRequest$IamUserArn": "

The user's IAM ARN.

", + "SetPermissionRequest$IamUserArn": "

The user's IAM ARN. This can also be a federated user's ARN.

", "SetPermissionRequest$Level": "

The user's permission level, which must be set to one of the following strings. You cannot set your own permissions level.

For more information on the permissions associated with these levels, see Managing User Permissions.

", "SetTimeBasedAutoScalingRequest$InstanceId": "

The instance ID.

", "Source$Url": "

The source URL.

", @@ -1409,7 +1409,7 @@ "Stack$HostnameTheme": "

The stack host name theme, with spaces replaced by underscores.

", "Stack$DefaultAvailabilityZone": "

The stack's default Availability Zone. For more information, see Regions and Endpoints.

", "Stack$DefaultSubnetId": "

The default subnet ID; applicable only if the stack is running in a VPC.

", - "Stack$CustomJson": "

A JSON object that contains user-defined attributes to be added to the stack configuration and deployment attributes. You can use custom JSON to override the corresponding default stack configuration attribute values or to pass data to recipes. The string should be in the following format and must escape characters such as '\"':

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.

", + "Stack$CustomJson": "

A JSON object that contains user-defined attributes to be added to the stack configuration and deployment attributes. You can use custom JSON to override the corresponding default stack configuration attribute values or to pass data to recipes. The string should be in the following format:

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.

", "Stack$DefaultSshKeyName": "

A default Amazon EC2 key pair for the stack's instances. You can override this value when you create or update an instance.

", "Stack$AgentVersion": "

The agent version. This parameter is set to LATEST for auto-update. or a version number for a fixed agent version.

", "StackAttributes$value": null, @@ -1437,8 +1437,8 @@ "UpdateInstanceRequest$InstanceId": "

The instance ID.

", "UpdateInstanceRequest$InstanceType": "

The instance type, such as t2.micro. For a list of supported instance types, open the stack in the console, choose Instances, and choose + Instance. The Size list contains the currently supported types. For more information, see Instance Families and Types. The parameter values that you use to specify the various types are in the API Name column of the Available Instance Types table.

", "UpdateInstanceRequest$Hostname": "

The instance host name.

", - "UpdateInstanceRequest$Os": "

The instance's operating system, which must be set to one of the following.

For more information on the supported operating systems, see AWS OpsWorks Operating Systems.

The default option is the current Amazon Linux version. If you set this parameter to Custom, you must use the AmiId parameter to specify the custom AMI that you want to use. For more information on the supported operating systems, see Operating Systems. For more information on how to use custom AMIs with OpsWorks, see Using Custom AMIs.

You can specify a different Linux operating system for the updated stack, but you cannot change from Linux to Windows or Windows to Linux.

", - "UpdateInstanceRequest$AmiId": "

A custom AMI ID to be used to create the instance. The AMI must be based on one of the supported operating systems. For more information, see Instances

If you specify a custom AMI, you must set Os to Custom.

", + "UpdateInstanceRequest$Os": "

The instance's operating system, which must be set to one of the following. You cannot update an instance that is using a custom AMI.

For more information on the supported operating systems, see AWS OpsWorks Operating Systems.

The default option is the current Amazon Linux version. If you set this parameter to Custom, you must use the AmiId parameter to specify the custom AMI that you want to use. For more information on the supported operating systems, see Operating Systems. For more information on how to use custom AMIs with OpsWorks, see Using Custom AMIs.

You can specify a different Linux operating system for the updated stack, but you cannot change from Linux to Windows or Windows to Linux.

", + "UpdateInstanceRequest$AmiId": "

The ID of the AMI that was used to create the instance. The value of this parameter must be the same AMI ID that the instance is already using. You cannot apply a new AMI to an instance by running UpdateInstance. UpdateInstance does not work on instances that are using custom AMIs.

", "UpdateInstanceRequest$SshKeyName": "

The instance's Amazon EC2 key name.

", "UpdateInstanceRequest$AgentVersion": "

The default AWS OpsWorks agent version. You have the following options:

The default setting is INHERIT. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions.

", "UpdateLayerRequest$LayerId": "

The layer ID.

", @@ -1458,10 +1458,10 @@ "UpdateStackRequest$HostnameTheme": "

The stack's new host name theme, with spaces replaced by underscores. The theme is used to generate host names for the stack's instances. By default, HostnameTheme is set to Layer_Dependent, which creates host names by appending integers to the layer's short name. The other themes are:

To obtain a generated host name, call GetHostNameSuggestion, which returns a host name based on the current theme.

", "UpdateStackRequest$DefaultAvailabilityZone": "

The stack's default Availability Zone, which must be in the stack's region. For more information, see Regions and Endpoints. If you also specify a value for DefaultSubnetId, the subnet must be in the same zone. For more information, see CreateStack.

", "UpdateStackRequest$DefaultSubnetId": "

The stack's default VPC subnet ID. This parameter is required if you specify a value for the VpcId parameter. All instances are launched into this subnet unless you specify otherwise when you create the instance. If you also specify a value for DefaultAvailabilityZone, the subnet must be in that zone. For information on default values and when this parameter is required, see the VpcId parameter description.

", - "UpdateStackRequest$CustomJson": "

A string that contains user-defined, custom JSON. It can be used to override the corresponding default stack configuration JSON values or to pass data to recipes. The string should be in the following format and escape characters such as '\"':

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.

", + "UpdateStackRequest$CustomJson": "

A string that contains user-defined, custom JSON. It can be used to override the corresponding default stack configuration JSON values or to pass data to recipes. The string should be in the following format:

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.

", "UpdateStackRequest$DefaultSshKeyName": "

A default Amazon EC2 key-pair name. The default value is none. If you specify a key-pair name, AWS OpsWorks installs the public key on the instance and you can use the private key with an SSH client to log in to the instance. For more information, see Using SSH to Communicate with an Instance and Managing SSH Access. You can override this setting by specifying a different key pair, or no key pair, when you create an instance.

", "UpdateStackRequest$AgentVersion": "

The default AWS OpsWorks agent version. You have the following options:

The default setting is LATEST. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions.

You can also specify an agent version when you create or update an instance, which overrides the stack's default setting.

", - "UpdateUserProfileRequest$IamUserArn": "

The user IAM ARN.

", + "UpdateUserProfileRequest$IamUserArn": "

The user IAM ARN. This can also be a federated user's ARN.

", "UpdateUserProfileRequest$SshUsername": "

The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9], '-', and '_'. If the specified name includes other punctuation marks, AWS OpsWorks removes them. For example, my.name will be changed to myname. If you do not specify an SSH user name, AWS OpsWorks generates one from the IAM user name.

", "UpdateUserProfileRequest$SshPublicKey": "

The user's new SSH public key.

", "UpdateVolumeRequest$VolumeId": "

The volume ID.

", @@ -1516,7 +1516,7 @@ "DescribeServiceErrorsRequest$ServiceErrorIds": "

An array of service error IDs. If you use this parameter, DescribeServiceErrors returns descriptions of the specified errors. Otherwise, it returns a description of every error.

", "DescribeStacksRequest$StackIds": "

An array of stack IDs that specify the stacks to be described. If you omit this parameter, DescribeStacks returns a description of every stack.

", "DescribeTimeBasedAutoScalingRequest$InstanceIds": "

An array of instance IDs.

", - "DescribeUserProfilesRequest$IamUserArns": "

An array of IAM user ARNs that identify the users to be described.

", + "DescribeUserProfilesRequest$IamUserArns": "

An array of IAM or federated user ARNs that identify the users to be described.

", "DescribeVolumesRequest$VolumeIds": "

Am array of volume IDs. If you use this parameter, DescribeVolumes returns descriptions of the specified volumes. Otherwise, it returns a description of every volume.

", "ElasticLoadBalancer$AvailabilityZones": "

A list of Availability Zones.

", "ElasticLoadBalancer$SubnetIds": "

A list of subnet IDs, if the stack is running in a VPC.

", diff --git a/models/apis/s3/2006-03-01/docs-2.json b/models/apis/s3/2006-03-01/docs-2.json index 0ea5cd3eb22..1dc4eb04b5c 100644 --- a/models/apis/s3/2006-03-01/docs-2.json +++ b/models/apis/s3/2006-03-01/docs-2.json @@ -2054,8 +2054,8 @@ "GetObjectRequest$RequestPayer": null, "GetObjectTorrentRequest$RequestPayer": null, "HeadObjectRequest$RequestPayer": null, - "ListObjectsRequest$RequestPayer": null, - "ListObjectsV2Request$RequestPayer": null, + "ListObjectsRequest$RequestPayer": "Confirms that the requester knows that she or he will be charged for the list objects request. Bucket owners need not specify this parameter in their requests.", + "ListObjectsV2Request$RequestPayer": "Confirms that the requester knows that she or he will be charged for the list objects request in V2 style. Bucket owners need not specify this parameter in their requests.", "ListPartsRequest$RequestPayer": null, "PutObjectAclRequest$RequestPayer": null, "PutObjectRequest$RequestPayer": null, diff --git a/models/apis/sqs/2012-11-05/examples-1.json b/models/apis/sqs/2012-11-05/examples-1.json index ec813934f97..21b72de86f3 100644 --- a/models/apis/sqs/2012-11-05/examples-1.json +++ b/models/apis/sqs/2012-11-05/examples-1.json @@ -1,13 +1,98 @@ { "version": "1.0", "examples": { + "AddPermission": [ + { + "input": { + "AWSAccountIds": [ + "12345EXAMPLE" + ], + "Actions": [ + "SendMessage" + ], + "Label": "SendMessagesFromMyQueue", + "QueueUrl": "https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example allows the specified AWS account to send messages to the specified queue.", + "id": "to-add-a-permission-to-a-queue-1472079068305", + "title": "To add a permission to a queue" + } + ], + "ChangeMessageVisibility": [ + { + "input": { + "QueueUrl": "https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue", + "ReceiptHandle": "AQEBTpyI...t6HyQg==", + "VisibilityTimeout": 36000 + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example changes the visibility timeout of the specified message to 10 hours (10 hours * 60 minutes * 60 seconds).", + "id": "to-change-the-visibility-timeout-of-a-single-message-1472079046292", + "title": "To change the visibility timeout of a single message" + } + ], + "ChangeMessageVisibilityBatch": [ + { + "input": { + "Entries": [ + { + "Id": "FirstMessage", + "ReceiptHandle": "AQEBhz2q...Jf3kaw==", + "VisibilityTimeout": 36000 + }, + { + "Id": "SecondMessage", + "ReceiptHandle": "AQEBkTUH...HifSnw==", + "VisibilityTimeout": 36000 + } + ], + "QueueUrl": "https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue" + }, + "output": { + "Failed": [ + + ], + "Successful": [ + + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example changes the visibility timeout of the two specified messages to 10 hours (10 hours * 60 minutes * 60 seconds).", + "id": "to-change-the-visibility-timeout-of-multiple-messages-1472079027081", + "title": "To change the visibility timeout of multiple messages" + } + ], "CreateQueue": [ { "input": { + "Attributes": { + "MessageRetentionPeriod": "259200", + "RedrivePolicy": "{\"deadLetterTargetArn\":\"arn:aws:sqs:us-east-1:80398EXAMPLE:MyDeadLetterQueue\",\"maxReceiveCount\":\"1000\"}" + }, "QueueName": "MyQueue" }, "output": { - "QueueUrl": "https://queue.amazonaws.com/012345678910/MyQueue" + "QueueUrl": "https://queue.amazonaws.com/80398EXAMPLE/MyQueue" }, "comments": { "input": { @@ -15,19 +100,508 @@ "output": { } }, - "description": "The following operation creates an SQS queue named MyQueue.", - "id": "create-an-sqs-queue-1445915686197", - "title": "Create an SQS queue" + "description": "The following operation creates an Amazon SQS queue named MyQueue.", + "id": "to-create-an-sqs-queue-1472078982579", + "title": "To create an Amazon SQS queue" + } + ], + "DeleteMessage": [ + { + "input": { + "QueueUrl": "https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue", + "ReceiptHandle": "AQEBRXTo...q2doVA==" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified message.", + "id": "to-delete-a-single-message-1472078961585", + "title": "To delete a single message" + } + ], + "DeleteMessageBatch": [ + { + "input": { + "Entries": [ + { + "Id": "FirstMessage", + "ReceiptHandle": "AQEB1mgl...Z4GuLw==" + }, + { + "Id": "SecondMessage", + "ReceiptHandle": "AQEBLsYM...VQubAA==" + } + ], + "QueueUrl": "https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue" + }, + "output": { + "Failed": [ + + ], + "Successful": [ + { + "Id": "FirstMessage" + }, + { + "Id": "SecondMessage" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the two specified messages.", + "id": "to-delete-multiple-messages-1472078930327", + "title": "To delete multiple messages" + } + ], + "DeleteQueue": [ + { + "input": { + "QueueUrl": "https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewerQueue" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified queue.", + "id": "to-delete-a-queue-1472151853558", + "title": "To delete a queue" + } + ], + "GetQueueAttributes": [ + { + "input": { + "AttributeNames": [ + "All" + ], + "QueueUrl": "https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue" + }, + "output": { + "Attributes": { + "ApproximateNumberOfMessages": "0", + "ApproximateNumberOfMessagesDelayed": "0", + "ApproximateNumberOfMessagesNotVisible": "0", + "CreatedTimestamp": "1442426968", + "DelaySeconds": "0", + "LastModifiedTimestamp": "1442426968", + "MaximumMessageSize": "262144", + "MessageRetentionPeriod": "345600", + "QueueArn": "arn:aws:sqs:us-east-1:80398EXAMPLE:MyNewQueue", + "ReceiveMessageWaitTimeSeconds": "0", + "RedrivePolicy": "{\"deadLetterTargetArn\":\"arn:aws:sqs:us-east-1:80398EXAMPLE:MyDeadLetterQueue\",\"maxReceiveCount\":1000}", + "VisibilityTimeout": "30" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example gets all attributes of the specified queue.", + "id": "to-get-the-attributes-of-a-queue-1472149421128", + "title": "To get the attributes of a queue" + }, + { + "input": { + "AttributeNames": [ + "MaximumMessageSize VisibilityTimeout" + ], + "QueueUrl": "https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewQueue" + }, + "output": { + "Attributes": { + "MaximumMessageSize": "262144", + "VisibilityTimeout": "30" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example gets only the specified queue's maximum message size and visibility timeout attributes.", + "id": "to-get-the-attributes-of-a-queue-1472517012839", + "title": "To get the attributes of a queue" } ], "GetQueueUrl": [ { "input": { "QueueName": "MyQueue", - "QueueOwnerAWSAccountId": "12345678910" + "QueueOwnerAWSAccountId": "123456789101" + }, + "output": { + "QueueUrl": "https://queue.amazonaws.com/123456789101/MyQueue" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example gets the URL of the specified queue.", + "id": "to-get-the-url-of-a-queue-1472078901091", + "title": "To get the URL of a queue" + } + ], + "ListDeadLetterSourceQueues": [ + { + "input": { + "QueueUrl": "https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyDeadLetterQueue" + }, + "output": { + "queueUrls": [ + "https://queue.amazonaws.com/80398EXAMPLE/MyQueue", + "https://queue.amazonaws.com/80398EXAMPLE/MyOtherQueue" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists the source queues associated with the specified dead letter queue.", + "id": "to-list-the-source-queues-of-a-dead-letter-queue-1472150435081", + "title": "To list the source queues of a dead letter queue" + } + ], + "ListQueues": [ + { + "input": { + "QueueNamePrefix": "" + }, + "output": { + "QueueUrls": [ + "https://queue.amazonaws.com/80398EXAMPLE/MyDeadLetterQueue", + "https://queue.amazonaws.com/80398EXAMPLE/MyQueue", + "https://queue.amazonaws.com/80398EXAMPLE/MyOtherQueue", + "https://queue.amazonaws.com/80398EXAMPLE/TestQueue1", + "https://queue.amazonaws.com/80398EXAMPLE/TestQueue2" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists all queues.", + "id": "to-list-queues-1472150595914", + "title": "To list queues" + }, + { + "input": { + "QueueNamePrefix": "My" + }, + "output": { + "QueueUrls": [ + "https://queue.amazonaws.com/80398EXAMPLE/MyDeadLetterQueue", + "https://queue.amazonaws.com/80398EXAMPLE/MyQueue", + "https://queue.amazonaws.com/80398EXAMPLE/MyOtherQueue" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists only queues that start with "Ty".", + "id": "to-list-queues-1472517240103", + "title": "To list queues" + } + ], + "PurgeQueue": [ + { + "input": { + "QueueUrl": "https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewQueue" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes all messages in the specified queue.", + "id": "to-purge-a-queue-1472150819702", + "title": "To purge a queue" + } + ], + "ReceiveMessage": [ + { + "input": { + "AttributeNames": [ + "All" + ], + "MaxNumberOfMessages": 10, + "MessageAttributeNames": [ + "All" + ], + "QueueUrl": "https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue", + "VisibilityTimeout": 123, + "WaitTimeSeconds": 123 + }, + "output": { + "Messages": [ + { + "Attributes": { + "ApproximateFirstReceiveTimestamp": "1442428276921", + "ApproximateReceiveCount": "5", + "SenderId": "AIDAIAZKMSNQ7TEXAMPLE", + "SentTimestamp": "1442428276921" + }, + "Body": "My first message.", + "MD5OfBody": "1000f835...a35411fa", + "MD5OfMessageAttributes": "9424c491...26bc3ae7", + "MessageAttributes": { + "City": { + "DataType": "String", + "StringValue": "Any City" + }, + "PostalCode": { + "DataType": "String", + "StringValue": "ABC123" + } + }, + "MessageId": "d6790f8d-d575-4f01-bc51-40122EXAMPLE", + "ReceiptHandle": "AQEBzbVv...fqNzFw==" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example receives up to 10 available messages, returning all available attributes.", + "id": "to-receive-a-message-1472151462717", + "title": "To receive a message" + }, + { + "input": { + "AttributeNames": [ + "SenderId SentTimestamp" + ], + "MaxNumberOfMessages": 123, + "MessageAttributeNames": [ + "PostalCode" + ], + "QueueUrl": "https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue", + "VisibilityTimeout": 123, + "WaitTimeSeconds": 123 + }, + "output": { + "Messages": [ + { + "Attributes": { + "SenderId": "AIDAIAZKMSNQ7TEXAMPLE", + "SentTimestamp": "1442428276921" + }, + "Body": "My first message.", + "MD5OfBody": "1000f835...a35411fa", + "MD5OfMessageAttributes": "b8e89563...e088e74f", + "MessageAttributes": { + "PostalCode": { + "DataType": "String", + "StringValue": "ABC123" + } + }, + "MessageId": "d6790f8d-d575-4f01-bc51-40122EXAMPLE", + "ReceiptHandle": "AQEB6nR4...HzlvZQ==" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example receives the next available message, returning only the SenderId and SentTimestamp attributes and the PostalCode message attribute.", + "id": "to-receive-a-message-1472517398871", + "title": "To receive a message" + } + ], + "RemovePermission": [ + { + "input": { + "Label": "SendMessagesFromMyQueue", + "QueueUrl": "https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example removes the permission with the specified label from the specified queue.", + "id": "to-remove-a-permission-from-a-queue-1472151967252", + "title": "To remove a permission from a queue" + } + ], + "SendMessage": [ + { + "input": { + "DelaySeconds": 10, + "MessageAttributes": { + "City": { + "DataType": "String", + "StringValue": "Any City" + }, + "Greeting": { + "BinaryValue": "Hello, World!", + "DataType": "Binary" + }, + "Population": { + "DataType": "Number", + "StringValue": "1250800" + } + }, + "MessageBody": "Information about the largest city in Any Region.", + "QueueUrl": "https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue" + }, + "output": { + "MD5OfMessageAttributes": "00484c68...59e48f06", + "MD5OfMessageBody": "51b0a325...39163aa0", + "MessageId": "da68f62c-0c07-4bee-bf5f-7e856EXAMPLE" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example sends a message with the specified message body, delay period, and message attributes to the specified queue.", + "id": "to-send-a-message-to-a-queue-1472152022619", + "title": "To send a message to a queue" + } + ], + "SendMessageBatch": [ + { + "input": { + "Entries": [ + { + "DelaySeconds": 10, + "Id": "FuelReport-0001-2015-09-16T140731Z", + "MessageAttributes": { + "City": { + "DataType": "String", + "StringValue": "Any City" + }, + "PostalCode": { + "DataType": "String", + "StringValue": "99065" + }, + "PricePerGallon": { + "DataType": "Number", + "StringValue": "1.99" + }, + "Region": { + "DataType": "String", + "StringValue": "WA" + }, + "SellerName": { + "DataType": "String", + "StringValue": "Example Store" + } + }, + "MessageBody": "Fuel report for account 0001 on 2015-09-16 at 02:07:31 PM." + }, + { + "DelaySeconds": 10, + "Id": "FuelReport-0002-2015-09-16T140930Z", + "MessageAttributes": { + "City": { + "DataType": "String", + "StringValue": "North Town" + }, + "PostalCode": { + "DataType": "String", + "StringValue": "99123" + }, + "PricePerGallon": { + "DataType": "Number", + "StringValue": "1.87" + }, + "Region": { + "DataType": "String", + "StringValue": "WA" + }, + "SellerName": { + "DataType": "String", + "StringValue": "Example Fuels" + } + }, + "MessageBody": "Fuel report for account 0002 on 2015-09-16 at 02:09:30 PM." + } + ], + "QueueUrl": "https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue" + }, + "output": { + "Failed": [ + + ], + "Successful": [ + { + "Id": "FuelReport-0001-2015-09-16T140731Z", + "MD5OfMessageAttributes": "10809b55...baf283ef", + "MD5OfMessageBody": "203c4a38...7943237e", + "MessageId": "d175070c-d6b8-4101-861d-adeb3EXAMPLE" + }, + { + "Id": "FuelReport-0002-2015-09-16T140930Z", + "MD5OfMessageAttributes": "55623928...ae354a25", + "MD5OfMessageBody": "2cf0159a...c1980595", + "MessageId": "f9b7d55d-0570-413e-b9c5-a9264EXAMPLE" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example sends two messages with the specified message bodies, delay periods, and message attributes to the specified queue.", + "id": "to-send-multiple-messages-1472152282144", + "title": "To send multiple messages" + } + ], + "SetQueueAttributes": [ + { + "input": { + "Attributes": { + "DelaySeconds": "10", + "MaximumMessageSize": "131072", + "MessageRetentionPeriod": "259200", + "ReceiveMessageWaitTimeSeconds": "20", + "RedrivePolicy": "{\"deadLetterTargetArn\":\"arn:aws:sqs:us-east-1:80398EXAMPLE:MyDeadLetterQueue\",\"maxReceiveCount\":\"1000\"}", + "VisibilityTimeout": "60" + }, + "QueueUrl": "https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyNewQueue" }, "output": { - "QueueUrl": "https://queue.amazonaws.com/12345678910/MyQueue" }, "comments": { "input": { @@ -35,9 +609,9 @@ "output": { } }, - "description": "The following example retrieves the queue ARN.", - "id": "retrieve-queue-attributes-from-an-sqs-queue-1445915930574", - "title": "Retrieve queue attributes from an SQS queue" + "description": "This example sets the specified queue to a delivery delay of 10 seconds, a maximum message size of 128 KB (128 KB * 1,024 bytes), a message retention period of 3 days (3 days * 24 hours * 60 minutes * 60 seconds), a receive message wait time of 20 seconds, and a default visibility timeout of 60 seconds. This example also associates the specified dead letter queue with a maximum receive count of 1,000 messages.", + "id": "to-set-the-attributes-of-a-queue-1472152379646", + "title": "To set the attributes of a queue" } ] } diff --git a/models/apis/waf/2015-08-24/api-2.json b/models/apis/waf/2015-08-24/api-2.json index b51ee18ed97..fc73c317145 100644 --- a/models/apis/waf/2015-08-24/api-2.json +++ b/models/apis/waf/2015-08-24/api-2.json @@ -701,7 +701,10 @@ "DELETE" ] }, - "ChangeToken":{"type":"string"}, + "ChangeToken":{ + "type":"string", + "min":1 + }, "ChangeTokenStatus":{ "type":"string", "enum":[ @@ -1170,7 +1173,10 @@ }, "IPSetDescriptorType":{ "type":"string", - "enum":["IPV4"] + "enum":[ + "IPV4", + "IPV6" + ] }, "IPSetDescriptorValue":{"type":"string"}, "IPSetDescriptors":{ @@ -1210,7 +1216,6 @@ "IPString":{"type":"string"}, "ListByteMatchSetsRequest":{ "type":"structure", - "required":["Limit"], "members":{ "NextMarker":{"shape":"NextMarker"}, "Limit":{"shape":"PaginationLimit"} @@ -1225,7 +1230,6 @@ }, "ListIPSetsRequest":{ "type":"structure", - "required":["Limit"], "members":{ "NextMarker":{"shape":"NextMarker"}, "Limit":{"shape":"PaginationLimit"} @@ -1245,7 +1249,6 @@ }, "ListRulesRequest":{ "type":"structure", - "required":["Limit"], "members":{ "NextMarker":{"shape":"NextMarker"}, "Limit":{"shape":"PaginationLimit"} @@ -1260,7 +1263,6 @@ }, "ListSizeConstraintSetsRequest":{ "type":"structure", - "required":["Limit"], "members":{ "NextMarker":{"shape":"NextMarker"}, "Limit":{"shape":"PaginationLimit"} @@ -1275,7 +1277,6 @@ }, "ListSqlInjectionMatchSetsRequest":{ "type":"structure", - "required":["Limit"], "members":{ "NextMarker":{"shape":"NextMarker"}, "Limit":{"shape":"PaginationLimit"} @@ -1290,7 +1291,6 @@ }, "ListWebACLsRequest":{ "type":"structure", - "required":["Limit"], "members":{ "NextMarker":{"shape":"NextMarker"}, "Limit":{"shape":"PaginationLimit"} @@ -1305,7 +1305,6 @@ }, "ListXssMatchSetsRequest":{ "type":"structure", - "required":["Limit"], "members":{ "NextMarker":{"shape":"NextMarker"}, "Limit":{"shape":"PaginationLimit"} @@ -1338,7 +1337,7 @@ "PaginationLimit":{ "type":"integer", "max":100, - "min":1 + "min":0 }, "ParameterExceptionField":{ "type":"string", diff --git a/models/apis/waf/2015-08-24/docs-2.json b/models/apis/waf/2015-08-24/docs-2.json index a580dc6631e..5c225ddbff0 100644 --- a/models/apis/waf/2015-08-24/docs-2.json +++ b/models/apis/waf/2015-08-24/docs-2.json @@ -2,26 +2,26 @@ "version": "2.0", "service": "

This is the AWS WAF API Reference. This guide is for developers who need detailed information about the AWS WAF API actions, data types, and errors. For detailed information about AWS WAF features and an overview of how to use the AWS WAF API, see the AWS WAF Developer Guide.

", "operations": { - "CreateByteMatchSet": "

Creates a ByteMatchSet. You then use UpdateByteMatchSet to identify the part of a web request that you want AWS WAF to inspect, such as the values of the User-Agent header or the query string. For example, you can create a ByteMatchSet that matches any requests with User-Agent headers that contain the string BadBot. You can then configure AWS WAF to reject those requests.

To create and configure a ByteMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateByteMatchSet request.
  2. Submit a CreateByteMatchSet request.
  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateByteMatchSet request.
  4. Submit an UpdateByteMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

", - "CreateIPSet": "

Creates an IPSet, which you use to specify which web requests you want to allow or block based on the IP addresses that the requests originate from. For example, if you're receiving a lot of requests from one or more individual IP addresses or one or more ranges of IP addresses and you want to block the requests, you can create an IPSet that contains those IP addresses and then configure AWS WAF to block the requests.

To create and configure an IPSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateIPSet request.
  2. Submit a CreateIPSet request.
  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.
  4. Submit an UpdateIPSet request to specify the IP addresses that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

", - "CreateRule": "

Creates a Rule, which contains the IPSet objects, ByteMatchSet objects, and other predicates that identify the requests that you want to block. If you add more than one predicate to a Rule, a request must match all of the specifications to be allowed or blocked. For example, suppose you add the following to a Rule:

You then add the Rule to a WebACL and specify that you want to blocks requests that satisfy the Rule. For a request to be blocked, it must come from the IP address 192.0.2.44 and the User-Agent header in the request must contain the value BadBot.

To create and configure a Rule, perform the following steps:

  1. Create and update the predicates that you want to include in the Rule. For more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet.
  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRule request.
  3. Submit a CreateRule request.
  4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request.
  5. Submit an UpdateRule request to specify the predicates that you want to include in the Rule.
  6. Create and update a WebACL that contains the Rule. For more information, see CreateWebACL.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

", - "CreateSizeConstraintSet": "

Creates a SizeConstraintSet. You then use UpdateSizeConstraintSet to identify the part of a web request that you want AWS WAF to check for length, such as the length of the User-Agent header or the length of the query string. For example, you can create a SizeConstraintSet that matches any requests that have a query string that is longer than 100 bytes. You can then configure AWS WAF to reject those requests.

To create and configure a SizeConstraintSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateSizeConstraintSet request.
  2. Submit a CreateSizeConstraintSet request.
  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSizeConstraintSet request.
  4. Submit an UpdateSizeConstraintSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

", - "CreateSqlInjectionMatchSet": "

Creates a SqlInjectionMatchSet, which you use to allow, block, or count requests that contain snippets of SQL code in a specified part of web requests. AWS WAF searches for character sequences that are likely to be malicious strings.

To create and configure a SqlInjectionMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateSqlInjectionMatchSet request.
  2. Submit a CreateSqlInjectionMatchSet request.
  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSqlInjectionMatchSet request.
  4. Submit an UpdateSqlInjectionMatchSet request to specify the parts of web requests in which you want to allow, block, or count malicious SQL code.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

", - "CreateWebACL": "

Creates a WebACL, which contains the Rules that identify the CloudFront web requests that you want to allow, block, or count. AWS WAF evaluates Rules in order based on the value of Priority for each Rule.

You also specify a default action, either ALLOW or BLOCK. If a web request doesn't match any of the Rules in a WebACL, AWS WAF responds to the request with the default action.

To create and configure a WebACL, perform the following steps:

  1. Create and update the ByteMatchSet objects and other predicates that you want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.
  2. Create and update the Rules that you want to include in the WebACL. For more information, see CreateRule and UpdateRule.
  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateWebACL request.
  4. Submit a CreateWebACL request.
  5. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateWebACL request.
  6. Submit an UpdateWebACL request to specify the Rules that you want to include in the WebACL, to specify the default action, and to associate the WebACL with a CloudFront distribution.

For more information about how to use the AWS WAF API, see the AWS WAF Developer Guide.

", - "CreateXssMatchSet": "

Creates an XssMatchSet, which you use to allow, block, or count requests that contain cross-site scripting attacks in the specified part of web requests. AWS WAF searches for character sequences that are likely to be malicious strings.

To create and configure an XssMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateXssMatchSet request.
  2. Submit a CreateXssMatchSet request.
  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateXssMatchSet request.
  4. Submit an UpdateXssMatchSet request to specify the parts of web requests in which you want to allow, block, or count cross-site scripting attacks.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

", - "DeleteByteMatchSet": "

Permanently deletes a ByteMatchSet. You can't delete a ByteMatchSet if it's still used in any Rules or if it still includes any ByteMatchTuple objects (any filters).

If you just want to remove a ByteMatchSet from a Rule, use UpdateRule.

To permanently delete a ByteMatchSet, perform the following steps:

  1. Update the ByteMatchSet to remove filters, if any. For more information, see UpdateByteMatchSet.
  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteByteMatchSet request.
  3. Submit a DeleteByteMatchSet request.
", - "DeleteIPSet": "

Permanently deletes an IPSet. You can't delete an IPSet if it's still used in any Rules or if it still includes any IP addresses.

If you just want to remove an IPSet from a Rule, use UpdateRule.

To permanently delete an IPSet from AWS WAF, perform the following steps:

  1. Update the IPSet to remove IP address ranges, if any. For more information, see UpdateIPSet.
  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteIPSet request.
  3. Submit a DeleteIPSet request.
", - "DeleteRule": "

Permanently deletes a Rule. You can't delete a Rule if it's still used in any WebACL objects or if it still includes any predicates, such as ByteMatchSet objects.

If you just want to remove a Rule from a WebACL, use UpdateWebACL.

To permanently delete a Rule from AWS WAF, perform the following steps:

  1. Update the Rule to remove predicates, if any. For more information, see UpdateRule.
  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteRule request.
  3. Submit a DeleteRule request.
", - "DeleteSizeConstraintSet": "

Permanently deletes a SizeConstraintSet. You can't delete a SizeConstraintSet if it's still used in any Rules or if it still includes any SizeConstraint objects (any filters).

If you just want to remove a SizeConstraintSet from a Rule, use UpdateRule.

To permanently delete a SizeConstraintSet, perform the following steps:

  1. Update the SizeConstraintSet to remove filters, if any. For more information, see UpdateSizeConstraintSet.
  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteSizeConstraintSet request.
  3. Submit a DeleteSizeConstraintSet request.
", - "DeleteSqlInjectionMatchSet": "

Permanently deletes a SqlInjectionMatchSet. You can't delete a SqlInjectionMatchSet if it's still used in any Rules or if it still contains any SqlInjectionMatchTuple objects.

If you just want to remove a SqlInjectionMatchSet from a Rule, use UpdateRule.

To permanently delete a SqlInjectionMatchSet from AWS WAF, perform the following steps:

  1. Update the SqlInjectionMatchSet to remove filters, if any. For more information, see UpdateSqlInjectionMatchSet.
  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteSqlInjectionMatchSet request.
  3. Submit a DeleteSqlInjectionMatchSet request.
", - "DeleteWebACL": "

Permanently deletes a WebACL. You can't delete a WebACL if it still contains any Rules.

To delete a WebACL, perform the following steps:

  1. Update the WebACL to remove Rules, if any. For more information, see UpdateWebACL.
  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteWebACL request.
  3. Submit a DeleteWebACL request.
", - "DeleteXssMatchSet": "

Permanently deletes an XssMatchSet. You can't delete an XssMatchSet if it's still used in any Rules or if it still contains any XssMatchTuple objects.

If you just want to remove an XssMatchSet from a Rule, use UpdateRule.

To permanently delete an XssMatchSet from AWS WAF, perform the following steps:

  1. Update the XssMatchSet to remove filters, if any. For more information, see UpdateXssMatchSet.
  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteXssMatchSet request.
  3. Submit a DeleteXssMatchSet request.
", + "CreateByteMatchSet": "

Creates a ByteMatchSet. You then use UpdateByteMatchSet to identify the part of a web request that you want AWS WAF to inspect, such as the values of the User-Agent header or the query string. For example, you can create a ByteMatchSet that matches any requests with User-Agent headers that contain the string BadBot. You can then configure AWS WAF to reject those requests.

To create and configure a ByteMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateByteMatchSet request.

  2. Submit a CreateByteMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateByteMatchSet request.

  4. Submit an UpdateByteMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

", + "CreateIPSet": "

Creates an IPSet, which you use to specify which web requests you want to allow or block based on the IP addresses that the requests originate from. For example, if you're receiving a lot of requests from one or more individual IP addresses or one or more ranges of IP addresses and you want to block the requests, you can create an IPSet that contains those IP addresses and then configure AWS WAF to block the requests.

To create and configure an IPSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateIPSet request.

  2. Submit a CreateIPSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  4. Submit an UpdateIPSet request to specify the IP addresses that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

", + "CreateRule": "

Creates a Rule, which contains the IPSet objects, ByteMatchSet objects, and other predicates that identify the requests that you want to block. If you add more than one predicate to a Rule, a request must match all of the specifications to be allowed or blocked. For example, suppose you add the following to a Rule:

You then add the Rule to a WebACL and specify that you want to blocks requests that satisfy the Rule. For a request to be blocked, it must come from the IP address 192.0.2.44 and the User-Agent header in the request must contain the value BadBot.

To create and configure a Rule, perform the following steps:

  1. Create and update the predicates that you want to include in the Rule. For more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRule request.

  3. Submit a CreateRule request.

  4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request.

  5. Submit an UpdateRule request to specify the predicates that you want to include in the Rule.

  6. Create and update a WebACL that contains the Rule. For more information, see CreateWebACL.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

", + "CreateSizeConstraintSet": "

Creates a SizeConstraintSet. You then use UpdateSizeConstraintSet to identify the part of a web request that you want AWS WAF to check for length, such as the length of the User-Agent header or the length of the query string. For example, you can create a SizeConstraintSet that matches any requests that have a query string that is longer than 100 bytes. You can then configure AWS WAF to reject those requests.

To create and configure a SizeConstraintSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateSizeConstraintSet request.

  2. Submit a CreateSizeConstraintSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSizeConstraintSet request.

  4. Submit an UpdateSizeConstraintSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

", + "CreateSqlInjectionMatchSet": "

Creates a SqlInjectionMatchSet, which you use to allow, block, or count requests that contain snippets of SQL code in a specified part of web requests. AWS WAF searches for character sequences that are likely to be malicious strings.

To create and configure a SqlInjectionMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateSqlInjectionMatchSet request.

  2. Submit a CreateSqlInjectionMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSqlInjectionMatchSet request.

  4. Submit an UpdateSqlInjectionMatchSet request to specify the parts of web requests in which you want to allow, block, or count malicious SQL code.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

", + "CreateWebACL": "

Creates a WebACL, which contains the Rules that identify the CloudFront web requests that you want to allow, block, or count. AWS WAF evaluates Rules in order based on the value of Priority for each Rule.

You also specify a default action, either ALLOW or BLOCK. If a web request doesn't match any of the Rules in a WebACL, AWS WAF responds to the request with the default action.

To create and configure a WebACL, perform the following steps:

  1. Create and update the ByteMatchSet objects and other predicates that you want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.

  2. Create and update the Rules that you want to include in the WebACL. For more information, see CreateRule and UpdateRule.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateWebACL request.

  4. Submit a CreateWebACL request.

  5. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateWebACL request.

  6. Submit an UpdateWebACL request to specify the Rules that you want to include in the WebACL, to specify the default action, and to associate the WebACL with a CloudFront distribution.

For more information about how to use the AWS WAF API, see the AWS WAF Developer Guide.

", + "CreateXssMatchSet": "

Creates an XssMatchSet, which you use to allow, block, or count requests that contain cross-site scripting attacks in the specified part of web requests. AWS WAF searches for character sequences that are likely to be malicious strings.

To create and configure an XssMatchSet, perform the following steps:

  1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateXssMatchSet request.

  2. Submit a CreateXssMatchSet request.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateXssMatchSet request.

  4. Submit an UpdateXssMatchSet request to specify the parts of web requests in which you want to allow, block, or count cross-site scripting attacks.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

", + "DeleteByteMatchSet": "

Permanently deletes a ByteMatchSet. You can't delete a ByteMatchSet if it's still used in any Rules or if it still includes any ByteMatchTuple objects (any filters).

If you just want to remove a ByteMatchSet from a Rule, use UpdateRule.

To permanently delete a ByteMatchSet, perform the following steps:

  1. Update the ByteMatchSet to remove filters, if any. For more information, see UpdateByteMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteByteMatchSet request.

  3. Submit a DeleteByteMatchSet request.

", + "DeleteIPSet": "

Permanently deletes an IPSet. You can't delete an IPSet if it's still used in any Rules or if it still includes any IP addresses.

If you just want to remove an IPSet from a Rule, use UpdateRule.

To permanently delete an IPSet from AWS WAF, perform the following steps:

  1. Update the IPSet to remove IP address ranges, if any. For more information, see UpdateIPSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteIPSet request.

  3. Submit a DeleteIPSet request.

", + "DeleteRule": "

Permanently deletes a Rule. You can't delete a Rule if it's still used in any WebACL objects or if it still includes any predicates, such as ByteMatchSet objects.

If you just want to remove a Rule from a WebACL, use UpdateWebACL.

To permanently delete a Rule from AWS WAF, perform the following steps:

  1. Update the Rule to remove predicates, if any. For more information, see UpdateRule.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteRule request.

  3. Submit a DeleteRule request.

", + "DeleteSizeConstraintSet": "

Permanently deletes a SizeConstraintSet. You can't delete a SizeConstraintSet if it's still used in any Rules or if it still includes any SizeConstraint objects (any filters).

If you just want to remove a SizeConstraintSet from a Rule, use UpdateRule.

To permanently delete a SizeConstraintSet, perform the following steps:

  1. Update the SizeConstraintSet to remove filters, if any. For more information, see UpdateSizeConstraintSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteSizeConstraintSet request.

  3. Submit a DeleteSizeConstraintSet request.

", + "DeleteSqlInjectionMatchSet": "

Permanently deletes a SqlInjectionMatchSet. You can't delete a SqlInjectionMatchSet if it's still used in any Rules or if it still contains any SqlInjectionMatchTuple objects.

If you just want to remove a SqlInjectionMatchSet from a Rule, use UpdateRule.

To permanently delete a SqlInjectionMatchSet from AWS WAF, perform the following steps:

  1. Update the SqlInjectionMatchSet to remove filters, if any. For more information, see UpdateSqlInjectionMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteSqlInjectionMatchSet request.

  3. Submit a DeleteSqlInjectionMatchSet request.

", + "DeleteWebACL": "

Permanently deletes a WebACL. You can't delete a WebACL if it still contains any Rules.

To delete a WebACL, perform the following steps:

  1. Update the WebACL to remove Rules, if any. For more information, see UpdateWebACL.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteWebACL request.

  3. Submit a DeleteWebACL request.

", + "DeleteXssMatchSet": "

Permanently deletes an XssMatchSet. You can't delete an XssMatchSet if it's still used in any Rules or if it still contains any XssMatchTuple objects.

If you just want to remove an XssMatchSet from a Rule, use UpdateRule.

To permanently delete an XssMatchSet from AWS WAF, perform the following steps:

  1. Update the XssMatchSet to remove filters, if any. For more information, see UpdateXssMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteXssMatchSet request.

  3. Submit a DeleteXssMatchSet request.

", "GetByteMatchSet": "

Returns the ByteMatchSet specified by ByteMatchSetId.

", "GetChangeToken": "

When you want to create, update, or delete AWS WAF objects, get a change token and include the change token in the create, update, or delete request. Change tokens ensure that your application doesn't submit conflicting requests to AWS WAF.

Each create, update, or delete request must use a unique change token. If your application submits a GetChangeToken request and then submits a second GetChangeToken request before submitting a create, update, or delete request, the second GetChangeToken request returns the same value as the first GetChangeToken request.

When you use a change token in a create, update, or delete request, the status of the change token changes to PENDING, which indicates that AWS WAF is propagating the change to all AWS WAF servers. Use GetChangeTokenStatus to determine the status of your change token.

", - "GetChangeTokenStatus": "

Returns the status of a ChangeToken that you got by calling GetChangeToken. ChangeTokenStatus is one of the following values:

", + "GetChangeTokenStatus": "

Returns the status of a ChangeToken that you got by calling GetChangeToken. ChangeTokenStatus is one of the following values:

", "GetIPSet": "

Returns the IPSet that is specified by IPSetId.

", "GetRule": "

Returns the Rule that is specified by the RuleId that you included in the GetRule request.

", - "GetSampledRequests": "

Gets detailed information about a specified number of requests--a sample--that AWS WAF randomly selects from among the first 5,000 requests that your AWS resource received during a time range that you choose. You can specify a sample size of up to 100 requests, and you can specify any time range in the previous three hours.

GetSampledRequests returns a time range, which is usually the time range that you specified. However, if your resource (such as a CloudFront distribution) received 5,000 requests before the specified time range elapsed, GetSampledRequests returns an updated time range. This new time range indicates the actual period during which AWS WAF selected the requests in the sample.

", + "GetSampledRequests": "

Gets detailed information about a specified number of requests--a sample--that AWS WAF randomly selects from among the first 5,000 requests that your AWS resource received during a time range that you choose. You can specify a sample size of up to 100 requests, and you can specify any time range in the previous three hours.

GetSampledRequests returns a time range, which is usually the time range that you specified. However, if your resource (such as a CloudFront distribution) received 5,000 requests before the specified time range elapsed, GetSampledRequests returns an updated time range. This new time range indicates the actual period during which AWS WAF selected the requests in the sample.

", "GetSizeConstraintSet": "

Returns the SizeConstraintSet specified by SizeConstraintSetId.

", "GetSqlInjectionMatchSet": "

Returns the SqlInjectionMatchSet that is specified by SqlInjectionMatchSetId.

", "GetWebACL": "

Returns the WebACL that is specified by WebACLId.

", @@ -33,13 +33,13 @@ "ListSqlInjectionMatchSets": "

Returns an array of SqlInjectionMatchSet objects.

", "ListWebACLs": "

Returns an array of WebACLSummary objects in the response.

", "ListXssMatchSets": "

Returns an array of XssMatchSet objects.

", - "UpdateByteMatchSet": "

Inserts or deletes ByteMatchTuple objects (filters) in a ByteMatchSet. For each ByteMatchTuple object, you specify the following values:

For example, you can add a ByteMatchSetUpdate object that matches web requests in which User-Agent headers contain the string BadBot. You can then configure AWS WAF to block those requests.

To create and configure a ByteMatchSet, perform the following steps:

  1. Create a ByteMatchSet. For more information, see CreateByteMatchSet.
  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateByteMatchSet request.
  3. Submit an UpdateByteMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

", - "UpdateIPSet": "

Inserts or deletes IPSetDescriptor objects in an IPSet. For each IPSetDescriptor object, you specify the following values:

AWS WAF supports /8, /16, /24, and /32 IP address ranges. For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

You use an IPSet to specify which web requests you want to allow or block based on the IP addresses that the requests originated from. For example, if you're receiving a lot of requests from one or a small number of IP addresses and you want to block the requests, you can create an IPSet that specifies those IP addresses, and then configure AWS WAF to block the requests.

To create and configure an IPSet, perform the following steps:

  1. Submit a CreateIPSet request.
  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.
  3. Submit an UpdateIPSet request to specify the IP addresses that you want AWS WAF to watch for.

When you update an IPSet, you specify the IP addresses that you want to add and/or the IP addresses that you want to delete. If you want to change an IP address, you delete the existing IP address and add the new one.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

", - "UpdateRule": "

Inserts or deletes Predicate objects in a Rule. Each Predicate object identifies a predicate, such as a ByteMatchSet or an IPSet, that specifies the web requests that you want to allow, block, or count. If you add more than one predicate to a Rule, a request must match all of the specifications to be allowed, blocked, or counted. For example, suppose you add the following to a Rule:

You then add the Rule to a WebACL and specify that you want to block requests that satisfy the Rule. For a request to be blocked, the User-Agent header in the request must contain the value BadBot and the request must originate from the IP address 192.0.2.44.

To create and configure a Rule, perform the following steps:

  1. Create and update the predicates that you want to include in the Rule.
  2. Create the Rule. See CreateRule.
  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request.
  4. Submit an UpdateRule request to add predicates to the Rule.
  5. Create and update a WebACL that contains the Rule. See CreateWebACL.

If you want to replace one ByteMatchSet or IPSet with another, you delete the existing one and add the new one.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

", - "UpdateSizeConstraintSet": "

Inserts or deletes SizeConstraint objects (filters) in a SizeConstraintSet. For each SizeConstraint object, you specify the following values:

For example, you can add a SizeConstraintSetUpdate object that matches web requests in which the length of the User-Agent header is greater than 100 bytes. You can then configure AWS WAF to block those requests.

To create and configure a SizeConstraintSet, perform the following steps:

  1. Create a SizeConstraintSet. For more information, see CreateSizeConstraintSet.
  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSizeConstraintSet request.
  3. Submit an UpdateSizeConstraintSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

", - "UpdateSqlInjectionMatchSet": "

Inserts or deletes SqlInjectionMatchTuple objects (filters) in a SqlInjectionMatchSet. For each SqlInjectionMatchTuple object, you specify the following values:

You use SqlInjectionMatchSet objects to specify which CloudFront requests you want to allow, block, or count. For example, if you're receiving requests that contain snippets of SQL code in the query string and you want to block the requests, you can create a SqlInjectionMatchSet with the applicable settings, and then configure AWS WAF to block the requests.

To create and configure a SqlInjectionMatchSet, perform the following steps:

  1. Submit a CreateSqlInjectionMatchSet request.
  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.
  3. Submit an UpdateSqlInjectionMatchSet request to specify the parts of web requests that you want AWS WAF to inspect for snippets of SQL code.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

", - "UpdateWebACL": "

Inserts or deletes ActivatedRule objects in a WebACL. Each Rule identifies web requests that you want to allow, block, or count. When you update a WebACL, you specify the following values:

To create and configure a WebACL, perform the following steps:

  1. Create and update the predicates that you want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.
  2. Create and update the Rules that you want to include in the WebACL. For more information, see CreateRule and UpdateRule.
  3. Create a WebACL. See CreateWebACL.
  4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateWebACL request.
  5. Submit an UpdateWebACL request to specify the Rules that you want to include in the WebACL, to specify the default action, and to associate the WebACL with a CloudFront distribution.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

", - "UpdateXssMatchSet": "

Inserts or deletes XssMatchTuple objects (filters) in an XssMatchSet. For each XssMatchTuple object, you specify the following values:

You use XssMatchSet objects to specify which CloudFront requests you want to allow, block, or count. For example, if you're receiving requests that contain cross-site scripting attacks in the request body and you want to block the requests, you can create an XssMatchSet with the applicable settings, and then configure AWS WAF to block the requests.

To create and configure an XssMatchSet, perform the following steps:

  1. Submit a CreateXssMatchSet request.
  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.
  3. Submit an UpdateXssMatchSet request to specify the parts of web requests that you want AWS WAF to inspect for cross-site scripting attacks.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" + "UpdateByteMatchSet": "

Inserts or deletes ByteMatchTuple objects (filters) in a ByteMatchSet. For each ByteMatchTuple object, you specify the following values:

For example, you can add a ByteMatchSetUpdate object that matches web requests in which User-Agent headers contain the string BadBot. You can then configure AWS WAF to block those requests.

To create and configure a ByteMatchSet, perform the following steps:

  1. Create a ByteMatchSet. For more information, see CreateByteMatchSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateByteMatchSet request.

  3. Submit an UpdateByteMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

", + "UpdateIPSet": "

Inserts or deletes IPSetDescriptor objects in an IPSet. For each IPSetDescriptor object, you specify the following values:

AWS WAF supports /8, /16, /24, and /32 IP address ranges for IPv4, and /24, /32, /48, /56, /64 and /128 for IPv6. For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

IPv6 addresses can be represented using any of the following formats:

You use an IPSet to specify which web requests you want to allow or block based on the IP addresses that the requests originated from. For example, if you're receiving a lot of requests from one or a small number of IP addresses and you want to block the requests, you can create an IPSet that specifies those IP addresses, and then configure AWS WAF to block the requests.

To create and configure an IPSet, perform the following steps:

  1. Submit a CreateIPSet request.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  3. Submit an UpdateIPSet request to specify the IP addresses that you want AWS WAF to watch for.

When you update an IPSet, you specify the IP addresses that you want to add and/or the IP addresses that you want to delete. If you want to change an IP address, you delete the existing IP address and add the new one.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

", + "UpdateRule": "

Inserts or deletes Predicate objects in a Rule. Each Predicate object identifies a predicate, such as a ByteMatchSet or an IPSet, that specifies the web requests that you want to allow, block, or count. If you add more than one predicate to a Rule, a request must match all of the specifications to be allowed, blocked, or counted. For example, suppose you add the following to a Rule:

You then add the Rule to a WebACL and specify that you want to block requests that satisfy the Rule. For a request to be blocked, the User-Agent header in the request must contain the value BadBot and the request must originate from the IP address 192.0.2.44.

To create and configure a Rule, perform the following steps:

  1. Create and update the predicates that you want to include in the Rule.

  2. Create the Rule. See CreateRule.

  3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request.

  4. Submit an UpdateRule request to add predicates to the Rule.

  5. Create and update a WebACL that contains the Rule. See CreateWebACL.

If you want to replace one ByteMatchSet or IPSet with another, you delete the existing one and add the new one.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

", + "UpdateSizeConstraintSet": "

Inserts or deletes SizeConstraint objects (filters) in a SizeConstraintSet. For each SizeConstraint object, you specify the following values:

For example, you can add a SizeConstraintSetUpdate object that matches web requests in which the length of the User-Agent header is greater than 100 bytes. You can then configure AWS WAF to block those requests.

To create and configure a SizeConstraintSet, perform the following steps:

  1. Create a SizeConstraintSet. For more information, see CreateSizeConstraintSet.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSizeConstraintSet request.

  3. Submit an UpdateSizeConstraintSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

", + "UpdateSqlInjectionMatchSet": "

Inserts or deletes SqlInjectionMatchTuple objects (filters) in a SqlInjectionMatchSet. For each SqlInjectionMatchTuple object, you specify the following values:

You use SqlInjectionMatchSet objects to specify which CloudFront requests you want to allow, block, or count. For example, if you're receiving requests that contain snippets of SQL code in the query string and you want to block the requests, you can create a SqlInjectionMatchSet with the applicable settings, and then configure AWS WAF to block the requests.

To create and configure a SqlInjectionMatchSet, perform the following steps:

  1. Submit a CreateSqlInjectionMatchSet request.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  3. Submit an UpdateSqlInjectionMatchSet request to specify the parts of web requests that you want AWS WAF to inspect for snippets of SQL code.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

", + "UpdateWebACL": "

Inserts or deletes ActivatedRule objects in a WebACL. Each Rule identifies web requests that you want to allow, block, or count. When you update a WebACL, you specify the following values:

To create and configure a WebACL, perform the following steps:

  1. Create and update the predicates that you want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.

  2. Create and update the Rules that you want to include in the WebACL. For more information, see CreateRule and UpdateRule.

  3. Create a WebACL. See CreateWebACL.

  4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateWebACL request.

  5. Submit an UpdateWebACL request to specify the Rules that you want to include in the WebACL, to specify the default action, and to associate the WebACL with a CloudFront distribution.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

", + "UpdateXssMatchSet": "

Inserts or deletes XssMatchTuple objects (filters) in an XssMatchSet. For each XssMatchTuple object, you specify the following values:

You use XssMatchSet objects to specify which CloudFront requests you want to allow, block, or count. For example, if you're receiving requests that contain cross-site scripting attacks in the request body and you want to block the requests, you can create an XssMatchSet with the applicable settings, and then configure AWS WAF to block the requests.

To create and configure an XssMatchSet, perform the following steps:

  1. Submit a CreateXssMatchSet request.

  2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

  3. Submit an UpdateXssMatchSet request to specify the parts of web requests that you want AWS WAF to inspect for cross-site scripting attacks.

For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

" }, "shapes": { "Action": { @@ -65,7 +65,7 @@ "base": "

In a GetByteMatchSet request, ByteMatchSet is a complex type that contains the ByteMatchSetId and Name of a ByteMatchSet, and the values that you specified when you updated the ByteMatchSet.

A complex type that contains ByteMatchTuple objects, which specify the parts of web requests that you want AWS WAF to inspect and the values that you want AWS WAF to search for. If a ByteMatchSet contains more than one ByteMatchTuple object, a request needs to match the settings in only one ByteMatchTuple to be considered a match.

", "refs": { "CreateByteMatchSetResponse$ByteMatchSet": "

A ByteMatchSet that contains no ByteMatchTuple objects.

", - "GetByteMatchSetResponse$ByteMatchSet": "

Information about the ByteMatchSet that you specified in the GetByteMatchSet request. For more information, see the following topics:

" + "GetByteMatchSetResponse$ByteMatchSet": "

Information about the ByteMatchSet that you specified in the GetByteMatchSet request. For more information, see the following topics:

" } }, "ByteMatchSetSummaries": { @@ -89,13 +89,13 @@ "ByteMatchSetUpdates": { "base": null, "refs": { - "UpdateByteMatchSetRequest$Updates": "

An array of ByteMatchSetUpdate objects that you want to insert into or delete from a ByteMatchSet. For more information, see the applicable data types:

" + "UpdateByteMatchSetRequest$Updates": "

An array of ByteMatchSetUpdate objects that you want to insert into or delete from a ByteMatchSet. For more information, see the applicable data types:

" } }, "ByteMatchTargetString": { "base": null, "refs": { - "ByteMatchTuple$TargetString": "

The value that you want AWS WAF to search for. AWS WAF searches for the specified string in the part of web requests that you specified in FieldToMatch. The maximum length of the value is 50 bytes.

Valid values depend on the values that you specified for FieldToMatch:

If TargetString includes alphabetic characters A-Z and a-z, note that the value is case sensitive.

If you're using the AWS WAF API

Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 50 bytes.

For example, suppose the value of Type is HEADER and the value of Data is User-Agent. If you want to search the User-Agent header for the value BadBot, you base64-encode BadBot using MIME base64 encoding and include the resulting value, QmFkQm90, in the value of TargetString.

If you're using the AWS CLI or one of the AWS SDKs

The value that you want AWS WAF to search for. The SDK automatically base64 encodes the value.

" + "ByteMatchTuple$TargetString": "

The value that you want AWS WAF to search for. AWS WAF searches for the specified string in the part of web requests that you specified in FieldToMatch. The maximum length of the value is 50 bytes.

Valid values depend on the values that you specified for FieldToMatch:

If TargetString includes alphabetic characters A-Z and a-z, note that the value is case sensitive.

If you're using the AWS WAF API

Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 50 bytes.

For example, suppose the value of Type is HEADER and the value of Data is User-Agent. If you want to search the User-Agent header for the value BadBot, you base64-encode BadBot using MIME base64 encoding and include the resulting value, QmFkQm90, in the value of TargetString.

If you're using the AWS CLI or one of the AWS SDKs

The value that you want AWS WAF to search for. The SDK automatically base64 encodes the value.

" } }, "ByteMatchTuple": { @@ -181,7 +181,7 @@ "ComparisonOperator": { "base": null, "refs": { - "SizeConstraint$ComparisonOperator": "

The type of comparison you want AWS WAF to perform. AWS WAF uses this in combination with the provided Size and FieldToMatch to build an expression in the form of \"Size ComparisonOperator size in bytes of FieldToMatch\". If that expression is true, the SizeConstraint is considered to match.

EQ: Used to test if the Size is equal to the size of the FieldToMatch

NE: Used to test if the Size is not equal to the size of the FieldToMatch

LE: Used to test if the Size is less than or equal to the size of the FieldToMatch

LT: Used to test if the Size is strictly less than the size of the FieldToMatch

GE: Used to test if the Size is greater than or equal to the size of the FieldToMatch

GT: Used to test if the Size is strictly greater than the size of the FieldToMatch

" + "SizeConstraint$ComparisonOperator": "

The type of comparison you want AWS WAF to perform. AWS WAF uses this in combination with the provided Size and FieldToMatch to build an expression in the form of \"Size ComparisonOperator size in bytes of FieldToMatch\". If that expression is true, the SizeConstraint is considered to match.

EQ: Used to test if the Size is equal to the size of the FieldToMatch

NE: Used to test if the Size is not equal to the size of the FieldToMatch

LE: Used to test if the Size is less than or equal to the size of the FieldToMatch

LT: Used to test if the Size is strictly less than the size of the FieldToMatch

GE: Used to test if the Size is greater than or equal to the size of the FieldToMatch

GT: Used to test if the Size is strictly greater than the size of the FieldToMatch

" } }, "Country": { @@ -482,35 +482,35 @@ } }, "IPSet": { - "base": "

Contains one or more IP addresses or blocks of IP addresses specified in Classless Inter-Domain Routing (CIDR) notation. To specify an individual IP address, you specify the four-part IP address followed by a /32, for example, 192.0.2.0/31. To block a range of IP addresses, you can specify a /24, a /16, or a /8 CIDR. For more information about CIDR notation, perform an Internet search on cidr notation.

", + "base": "

Contains one or more IP addresses or blocks of IP addresses specified in Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports /8, /16, /24, and /32 IP address ranges for IPv4, and /24, /32, /48, /56, /64 and /128 for IPv6.

To specify an individual IP address, you specify the four-part IP address followed by a /32, for example, 192.0.2.0/31. To block a range of IP addresses, you can specify a /128, /64, /56, /48, /32, /24, /16, or /8 CIDR. For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

", "refs": { "CreateIPSetResponse$IPSet": "

The IPSet returned in the CreateIPSet response.

", - "GetIPSetResponse$IPSet": "

Information about the IPSet that you specified in the GetIPSet request. For more information, see the following topics:

" + "GetIPSetResponse$IPSet": "

Information about the IPSet that you specified in the GetIPSet request. For more information, see the following topics:

" } }, "IPSetDescriptor": { - "base": "

Specifies the IP address type (IPV4) and the IP address range (in CIDR format) that web requests originate from.

", + "base": "

Specifies the IP address type (IPV4 or IPV6) and the IP address range (in CIDR format) that web requests originate from.

", "refs": { "IPSetDescriptors$member": null, - "IPSetUpdate$IPSetDescriptor": "

The IP address type (IPV4) and the IP address range (in CIDR notation) that web requests originate from.

" + "IPSetUpdate$IPSetDescriptor": "

The IP address type (IPV4 or IPV6) and the IP address range (in CIDR notation) that web requests originate from.

" } }, "IPSetDescriptorType": { "base": null, "refs": { - "IPSetDescriptor$Type": "

Specify IPV4.

" + "IPSetDescriptor$Type": "

Specify IPV4 or IPV6.

" } }, "IPSetDescriptorValue": { "base": null, "refs": { - "IPSetDescriptor$Value": "

Specify an IPv4 address by using CIDR notation. For example:

AWS WAF supports only /8, /16, /24, and /32 IP addresses.

For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

" + "IPSetDescriptor$Value": "

Specify an IPv4 address by using CIDR notation. For example:

For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

Specify an IPv6 address by using CIDR notation. For example:

" } }, "IPSetDescriptors": { "base": null, "refs": { - "IPSet$IPSetDescriptors": "

The IP address type (IPV4) and the IP address range (in CIDR notation) that web requests originate from. If the WebACL is associated with a CloudFront distribution, this is the value of one of the following fields in CloudFront access logs:

" + "IPSet$IPSetDescriptors": "

The IP address type (IPV4 or IPV6) and the IP address range (in CIDR notation) that web requests originate from. If the WebACL is associated with a CloudFront distribution, this is the value of one of the following fields in CloudFront access logs:

" } }, "IPSetSummaries": { @@ -534,13 +534,13 @@ "IPSetUpdates": { "base": null, "refs": { - "UpdateIPSetRequest$Updates": "

An array of IPSetUpdate objects that you want to insert into or delete from an IPSet. For more information, see the applicable data types:

" + "UpdateIPSetRequest$Updates": "

An array of IPSetUpdate objects that you want to insert into or delete from an IPSet. For more information, see the applicable data types:

" } }, "IPString": { "base": null, "refs": { - "HTTPRequest$ClientIP": "

The IP address that the request originated from. If the WebACL is associated with a CloudFront distribution, this is the value of one of the following fields in CloudFront access logs:

" + "HTTPRequest$ClientIP": "

The IP address that the request originated from. If the WebACL is associated with a CloudFront distribution, this is the value of one of the following fields in CloudFront access logs:

" } }, "ListByteMatchSetsRequest": { @@ -628,7 +628,7 @@ "MatchFieldType": { "base": null, "refs": { - "FieldToMatch$Type": "

The part of the web request that you want AWS WAF to search for a specified string. Parts of a request that you can search include the following:

" + "FieldToMatch$Type": "

The part of the web request that you want AWS WAF to search for a specified string. Parts of a request that you can search include the following:

" } }, "MetricName": { @@ -704,7 +704,7 @@ "PositionalConstraint": { "base": null, "refs": { - "ByteMatchTuple$PositionalConstraint": "

Within the portion of a web request that you want to search (for example, in the query string, if any), specify where you want AWS WAF to search. Valid values include the following:

CONTAINS

The specified part of the web request must include the value of TargetString, but the location doesn't matter.

CONTAINS_WORD

The specified part of the web request must include the value of TargetString, and TargetString must contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In addition, TargetString must be a word, which means one of the following:

EXACTLY

The value of the specified part of the web request must exactly match the value of TargetString.

STARTS_WITH

The value of TargetString must appear at the beginning of the specified part of the web request.

ENDS_WITH

The value of TargetString must appear at the end of the specified part of the web request.

" + "ByteMatchTuple$PositionalConstraint": "

Within the portion of a web request that you want to search (for example, in the query string, if any), specify where you want AWS WAF to search. Valid values include the following:

CONTAINS

The specified part of the web request must include the value of TargetString, but the location doesn't matter.

CONTAINS_WORD

The specified part of the web request must include the value of TargetString, and TargetString must contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In addition, TargetString must be a word, which means one of the following:

EXACTLY

The value of the specified part of the web request must exactly match the value of TargetString.

STARTS_WITH

The value of TargetString must appear at the beginning of the specified part of the web request.

ENDS_WITH

The value of TargetString must appear at the end of the specified part of the web request.

" } }, "Predicate": { @@ -729,9 +729,9 @@ "ResourceId": { "base": null, "refs": { - "ActivatedRule$RuleId": "

The RuleId for a Rule. You use RuleId to get more information about a Rule (see GetRule), update a Rule (see UpdateRule), insert a Rule into a WebACL or delete a one from a WebACL (see UpdateWebACL), or delete a Rule from AWS WAF (see DeleteRule).

RuleId is returned by CreateRule and by ListRules.

", - "ByteMatchSet$ByteMatchSetId": "

The ByteMatchSetId for a ByteMatchSet. You use ByteMatchSetId to get information about a ByteMatchSet (see GetByteMatchSet), update a ByteMatchSet (see UpdateByteMatchSet), insert a ByteMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete a ByteMatchSet from AWS WAF (see DeleteByteMatchSet).

ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.

", - "ByteMatchSetSummary$ByteMatchSetId": "

The ByteMatchSetId for a ByteMatchSet. You use ByteMatchSetId to get information about a ByteMatchSet, update a ByteMatchSet, remove a ByteMatchSet from a Rule, and delete a ByteMatchSet from AWS WAF.

ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.

", + "ActivatedRule$RuleId": "

The RuleId for a Rule. You use RuleId to get more information about a Rule (see GetRule), update a Rule (see UpdateRule), insert a Rule into a WebACL or delete a one from a WebACL (see UpdateWebACL), or delete a Rule from AWS WAF (see DeleteRule).

RuleId is returned by CreateRule and by ListRules.

", + "ByteMatchSet$ByteMatchSetId": "

The ByteMatchSetId for a ByteMatchSet. You use ByteMatchSetId to get information about a ByteMatchSet (see GetByteMatchSet), update a ByteMatchSet (see UpdateByteMatchSet), insert a ByteMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete a ByteMatchSet from AWS WAF (see DeleteByteMatchSet).

ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.

", + "ByteMatchSetSummary$ByteMatchSetId": "

The ByteMatchSetId for a ByteMatchSet. You use ByteMatchSetId to get information about a ByteMatchSet, update a ByteMatchSet, remove a ByteMatchSet from a Rule, and delete a ByteMatchSet from AWS WAF.

ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.

", "DeleteByteMatchSetRequest$ByteMatchSetId": "

The ByteMatchSetId of the ByteMatchSet that you want to delete. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.

", "DeleteIPSetRequest$IPSetId": "

The IPSetId of the IPSet that you want to delete. IPSetId is returned by CreateIPSet and by ListIPSets.

", "DeleteRuleRequest$RuleId": "

The RuleId of the Rule that you want to delete. RuleId is returned by CreateRule and by ListRules.

", @@ -743,20 +743,20 @@ "GetIPSetRequest$IPSetId": "

The IPSetId of the IPSet that you want to get. IPSetId is returned by CreateIPSet and by ListIPSets.

", "GetRuleRequest$RuleId": "

The RuleId of the Rule that you want to get. RuleId is returned by CreateRule and by ListRules.

", "GetSampledRequestsRequest$WebAclId": "

The WebACLId of the WebACL for which you want GetSampledRequests to return a sample of requests.

", - "GetSampledRequestsRequest$RuleId": "

RuleId is one of two values:

", + "GetSampledRequestsRequest$RuleId": "

RuleId is one of two values:

", "GetSizeConstraintSetRequest$SizeConstraintSetId": "

The SizeConstraintSetId of the SizeConstraintSet that you want to get. SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

", "GetSqlInjectionMatchSetRequest$SqlInjectionMatchSetId": "

The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to get. SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.

", "GetWebACLRequest$WebACLId": "

The WebACLId of the WebACL that you want to get. WebACLId is returned by CreateWebACL and by ListWebACLs.

", "GetXssMatchSetRequest$XssMatchSetId": "

The XssMatchSetId of the XssMatchSet that you want to get. XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets.

", - "IPSet$IPSetId": "

The IPSetId for an IPSet. You use IPSetId to get information about an IPSet (see GetIPSet), update an IPSet (see UpdateIPSet), insert an IPSet into a Rule or delete one from a Rule (see UpdateRule), and delete an IPSet from AWS WAF (see DeleteIPSet).

IPSetId is returned by CreateIPSet and by ListIPSets.

", + "IPSet$IPSetId": "

The IPSetId for an IPSet. You use IPSetId to get information about an IPSet (see GetIPSet), update an IPSet (see UpdateIPSet), insert an IPSet into a Rule or delete one from a Rule (see UpdateRule), and delete an IPSet from AWS WAF (see DeleteIPSet).

IPSetId is returned by CreateIPSet and by ListIPSets.

", "IPSetSummary$IPSetId": "

The IPSetId for an IPSet. You can use IPSetId in a GetIPSet request to get detailed information about an IPSet.

", "Predicate$DataId": "

A unique identifier for a predicate in a Rule, such as ByteMatchSetId or IPSetId. The ID is returned by the corresponding Create or List command.

", - "Rule$RuleId": "

A unique identifier for a Rule. You use RuleId to get more information about a Rule (see GetRule), update a Rule (see UpdateRule), insert a Rule into a WebACL or delete a one from a WebACL (see UpdateWebACL), or delete a Rule from AWS WAF (see DeleteRule).

RuleId is returned by CreateRule and by ListRules.

", - "RuleSummary$RuleId": "

A unique identifier for a Rule. You use RuleId to get more information about a Rule (see GetRule), update a Rule (see UpdateRule), insert a Rule into a WebACL or delete one from a WebACL (see UpdateWebACL), or delete a Rule from AWS WAF (see DeleteRule).

RuleId is returned by CreateRule and by ListRules.

", - "SizeConstraintSet$SizeConstraintSetId": "

A unique identifier for a SizeConstraintSet. You use SizeConstraintSetId to get information about a SizeConstraintSet (see GetSizeConstraintSet), update a SizeConstraintSet (see UpdateSizeConstraintSet), insert a SizeConstraintSet into a Rule or delete one from a Rule (see UpdateRule), and delete a SizeConstraintSet from AWS WAF (see DeleteSizeConstraintSet).

SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

", - "SizeConstraintSetSummary$SizeConstraintSetId": "

A unique identifier for a SizeConstraintSet. You use SizeConstraintSetId to get information about a SizeConstraintSet (see GetSizeConstraintSet), update a SizeConstraintSet (see UpdateSizeConstraintSet), insert a SizeConstraintSet into a Rule or delete one from a Rule (see UpdateRule), and delete a SizeConstraintSet from AWS WAF (see DeleteSizeConstraintSet).

SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

", - "SqlInjectionMatchSet$SqlInjectionMatchSetId": "

A unique identifier for a SqlInjectionMatchSet. You use SqlInjectionMatchSetId to get information about a SqlInjectionMatchSet (see GetSqlInjectionMatchSet), update a SqlInjectionMatchSet (see UpdateSqlInjectionMatchSet), insert a SqlInjectionMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete a SqlInjectionMatchSet from AWS WAF (see DeleteSqlInjectionMatchSet).

SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.

", - "SqlInjectionMatchSetSummary$SqlInjectionMatchSetId": "

A unique identifier for a SqlInjectionMatchSet. You use SqlInjectionMatchSetId to get information about a SqlInjectionMatchSet (see GetSqlInjectionMatchSet), update a SqlInjectionMatchSet (see UpdateSqlInjectionMatchSet), insert a SqlInjectionMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete a SqlInjectionMatchSet from AWS WAF (see DeleteSqlInjectionMatchSet).

SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.

", + "Rule$RuleId": "

A unique identifier for a Rule. You use RuleId to get more information about a Rule (see GetRule), update a Rule (see UpdateRule), insert a Rule into a WebACL or delete a one from a WebACL (see UpdateWebACL), or delete a Rule from AWS WAF (see DeleteRule).

RuleId is returned by CreateRule and by ListRules.

", + "RuleSummary$RuleId": "

A unique identifier for a Rule. You use RuleId to get more information about a Rule (see GetRule), update a Rule (see UpdateRule), insert a Rule into a WebACL or delete one from a WebACL (see UpdateWebACL), or delete a Rule from AWS WAF (see DeleteRule).

RuleId is returned by CreateRule and by ListRules.

", + "SizeConstraintSet$SizeConstraintSetId": "

A unique identifier for a SizeConstraintSet. You use SizeConstraintSetId to get information about a SizeConstraintSet (see GetSizeConstraintSet), update a SizeConstraintSet (see UpdateSizeConstraintSet), insert a SizeConstraintSet into a Rule or delete one from a Rule (see UpdateRule), and delete a SizeConstraintSet from AWS WAF (see DeleteSizeConstraintSet).

SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

", + "SizeConstraintSetSummary$SizeConstraintSetId": "

A unique identifier for a SizeConstraintSet. You use SizeConstraintSetId to get information about a SizeConstraintSet (see GetSizeConstraintSet), update a SizeConstraintSet (see UpdateSizeConstraintSet), insert a SizeConstraintSet into a Rule or delete one from a Rule (see UpdateRule), and delete a SizeConstraintSet from AWS WAF (see DeleteSizeConstraintSet).

SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

", + "SqlInjectionMatchSet$SqlInjectionMatchSetId": "

A unique identifier for a SqlInjectionMatchSet. You use SqlInjectionMatchSetId to get information about a SqlInjectionMatchSet (see GetSqlInjectionMatchSet), update a SqlInjectionMatchSet (see UpdateSqlInjectionMatchSet), insert a SqlInjectionMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete a SqlInjectionMatchSet from AWS WAF (see DeleteSqlInjectionMatchSet).

SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.

", + "SqlInjectionMatchSetSummary$SqlInjectionMatchSetId": "

A unique identifier for a SqlInjectionMatchSet. You use SqlInjectionMatchSetId to get information about a SqlInjectionMatchSet (see GetSqlInjectionMatchSet), update a SqlInjectionMatchSet (see UpdateSqlInjectionMatchSet), insert a SqlInjectionMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete a SqlInjectionMatchSet from AWS WAF (see DeleteSqlInjectionMatchSet).

SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.

", "UpdateByteMatchSetRequest$ByteMatchSetId": "

The ByteMatchSetId of the ByteMatchSet that you want to update. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.

", "UpdateIPSetRequest$IPSetId": "

The IPSetId of the IPSet that you want to update. IPSetId is returned by CreateIPSet and by ListIPSets.

", "UpdateRuleRequest$RuleId": "

The RuleId of the Rule that you want to update. RuleId is returned by CreateRule and by ListRules.

", @@ -764,10 +764,10 @@ "UpdateSqlInjectionMatchSetRequest$SqlInjectionMatchSetId": "

The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to update. SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.

", "UpdateWebACLRequest$WebACLId": "

The WebACLId of the WebACL that you want to update. WebACLId is returned by CreateWebACL and by ListWebACLs.

", "UpdateXssMatchSetRequest$XssMatchSetId": "

The XssMatchSetId of the XssMatchSet that you want to update. XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets.

", - "WebACL$WebACLId": "

A unique identifier for a WebACL. You use WebACLId to get information about a WebACL (see GetWebACL), update a WebACL (see UpdateWebACL), and delete a WebACL from AWS WAF (see DeleteWebACL).

WebACLId is returned by CreateWebACL and by ListWebACLs.

", - "WebACLSummary$WebACLId": "

A unique identifier for a WebACL. You use WebACLId to get information about a WebACL (see GetWebACL), update a WebACL (see UpdateWebACL), and delete a WebACL from AWS WAF (see DeleteWebACL).

WebACLId is returned by CreateWebACL and by ListWebACLs.

", - "XssMatchSet$XssMatchSetId": "

A unique identifier for an XssMatchSet. You use XssMatchSetId to get information about an XssMatchSet (see GetXssMatchSet), update an XssMatchSet (see UpdateXssMatchSet), insert an XssMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete an XssMatchSet from AWS WAF (see DeleteXssMatchSet).

XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets.

", - "XssMatchSetSummary$XssMatchSetId": "

A unique identifier for an XssMatchSet. You use XssMatchSetId to get information about a XssMatchSet (see GetXssMatchSet), update an XssMatchSet (see UpdateXssMatchSet), insert an XssMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete an XssMatchSet from AWS WAF (see DeleteXssMatchSet).

XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets.

" + "WebACL$WebACLId": "

A unique identifier for a WebACL. You use WebACLId to get information about a WebACL (see GetWebACL), update a WebACL (see UpdateWebACL), and delete a WebACL from AWS WAF (see DeleteWebACL).

WebACLId is returned by CreateWebACL and by ListWebACLs.

", + "WebACLSummary$WebACLId": "

A unique identifier for a WebACL. You use WebACLId to get information about a WebACL (see GetWebACL), update a WebACL (see UpdateWebACL), and delete a WebACL from AWS WAF (see DeleteWebACL).

WebACLId is returned by CreateWebACL and by ListWebACLs.

", + "XssMatchSet$XssMatchSetId": "

A unique identifier for an XssMatchSet. You use XssMatchSetId to get information about an XssMatchSet (see GetXssMatchSet), update an XssMatchSet (see UpdateXssMatchSet), insert an XssMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete an XssMatchSet from AWS WAF (see DeleteXssMatchSet).

XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets.

", + "XssMatchSetSummary$XssMatchSetId": "

A unique identifier for an XssMatchSet. You use XssMatchSetId to get information about a XssMatchSet (see GetXssMatchSet), update an XssMatchSet (see UpdateXssMatchSet), insert an XssMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete an XssMatchSet from AWS WAF (see DeleteXssMatchSet).

XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets.

" } }, "ResourceName": { @@ -797,10 +797,10 @@ } }, "Rule": { - "base": "

A combination of ByteMatchSet, IPSet, and/or SqlInjectionMatchSet objects that identify the web requests that you want to allow, block, or count. For example, you might create a Rule that includes the following predicates:

To match the settings in this Rule, a request must originate from 192.0.2.44 AND include a User-Agent header for which the value is BadBot.

", + "base": "

A combination of ByteMatchSet, IPSet, and/or SqlInjectionMatchSet objects that identify the web requests that you want to allow, block, or count. For example, you might create a Rule that includes the following predicates:

To match the settings in this Rule, a request must originate from 192.0.2.44 AND include a User-Agent header for which the value is BadBot.

", "refs": { "CreateRuleResponse$Rule": "

The Rule returned in the CreateRule response.

", - "GetRuleResponse$Rule": "

Information about the Rule that you specified in the GetRule request. For more information, see the following topics:

" + "GetRuleResponse$Rule": "

Information about the Rule that you specified in the GetRule request. For more information, see the following topics:

" } }, "RulePriority": { @@ -830,7 +830,7 @@ "RuleUpdates": { "base": null, "refs": { - "UpdateRuleRequest$Updates": "

An array of RuleUpdate objects that you want to insert into or delete from a Rule. For more information, see the applicable data types:

" + "UpdateRuleRequest$Updates": "

An array of RuleUpdate objects that you want to insert into or delete from a Rule. For more information, see the applicable data types:

" } }, "SampleWeight": { @@ -854,7 +854,7 @@ "Size": { "base": null, "refs": { - "SizeConstraint$Size": "

The size in bytes that you want AWS WAF to compare against the size of the specified FieldToMatch. AWS WAF uses this in combination with ComparisonOperator and FieldToMatch to build an expression in the form of \"Size ComparisonOperator size in bytes of FieldToMatch\". If that expression is true, the SizeConstraint is considered to match.

Valid values for size are 0 - 21474836480 bytes (0 - 20 GB).

If you specify URI for the value of Type, the / in the URI counts as one character. For example, the URI /logo.jpg is nine characters long.

" + "SizeConstraint$Size": "

The size in bytes that you want AWS WAF to compare against the size of the specified FieldToMatch. AWS WAF uses this in combination with ComparisonOperator and FieldToMatch to build an expression in the form of \"Size ComparisonOperator size in bytes of FieldToMatch\". If that expression is true, the SizeConstraint is considered to match.

Valid values for size are 0 - 21474836480 bytes (0 - 20 GB).

If you specify URI for the value of Type, the / in the URI counts as one character. For example, the URI /logo.jpg is nine characters long.

" } }, "SizeConstraint": { @@ -868,7 +868,7 @@ "base": "

A complex type that contains SizeConstraint objects, which specify the parts of web requests that you want AWS WAF to inspect the size of. If a SizeConstraintSet contains more than one SizeConstraint object, a request only needs to match one constraint to be considered a match.

", "refs": { "CreateSizeConstraintSetResponse$SizeConstraintSet": "

A SizeConstraintSet that contains no SizeConstraint objects.

", - "GetSizeConstraintSetResponse$SizeConstraintSet": "

Information about the SizeConstraintSet that you specified in the GetSizeConstraintSet request. For more information, see the following topics:

" + "GetSizeConstraintSetResponse$SizeConstraintSet": "

Information about the SizeConstraintSet that you specified in the GetSizeConstraintSet request. For more information, see the following topics:

" } }, "SizeConstraintSetSummaries": { @@ -892,7 +892,7 @@ "SizeConstraintSetUpdates": { "base": null, "refs": { - "UpdateSizeConstraintSetRequest$Updates": "

An array of SizeConstraintSetUpdate objects that you want to insert into or delete from a SizeConstraintSet. For more information, see the applicable data types:

" + "UpdateSizeConstraintSetRequest$Updates": "

An array of SizeConstraintSetUpdate objects that you want to insert into or delete from a SizeConstraintSet. For more information, see the applicable data types:

" } }, "SizeConstraints": { @@ -905,7 +905,7 @@ "base": "

A complex type that contains SqlInjectionMatchTuple objects, which specify the parts of web requests that you want AWS WAF to inspect for snippets of malicious SQL code and, if you want AWS WAF to inspect a header, the name of the header. If a SqlInjectionMatchSet contains more than one SqlInjectionMatchTuple object, a request needs to include snippets of SQL code in only one of the specified parts of the request to be considered a match.

", "refs": { "CreateSqlInjectionMatchSetResponse$SqlInjectionMatchSet": "

A SqlInjectionMatchSet.

", - "GetSqlInjectionMatchSetResponse$SqlInjectionMatchSet": "

Information about the SqlInjectionMatchSet that you specified in the GetSqlInjectionMatchSet request. For more information, see the following topics:

" + "GetSqlInjectionMatchSetResponse$SqlInjectionMatchSet": "

Information about the SqlInjectionMatchSet that you specified in the GetSqlInjectionMatchSet request. For more information, see the following topics:

" } }, "SqlInjectionMatchSetSummaries": { @@ -929,7 +929,7 @@ "SqlInjectionMatchSetUpdates": { "base": null, "refs": { - "UpdateSqlInjectionMatchSetRequest$Updates": "

An array of SqlInjectionMatchSetUpdate objects that you want to insert into or delete from a SqlInjectionMatchSet. For more information, see the applicable data types:

" + "UpdateSqlInjectionMatchSetRequest$Updates": "

An array of SqlInjectionMatchSetUpdate objects that you want to insert into or delete from a SqlInjectionMatchSet. For more information, see the applicable data types:

" } }, "SqlInjectionMatchTuple": { @@ -948,10 +948,10 @@ "TextTransformation": { "base": null, "refs": { - "ByteMatchTuple$TextTransformation": "

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on TargetString before inspecting a request for a match.

CMD_LINE

When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

COMPRESS_WHITE_SPACE

Use this option to replace the following characters with a space character (decimal 32):

COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

HTML_ENTITY_DECODE

Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

LOWERCASE

Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

URL_DECODE

Use this option to decode a URL-encoded value.

NONE

Specify NONE if you don't want to perform any text transformations.

", - "SizeConstraint$TextTransformation": "

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting a request for a match.

Note that if you choose BODY for the value of Type, you must choose NONE for TextTransformation because CloudFront forwards only the first 8192 bytes for inspection.

NONE

Specify NONE if you don't want to perform any text transformations.

CMD_LINE

When you're concerned that attackers are injecting an operating system command line command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

COMPRESS_WHITE_SPACE

Use this option to replace the following characters with a space character (decimal 32):

COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

HTML_ENTITY_DECODE

Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

LOWERCASE

Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

URL_DECODE

Use this option to decode a URL-encoded value.

", - "SqlInjectionMatchTuple$TextTransformation": "

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting a request for a match.

CMD_LINE

When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

COMPRESS_WHITE_SPACE

Use this option to replace the following characters with a space character (decimal 32):

COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

HTML_ENTITY_DECODE

Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

LOWERCASE

Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

URL_DECODE

Use this option to decode a URL-encoded value.

NONE

Specify NONE if you don't want to perform any text transformations.

", - "XssMatchTuple$TextTransformation": "

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting a request for a match.

CMD_LINE

When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

COMPRESS_WHITE_SPACE

Use this option to replace the following characters with a space character (decimal 32):

COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

HTML_ENTITY_DECODE

Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

LOWERCASE

Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

URL_DECODE

Use this option to decode a URL-encoded value.

NONE

Specify NONE if you don't want to perform any text transformations.

" + "ByteMatchTuple$TextTransformation": "

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on TargetString before inspecting a request for a match.

CMD_LINE

When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

COMPRESS_WHITE_SPACE

Use this option to replace the following characters with a space character (decimal 32):

COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

HTML_ENTITY_DECODE

Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

LOWERCASE

Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

URL_DECODE

Use this option to decode a URL-encoded value.

NONE

Specify NONE if you don't want to perform any text transformations.

", + "SizeConstraint$TextTransformation": "

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting a request for a match.

Note that if you choose BODY for the value of Type, you must choose NONE for TextTransformation because CloudFront forwards only the first 8192 bytes for inspection.

NONE

Specify NONE if you don't want to perform any text transformations.

CMD_LINE

When you're concerned that attackers are injecting an operating system command line command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

COMPRESS_WHITE_SPACE

Use this option to replace the following characters with a space character (decimal 32):

COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

HTML_ENTITY_DECODE

Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

LOWERCASE

Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

URL_DECODE

Use this option to decode a URL-encoded value.

", + "SqlInjectionMatchTuple$TextTransformation": "

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting a request for a match.

CMD_LINE

When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

COMPRESS_WHITE_SPACE

Use this option to replace the following characters with a space character (decimal 32):

COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

HTML_ENTITY_DECODE

Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

LOWERCASE

Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

URL_DECODE

Use this option to decode a URL-encoded value.

NONE

Specify NONE if you don't want to perform any text transformations.

", + "XssMatchTuple$TextTransformation": "

Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting a request for a match.

CMD_LINE

When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

COMPRESS_WHITE_SPACE

Use this option to replace the following characters with a space character (decimal 32):

COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

HTML_ENTITY_DECODE

Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

LOWERCASE

Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

URL_DECODE

Use this option to decode a URL-encoded value.

NONE

Specify NONE if you don't want to perform any text transformations.

" } }, "TimeWindow": { @@ -1061,12 +1061,12 @@ } }, "WAFInvalidOperationException": { - "base": "

The operation failed because there was nothing to do. For example:

", + "base": "

The operation failed because there was nothing to do. For example:

", "refs": { } }, "WAFInvalidParameterException": { - "base": "

The operation failed because AWS WAF didn't recognize a parameter in the request. For example:

", + "base": "

The operation failed because AWS WAF didn't recognize a parameter in the request. For example:

", "refs": { } }, @@ -1076,12 +1076,12 @@ } }, "WAFNonEmptyEntityException": { - "base": "

The operation failed because you tried to delete an object that isn't empty. For example:

", + "base": "

The operation failed because you tried to delete an object that isn't empty. For example:

", "refs": { } }, "WAFNonexistentContainerException": { - "base": "

The operation failed because you tried to add an object to or delete an object from another object that doesn't exist. For example:

", + "base": "

The operation failed because you tried to add an object to or delete an object from another object that doesn't exist. For example:

", "refs": { } }, @@ -1091,7 +1091,7 @@ } }, "WAFReferencedItemException": { - "base": "

The operation failed because you tried to delete an object that is still in use. For example:

", + "base": "

The operation failed because you tried to delete an object that is still in use. For example:

", "refs": { } }, @@ -1103,7 +1103,7 @@ "WafAction": { "base": "

For the action that is associated with a rule in a WebACL, specifies the action that you want AWS WAF to perform when a web request matches all of the conditions in a rule. For the default action in a WebACL, specifies the action that you want AWS WAF to take when a web request doesn't match all of the conditions in any of the rules in a WebACL.

", "refs": { - "ActivatedRule$Action": "

Specifies the action that CloudFront or AWS WAF takes when a web request matches the conditions in the Rule. Valid values for Action include the following:

", + "ActivatedRule$Action": "

Specifies the action that CloudFront or AWS WAF takes when a web request matches the conditions in the Rule. Valid values for Action include the following:

", "CreateWebACLRequest$DefaultAction": "

The action that you want AWS WAF to take when a request doesn't match the criteria specified in any of the Rule objects that are associated with the WebACL.

", "UpdateWebACLRequest$DefaultAction": null, "WebACL$DefaultAction": "

The action to perform if none of the Rules contained in the WebACL match. The action is specified by the WafAction object.

" @@ -1112,14 +1112,14 @@ "WafActionType": { "base": null, "refs": { - "WafAction$Type": "

Specifies how you want AWS WAF to respond to requests that match the settings in a Rule. Valid settings include the following:

" + "WafAction$Type": "

Specifies how you want AWS WAF to respond to requests that match the settings in a Rule. Valid settings include the following:

" } }, "WebACL": { "base": "

Contains the Rules that identify the requests that you want to allow, block, or count. In a WebACL, you also specify a default action (ALLOW or BLOCK), and the action for each Rule that you add to a WebACL, for example, block requests from specified IP addresses or block requests from specified referrers. You also associate the WebACL with a CloudFront distribution to identify the requests that you want AWS WAF to filter. If you add more than one Rule to a WebACL, a request needs to match only one of the specifications to be allowed, blocked, or counted. For more information, see UpdateWebACL.

", "refs": { "CreateWebACLResponse$WebACL": "

The WebACL returned in the CreateWebACL response.

", - "GetWebACLResponse$WebACL": "

Information about the WebACL that you specified in the GetWebACL request. For more information, see the following topics:

" + "GetWebACLResponse$WebACL": "

Information about the WebACL that you specified in the GetWebACL request. For more information, see the following topics:

" } }, "WebACLSummaries": { @@ -1143,14 +1143,14 @@ "WebACLUpdates": { "base": null, "refs": { - "UpdateWebACLRequest$Updates": "

An array of updates to make to the WebACL.

An array of WebACLUpdate objects that you want to insert into or delete from a WebACL. For more information, see the applicable data types:

" + "UpdateWebACLRequest$Updates": "

An array of updates to make to the WebACL.

An array of WebACLUpdate objects that you want to insert into or delete from a WebACL. For more information, see the applicable data types:

" } }, "XssMatchSet": { "base": "

A complex type that contains XssMatchTuple objects, which specify the parts of web requests that you want AWS WAF to inspect for cross-site scripting attacks and, if you want AWS WAF to inspect a header, the name of the header. If a XssMatchSet contains more than one XssMatchTuple object, a request needs to include cross-site scripting attacks in only one of the specified parts of the request to be considered a match.

", "refs": { "CreateXssMatchSetResponse$XssMatchSet": "

An XssMatchSet.

", - "GetXssMatchSetResponse$XssMatchSet": "

Information about the XssMatchSet that you specified in the GetXssMatchSet request. For more information, see the following topics:

" + "GetXssMatchSetResponse$XssMatchSet": "

Information about the XssMatchSet that you specified in the GetXssMatchSet request. For more information, see the following topics:

" } }, "XssMatchSetSummaries": { @@ -1174,7 +1174,7 @@ "XssMatchSetUpdates": { "base": null, "refs": { - "UpdateXssMatchSetRequest$Updates": "

An array of XssMatchSetUpdate objects that you want to insert into or delete from a XssMatchSet. For more information, see the applicable data types:

" + "UpdateXssMatchSetRequest$Updates": "

An array of XssMatchSetUpdate objects that you want to insert into or delete from a XssMatchSet. For more information, see the applicable data types:

" } }, "XssMatchTuple": { diff --git a/service/cognitoidentityprovider/api.go b/service/cognitoidentityprovider/api.go index 8719c017521..c33ca14561f 100644 --- a/service/cognitoidentityprovider/api.go +++ b/service/cognitoidentityprovider/api.go @@ -111,6 +111,60 @@ func (c *CognitoIdentityProvider) AdminConfirmSignUp(input *AdminConfirmSignUpIn return out, err } +const opAdminCreateUser = "AdminCreateUser" + +// AdminCreateUserRequest generates a "aws/request.Request" representing the +// client's request for the AdminCreateUser operation. The "output" return +// value can be used to capture response data after the request's "Send" method +// is called. +// +// Creating a request object using this method should be used when you want to inject +// custom logic into the request's lifecycle using a custom handler, or if you want to +// access properties on the request object before or after sending the request. If +// you just want the service response, call the AdminCreateUser method directly +// instead. +// +// Note: You must call the "Send" method on the returned request object in order +// to execute the request. +// +// // Example sending a request using the AdminCreateUserRequest method. +// req, resp := client.AdminCreateUserRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +func (c *CognitoIdentityProvider) AdminCreateUserRequest(input *AdminCreateUserInput) (req *request.Request, output *AdminCreateUserOutput) { + op := &request.Operation{ + Name: opAdminCreateUser, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AdminCreateUserInput{} + } + + req = c.newRequest(op, input, output) + output = &AdminCreateUserOutput{} + req.Data = output + return +} + +// Creates a new user in the specified user pool and sends a welcome message +// via email or phone (SMS). This message is based on a template that you configured +// in your call to CreateUserPool or UpdateUserPool. This template includes +// your custom sign-up instructions and placeholders for user name and temporary +// password. +// +// Requires developer credentials. +func (c *CognitoIdentityProvider) AdminCreateUser(input *AdminCreateUserInput) (*AdminCreateUserOutput, error) { + req, out := c.AdminCreateUserRequest(input) + err := req.Send() + return out, err +} + const opAdminDeleteUser = "AdminDeleteUser" // AdminDeleteUserRequest generates a "aws/request.Request" representing the @@ -2832,6 +2886,214 @@ func (s AdminConfirmSignUpOutput) GoString() string { return s.String() } +// The type of configuration for creating a new user profile. +type AdminCreateUserConfigType struct { + _ struct{} `type:"structure"` + + // Set to True if only the administrator is allowed to create user profiles. + // Set to False if users can sign themselves up via an app. + AllowAdminCreateUserOnly *bool `type:"boolean"` + + // The message template to be used for the welcome message to new users. + InviteMessageTemplate *MessageTemplateType `type:"structure"` + + // The user account expiration limit, in days, after which the account is no + // longer usable. To reset the account after that time limit, you must call + // AdminCreateUser again, specifying "RESEND" for the MessageAction parameter. + UnusedAccountValidityDays *int64 `type:"integer"` +} + +// String returns the string representation +func (s AdminCreateUserConfigType) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AdminCreateUserConfigType) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AdminCreateUserConfigType) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AdminCreateUserConfigType"} + if s.InviteMessageTemplate != nil { + if err := s.InviteMessageTemplate.Validate(); err != nil { + invalidParams.AddNested("InviteMessageTemplate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Represents the request to create a user in the specified user pool. +type AdminCreateUserInput struct { + _ struct{} `type:"structure"` + + // Specify "EMAIL" if email will be used to send the welcome message. Specify + // "SMS" if the phone number will be used. The default value is "SMS". More + // than one value can be specified. + DesiredDeliveryMediums []*string `type:"list"` + + // This parameter is only used if the phone_number_verified or email_verified + // attribute is set to True. Otherwise, it is ignored. + // + // If this parameter is set to True and the phone number or email address specified + // in the UserAttributes parameter already exists as an alias with a different + // user, the API call will migrate the alias from the previous user to the newly + // created user. The previous user will no longer be able to log in using that + // alias. + // + // If this parameter is set to False, the API throws an AliasExistsException + // error if the alias already exists. The default value is False. + ForceAliasCreation *bool `type:"boolean"` + + // Set to "RESEND" to resend the invitation message to a user that already exists + // and reset the expiration limit on the user's account. Set to "SUPPRESS" to + // suppress sending the message. Only one value can be specified. + MessageAction *string `type:"string" enum:"MessageActionType"` + + // The user's temporary password. This password must conform to the password + // policy that you specified when you created the user pool. + // + // The temporary password is valid only once. To complete the Admin Create + // User flow, the user must enter the temporary password in the sign-in page + // along with a new password to be used in all future sign-ins. + // + // This parameter is not required. If you do not specify a value, Amazon Cognito + // generates one for you. + // + // The temporary password can only be used until the user account expiration + // limit that you specified when you created the user pool. To reset the account + // after that time limit, you must call AdminCreateUser again, specifying "RESEND" + // for the MessageAction parameter. + TemporaryPassword *string `min:"6" type:"string"` + + // An array of name-value pairs that contain user attributes and attribute values + // to be set for the user to be created. You can create a user without specifying + // any attributes other than Username. However, any attributes that you specify + // as required (in CreateUserPool or in the Attributes tab of the console) must + // be supplied either by you (in your call to AdminCreateUser) or by the user + // (when he or she signs up in response to your welcome message). + // + // To send a message inviting the user to sign up, you must specify the user's + // email address or phone number. This can be done in your call to AdminCreateUser + // or in the Users tab of the Amazon Cognito console for managing your user + // pools. + // + // In your call to AdminCreateUser, you can set the email_verified attribute + // to True, and you can set the phone_number_verified attribute to True. (You + // cannot do this by calling other operations such as AdminUpdateUserAttributes.) + // + // email: The email address of the user to whom the message that contains + // the code and username will be sent. Required if the email_verified attribute + // is set to True, or if "EMAIL" is specified in the DesiredDeliveryMediums + // parameter. + // + // phone_number: The phone number of the user to whom the message that contains + // the code and username will be sent. Required if the phone_number_verified + // attribute is set to True, or if "SMS" is specified in the DesiredDeliveryMediums + // parameter. + UserAttributes []*AttributeType `type:"list"` + + // The user pool ID for the user pool where the user will be created. + UserPoolId *string `min:"1" type:"string" required:"true"` + + // The username for the user. Must be unique within the user pool. Must be a + // UTF-8 string between 1 and 128 characters. After the user is created, the + // username cannot be changed. + Username *string `min:"1" type:"string" required:"true"` + + // The user's validation data. This is an array of name-value pairs that contain + // user attributes and attribute values that you can use for custom validation, + // such as restricting the types of user accounts that can be registered. For + // example, you might choose to allow or disallow user sign-up based on the + // user's domain. + // + // To configure custom validation, you must create a Pre Sign-up Lambda trigger + // for the user pool as described in the Amazon Cognito Developer Guide. The + // Lambda trigger receives the validation data and uses it in the validation + // process. + // + // The user's validation data is not persisted. + ValidationData []*AttributeType `type:"list"` +} + +// String returns the string representation +func (s AdminCreateUserInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AdminCreateUserInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AdminCreateUserInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AdminCreateUserInput"} + if s.TemporaryPassword != nil && len(*s.TemporaryPassword) < 6 { + invalidParams.Add(request.NewErrParamMinLen("TemporaryPassword", 6)) + } + if s.UserPoolId == nil { + invalidParams.Add(request.NewErrParamRequired("UserPoolId")) + } + if s.UserPoolId != nil && len(*s.UserPoolId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1)) + } + if s.Username == nil { + invalidParams.Add(request.NewErrParamRequired("Username")) + } + if s.Username != nil && len(*s.Username) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Username", 1)) + } + if s.UserAttributes != nil { + for i, v := range s.UserAttributes { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserAttributes", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ValidationData != nil { + for i, v := range s.ValidationData { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ValidationData", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// Represents the response from the server to the request to create the user. +type AdminCreateUserOutput struct { + _ struct{} `type:"structure"` + + // The user returned in the request to create a new user. + User *UserType `type:"structure"` +} + +// String returns the string representation +func (s AdminCreateUserOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AdminCreateUserOutput) GoString() string { + return s.String() +} + // Represents the request to delete user attributes as an administrator. type AdminDeleteUserAttributesInput struct { _ struct{} `type:"structure"` @@ -3274,10 +3536,15 @@ type AdminGetUserOutput struct { // The user status. Can be one of the following: // - // UNCONFIRMED - User has been created but not confirmed. CONFIRMED - User - // has been confirmed. ARCHIVED - User is no longer active. COMPROMISED - User - // is disabled due to a potential security threat. UNKNOWN - User status is - // not known. + // UNCONFIRMED - User has been created but not confirmed. + // + // CONFIRMED - User has been confirmed. + // + // ARCHIVED - User is no longer active. + // + // COMPROMISED - User is disabled due to a potential security threat. + // + // UNKNOWN - User status is not known. UserStatus *string `type:"string" enum:"UserStatusType"` // The user name of the user about whom you are receiving information. @@ -4412,6 +4679,9 @@ func (s CreateUserPoolClientOutput) GoString() string { type CreateUserPoolInput struct { _ struct{} `type:"structure"` + // The configuration for AdminCreateUser requests. + AdminCreateUserConfig *AdminCreateUserConfigType `type:"structure"` + // Attributes supported as an alias for this user pool. Possible values: phone_number, // email, or preferred_username. AliasAttributes []*string `type:"list"` @@ -4484,6 +4754,11 @@ func (s *CreateUserPoolInput) Validate() error { if s.SmsVerificationMessage != nil && len(*s.SmsVerificationMessage) < 6 { invalidParams.Add(request.NewErrParamMinLen("SmsVerificationMessage", 6)) } + if s.AdminCreateUserConfig != nil { + if err := s.AdminCreateUserConfig.Validate(); err != nil { + invalidParams.AddNested("AdminCreateUserConfig", err.(request.ErrInvalidParams)) + } + } if s.EmailConfiguration != nil { if err := s.EmailConfiguration.Validate(); err != nil { invalidParams.AddNested("EmailConfiguration", err.(request.ErrInvalidParams)) @@ -5582,7 +5857,7 @@ type ListUserImportJobsInput struct { // The maximum number of import jobs you want the request to return. MaxResults *int64 `min:"1" type:"integer" required:"true"` - // An identifier that was returned from the previous call to this operation, + // An identifier that was returned from the previous call to ListUserImportJobs, // which can be used to return the next set of import jobs in the list. PaginationToken *string `min:"1" type:"string"` @@ -5888,6 +6163,49 @@ func (s *MFAOptionType) Validate() error { return nil } +// The message template structure. +type MessageTemplateType struct { + _ struct{} `type:"structure"` + + // The message template for email messages. + EmailMessage *string `min:"6" type:"string"` + + // The subject line for email messages. + EmailSubject *string `min:"1" type:"string"` + + // The message template for SMS messages. + SMSMessage *string `min:"6" type:"string"` +} + +// String returns the string representation +func (s MessageTemplateType) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MessageTemplateType) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MessageTemplateType) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MessageTemplateType"} + if s.EmailMessage != nil && len(*s.EmailMessage) < 6 { + invalidParams.Add(request.NewErrParamMinLen("EmailMessage", 6)) + } + if s.EmailSubject != nil && len(*s.EmailSubject) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EmailSubject", 1)) + } + if s.SMSMessage != nil && len(*s.SMSMessage) < 6 { + invalidParams.Add(request.NewErrParamMinLen("SMSMessage", 6)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // The new device metadata type. type NewDeviceMetadataType struct { _ struct{} `type:"structure"` @@ -6730,6 +7048,9 @@ func (s UpdateUserPoolClientOutput) GoString() string { type UpdateUserPoolInput struct { _ struct{} `type:"structure"` + // The configuration for AdminCreateUser requests. + AdminCreateUserConfig *AdminCreateUserConfigType `type:"structure"` + // The attributes that are automatically verified when the Amazon Cognito service // makes a request to update user pools. AutoVerifiedAttributes []*string `type:"list"` @@ -6743,7 +7064,7 @@ type UpdateUserPoolInput struct { // The contents of the email verification message. EmailVerificationMessage *string `min:"6" type:"string"` - // The subject of the email verfication message + // The subject of the email verfication message. EmailVerificationSubject *string `min:"1" type:"string"` // The AWS Lambda configuration information from the request to update the user @@ -6752,10 +7073,13 @@ type UpdateUserPoolInput struct { // Can be one of the following values: // - // OFF - MFA tokens are not required and cannot be specified during user registration. - // ON - MFA tokens are required for all user registrations. You can only specify - // required when you are initially creating a user pool. OPTIONAL - Users have - // the option when registering to create an MFA token. + // OFF - MFA tokens are not required and cannot be specified during user + // registration. + // + // ON - MFA tokens are required for all user registrations. You can only + // specify required when you are initially creating a user pool. + // + // OPTIONAL - Users have the option when registering to create an MFA token. MfaConfiguration *string `type:"string" enum:"UserPoolMfaType"` // A container with the policies you wish to update in a user pool. @@ -6805,6 +7129,11 @@ func (s *UpdateUserPoolInput) Validate() error { if s.UserPoolId != nil && len(*s.UserPoolId) < 1 { invalidParams.Add(request.NewErrParamMinLen("UserPoolId", 1)) } + if s.AdminCreateUserConfig != nil { + if err := s.AdminCreateUserConfig.Validate(); err != nil { + invalidParams.AddNested("AdminCreateUserConfig", err.(request.ErrInvalidParams)) + } + } if s.EmailConfiguration != nil { if err := s.EmailConfiguration.Validate(); err != nil { invalidParams.AddNested("EmailConfiguration", err.(request.ErrInvalidParams)) @@ -6889,15 +7218,25 @@ type UserImportJobType struct { // The status of the user import job. One of the following: // - // Created - The job was created but not started. Pending - A transition state. - // You have started the job, but it has not begun importing users yet. InProgress - // - The job has started, and users are being imported. Stopping - You have - // stopped the job, but the job has not stopped importing users yet. Stopped - // - You have stopped the job, and the job has stopped importing users. Succeeded - // - The job has completed successfully. Failed - The job has stopped due to - // an error. Expired - You created a job, but did not start the job within 24-48 - // hours. All data associated with the job was deleted, and the job cannot be - // started. + // Created - The job was created but not started. + // + // Pending - A transition state. You have started the job, but it has not + // begun importing users yet. + // + // InProgress - The job has started, and users are being imported. + // + // Stopping - You have stopped the job, but the job has not stopped importing + // users yet. + // + // Stopped - You have stopped the job, and the job has stopped importing + // users. + // + // Succeeded - The job has completed successfully. + // + // Failed - The job has stopped due to an error. + // + // Expired - You created a job, but did not start the job within 24-48 hours. + // All data associated with the job was deleted, and the job cannot be started. Status *string `type:"string" enum:"UserImportJobStatusType"` // The user pool ID for the user pool that the users are being imported into. @@ -7054,6 +7393,9 @@ func (s *UserPoolPolicyType) Validate() error { type UserPoolType struct { _ struct{} `type:"structure"` + // The configuration for AdminCreateUser requests. + AdminCreateUserConfig *AdminCreateUserConfigType `type:"structure"` + // Specifies the attributes that are aliased in a user pool. AliasAttributes []*string `type:"list"` @@ -7092,10 +7434,13 @@ type UserPoolType struct { // Can be one of the following values: // - // OFF - MFA tokens are not required and cannot be specified during user registration. - // ON - MFA tokens are required for all user registrations. You can only specify - // required when you are initially creating a user pool. OPTIONAL - Users have - // the option when registering to create an MFA token. + // OFF - MFA tokens are not required and cannot be specified during user + // registration. + // + // ON - MFA tokens are required for all user registrations. You can only + // specify required when you are initially creating a user pool. + // + // OPTIONAL - Users have the option when registering to create an MFA token. MfaConfiguration *string `type:"string" enum:"UserPoolMfaType"` // The name of the user pool. @@ -7143,6 +7488,9 @@ type UserType struct { // Specifies whether the user is enabled. Enabled *bool `type:"boolean"` + // The MFA options for the user. + MFAOptions []*MFAOptionType `type:"list"` + // The creation date of the user. UserCreateDate *time.Time `type:"timestamp" timestampFormat:"unix"` @@ -7151,10 +7499,15 @@ type UserType struct { // The user status. Can be one of the following: // - // UNCONFIRMED - User has been created but not confirmed. CONFIRMED - User - // has been confirmed. ARCHIVED - User is no longer active. COMPROMISED - User - // is disabled due to a potential security threat. UNKNOWN - User status is - // not known. + // UNCONFIRMED - User has been created but not confirmed. + // + // CONFIRMED - User has been confirmed. + // + // ARCHIVED - User is no longer active. + // + // COMPROMISED - User is disabled due to a potential security threat. + // + // UNKNOWN - User status is not known. UserStatus *string `type:"string" enum:"UserStatusType"` // The user name of the user you wish to describe. @@ -7279,6 +7632,8 @@ const ( ChallengeNameTypeDevicePasswordVerifier = "DEVICE_PASSWORD_VERIFIER" // @enum ChallengeNameType ChallengeNameTypeAdminNoSrpAuth = "ADMIN_NO_SRP_AUTH" + // @enum ChallengeNameType + ChallengeNameTypeNewPasswordRequired = "NEW_PASSWORD_REQUIRED" ) const ( @@ -7302,6 +7657,13 @@ const ( ExplicitAuthFlowsTypeCustomAuthFlowOnly = "CUSTOM_AUTH_FLOW_ONLY" ) +const ( + // @enum MessageActionType + MessageActionTypeResend = "RESEND" + // @enum MessageActionType + MessageActionTypeSuppress = "SUPPRESS" +) + const ( // @enum StatusType StatusTypeEnabled = "Enabled" @@ -7350,6 +7712,8 @@ const ( UserStatusTypeUnknown = "UNKNOWN" // @enum UserStatusType UserStatusTypeResetRequired = "RESET_REQUIRED" + // @enum UserStatusType + UserStatusTypeForceChangePassword = "FORCE_CHANGE_PASSWORD" ) const ( diff --git a/service/cognitoidentityprovider/cognitoidentityprovideriface/interface.go b/service/cognitoidentityprovider/cognitoidentityprovideriface/interface.go index b6f39888aa2..3f6314b8819 100644 --- a/service/cognitoidentityprovider/cognitoidentityprovideriface/interface.go +++ b/service/cognitoidentityprovider/cognitoidentityprovideriface/interface.go @@ -67,6 +67,10 @@ type CognitoIdentityProviderAPI interface { AdminConfirmSignUp(*cognitoidentityprovider.AdminConfirmSignUpInput) (*cognitoidentityprovider.AdminConfirmSignUpOutput, error) + AdminCreateUserRequest(*cognitoidentityprovider.AdminCreateUserInput) (*request.Request, *cognitoidentityprovider.AdminCreateUserOutput) + + AdminCreateUser(*cognitoidentityprovider.AdminCreateUserInput) (*cognitoidentityprovider.AdminCreateUserOutput, error) + AdminDeleteUserRequest(*cognitoidentityprovider.AdminDeleteUserInput) (*request.Request, *cognitoidentityprovider.AdminDeleteUserOutput) AdminDeleteUser(*cognitoidentityprovider.AdminDeleteUserInput) (*cognitoidentityprovider.AdminDeleteUserOutput, error) diff --git a/service/cognitoidentityprovider/examples_test.go b/service/cognitoidentityprovider/examples_test.go index 2f41bab833a..7a1f627b485 100644 --- a/service/cognitoidentityprovider/examples_test.go +++ b/service/cognitoidentityprovider/examples_test.go @@ -84,6 +84,53 @@ func ExampleCognitoIdentityProvider_AdminConfirmSignUp() { fmt.Println(resp) } +func ExampleCognitoIdentityProvider_AdminCreateUser() { + sess, err := session.NewSession() + if err != nil { + fmt.Println("failed to create session,", err) + return + } + + svc := cognitoidentityprovider.New(sess) + + params := &cognitoidentityprovider.AdminCreateUserInput{ + UserPoolId: aws.String("UserPoolIdType"), // Required + Username: aws.String("UsernameType"), // Required + DesiredDeliveryMediums: []*string{ + aws.String("DeliveryMediumType"), // Required + // More values... + }, + ForceAliasCreation: aws.Bool(true), + MessageAction: aws.String("MessageActionType"), + TemporaryPassword: aws.String("PasswordType"), + UserAttributes: []*cognitoidentityprovider.AttributeType{ + { // Required + Name: aws.String("AttributeNameType"), // Required + Value: aws.String("AttributeValueType"), + }, + // More values... + }, + ValidationData: []*cognitoidentityprovider.AttributeType{ + { // Required + Name: aws.String("AttributeNameType"), // Required + Value: aws.String("AttributeValueType"), + }, + // More values... + }, + } + resp, err := svc.AdminCreateUser(params) + + if err != nil { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + return + } + + // Pretty-print the response data. + fmt.Println(resp) +} + func ExampleCognitoIdentityProvider_AdminDeleteUser() { sess, err := session.NewSession() if err != nil { @@ -667,6 +714,15 @@ func ExampleCognitoIdentityProvider_CreateUserPool() { params := &cognitoidentityprovider.CreateUserPoolInput{ PoolName: aws.String("UserPoolNameType"), // Required + AdminCreateUserConfig: &cognitoidentityprovider.AdminCreateUserConfigType{ + AllowAdminCreateUserOnly: aws.Bool(true), + InviteMessageTemplate: &cognitoidentityprovider.MessageTemplateType{ + EmailMessage: aws.String("EmailVerificationMessageType"), + EmailSubject: aws.String("EmailVerificationSubjectType"), + SMSMessage: aws.String("SmsVerificationMessageType"), + }, + UnusedAccountValidityDays: aws.Int64(1), + }, AliasAttributes: []*string{ aws.String("AliasAttributeType"), // Required // More values... @@ -1554,6 +1610,15 @@ func ExampleCognitoIdentityProvider_UpdateUserPool() { params := &cognitoidentityprovider.UpdateUserPoolInput{ UserPoolId: aws.String("UserPoolIdType"), // Required + AdminCreateUserConfig: &cognitoidentityprovider.AdminCreateUserConfigType{ + AllowAdminCreateUserOnly: aws.Bool(true), + InviteMessageTemplate: &cognitoidentityprovider.MessageTemplateType{ + EmailMessage: aws.String("EmailVerificationMessageType"), + EmailSubject: aws.String("EmailVerificationSubjectType"), + SMSMessage: aws.String("SmsVerificationMessageType"), + }, + UnusedAccountValidityDays: aws.Int64(1), + }, AutoVerifiedAttributes: []*string{ aws.String("VerifiedAttributeType"), // Required // More values... diff --git a/service/cognitoidentityprovider/service.go b/service/cognitoidentityprovider/service.go index bdfd83ea979..910f4eb8ca1 100644 --- a/service/cognitoidentityprovider/service.go +++ b/service/cognitoidentityprovider/service.go @@ -11,14 +11,14 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" ) -// You can create a user pool in Amazon Cognito Identity to manage directories -// and users. You can authenticate a user to obtain tokens related to user identity -// and access policies. +// Using the Amazon Cognito Your User Pools API, you can create a user pool +// to manage directories and users. You can authenticate a user to obtain tokens +// related to user identity and access policies. // // This API reference provides information about user pools in Amazon Cognito -// Identity. +// Your User Pools. // -// For more information, see Amazon Cognito (https://aws.amazon.com/cognito/). +// For more information, see the Amazon Cognito Documentation. //The service client's operations are safe to be used concurrently. // It is not safe to mutate any of the client's properties though. type CognitoIdentityProvider struct { diff --git a/service/devicefarm/api.go b/service/devicefarm/api.go index 2dec3be50b2..5c97ed833e6 100644 --- a/service/devicefarm/api.go +++ b/service/devicefarm/api.go @@ -294,7 +294,7 @@ func (c *DeviceFarm) DeleteProjectRequest(input *DeleteProjectInput) (req *reque // Deletes an AWS Device Farm project, given the project ARN. // -// Note Deleting this resource does not stop an in-progress run. +// Note Deleting this resource does not stop an in-progress run. func (c *DeviceFarm) DeleteProject(input *DeleteProjectInput) (*DeleteProjectOutput, error) { req, out := c.DeleteProjectRequest(input) err := req.Send() @@ -392,7 +392,7 @@ func (c *DeviceFarm) DeleteRunRequest(input *DeleteRunInput) (req *request.Reque // Deletes the run, given the run ARN. // -// Note Deleting this resource does not stop an in-progress run. +// Note Deleting this resource does not stop an in-progress run. func (c *DeviceFarm) DeleteRun(input *DeleteRunInput) (*DeleteRunOutput, error) { req, out := c.DeleteRunRequest(input) err := req.Send() @@ -1768,7 +1768,7 @@ func (c *DeviceFarm) ListRunsRequest(input *ListRunsInput) (req *request.Request return } -// Gets information about runs. +// Gets information about runs, given an AWS Device Farm project ARN. func (c *DeviceFarm) ListRuns(input *ListRunsInput) (*ListRunsOutput, error) { req, out := c.ListRunsRequest(input) err := req.Send() @@ -1847,7 +1847,7 @@ func (c *DeviceFarm) ListSamplesRequest(input *ListSamplesInput) (req *request.R return } -// Gets information about samples. +// Gets information about samples, given an AWS Device Farm project ARN func (c *DeviceFarm) ListSamples(input *ListSamplesInput) (*ListSamplesOutput, error) { req, out := c.ListSamplesRequest(input) err := req.Send() @@ -2163,7 +2163,7 @@ func (c *DeviceFarm) ListUploadsRequest(input *ListUploadsInput) (req *request.R return } -// Gets information about uploads. +// Gets information about uploads, given an AWS Device Farm project ARN. func (c *DeviceFarm) ListUploads(input *ListUploadsInput) (*ListUploadsOutput, error) { req, out := c.ListUploadsRequest(input) err := req.Send() @@ -2589,52 +2589,52 @@ type Artifact struct { // // Allowed values include the following: // - // UNKNOWN: An unknown type. + // UNKNOWN: An unknown type. // - // SCREENSHOT: The screenshot type. + // SCREENSHOT: The screenshot type. // - // DEVICE_LOG: The device log type. + // DEVICE_LOG: The device log type. // - // MESSAGE_LOG: The message log type. + // MESSAGE_LOG: The message log type. // - // RESULT_LOG: The result log type. + // RESULT_LOG: The result log type. // - // SERVICE_LOG: The service log type. + // SERVICE_LOG: The service log type. // - // WEBKIT_LOG: The web kit log type. + // WEBKIT_LOG: The web kit log type. // - // INSTRUMENTATION_OUTPUT: The instrumentation type. + // INSTRUMENTATION_OUTPUT: The instrumentation type. // - // EXERCISER_MONKEY_OUTPUT: For Android, the artifact (log) generated by an - // Android fuzz test. + // EXERCISER_MONKEY_OUTPUT: For Android, the artifact (log) generated by + // an Android fuzz test. // - // CALABASH_JSON_OUTPUT: The Calabash JSON output type. + // CALABASH_JSON_OUTPUT: The Calabash JSON output type. // - // CALABASH_PRETTY_OUTPUT: The Calabash pretty output type. + // CALABASH_PRETTY_OUTPUT: The Calabash pretty output type. // - // CALABASH_STANDARD_OUTPUT: The Calabash standard output type. + // CALABASH_STANDARD_OUTPUT: The Calabash standard output type. // - // CALABASH_JAVA_XML_OUTPUT: The Calabash Java XML output type. + // CALABASH_JAVA_XML_OUTPUT: The Calabash Java XML output type. // - // AUTOMATION_OUTPUT: The automation output type. + // AUTOMATION_OUTPUT: The automation output type. // - // APPIUM_SERVER_OUTPUT: The Appium server output type. + // APPIUM_SERVER_OUTPUT: The Appium server output type. // - // APPIUM_JAVA_OUTPUT: The Appium Java output type. + // APPIUM_JAVA_OUTPUT: The Appium Java output type. // - // APPIUM_JAVA_XML_OUTPUT: The Appium Java XML output type. + // APPIUM_JAVA_XML_OUTPUT: The Appium Java XML output type. // - // APPIUM_PYTHON_OUTPUT: The Appium Python output type. + // APPIUM_PYTHON_OUTPUT: The Appium Python output type. // - // APPIUM_PYTHON_XML_OUTPUT: The Appium Python XML output type. + // APPIUM_PYTHON_XML_OUTPUT: The Appium Python XML output type. // - // EXPLORER_EVENT_LOG: The Explorer event log output type. + // EXPLORER_EVENT_LOG: The Explorer event log output type. // - // EXPLORER_SUMMARY_LOG: The Explorer summary log output type. + // EXPLORER_SUMMARY_LOG: The Explorer summary log output type. // - // APPLICATION_CRASH_REPORT: The application crash report output type. + // APPLICATION_CRASH_REPORT: The application crash report output type. // - // XCTEST_LOG: The XCode test output type. + // XCTEST_LOG: The XCode test output type. Type *string `locationName:"type" type:"string" enum:"ArtifactType"` // The pre-signed Amazon S3 URL that can be used with a corresponding GET request @@ -2927,7 +2927,10 @@ type CreateUploadInput struct { // The upload's content type (for example, "application/octet-stream"). ContentType *string `locationName:"contentType" type:"string"` - // The upload's file name. The name should not contain the '/' character. + // The upload's file name. The name should not contain the '/' character. If + // uploading an iOS app, the file name needs to end with the .ipa extension. + // If uploading an Android app, the file name needs to end with the .apk extension. + // For all others, the file name must end with the .zip file extension. Name *string `locationName:"name" type:"string" required:"true"` // The ARN of the project for the upload. @@ -2937,41 +2940,42 @@ type CreateUploadInput struct { // // Must be one of the following values: // - // ANDROID_APP: An Android upload. + // ANDROID_APP: An Android upload. // - // IOS_APP: An iOS upload. + // IOS_APP: An iOS upload. // - // WEB_APP: A web appliction upload. + // WEB_APP: A web appliction upload. // - // EXTERNAL_DATA: An external data upload. + // EXTERNAL_DATA: An external data upload. // - // APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload. + // APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload. // - // APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload. + // APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload. // - // APPIUM_PYTHON_TEST_PACKAGE: An Appium Python test package upload. + // APPIUM_PYTHON_TEST_PACKAGE: An Appium Python test package upload. // - // APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload. + // APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package + // upload. // - // APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package + // APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package // upload. // - // APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package upload. + // APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package upload. // - // CALABASH_TEST_PACKAGE: A Calabash test package upload. + // CALABASH_TEST_PACKAGE: A Calabash test package upload. // - // INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload. + // INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload. // - // UIAUTOMATION_TEST_PACKAGE: A uiautomation test package upload. + // UIAUTOMATION_TEST_PACKAGE: A uiautomation test package upload. // - // UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload. + // UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload. // - // XCTEST_TEST_PACKAGE: An XCode test package upload. + // XCTEST_TEST_PACKAGE: An XCode test package upload. // - // XCTEST_UI_TEST_PACKAGE: An XCode UI test package upload. + // XCTEST_UI_TEST_PACKAGE: An XCode UI test package upload. // - // Note If you call CreateUpload with WEB_APP specified, AWS Device Farm throws - // an ArgumentException error. + // Note If you call CreateUpload with WEB_APP specified, AWS Device Farm + // throws an ArgumentException error. Type *string `locationName:"type" type:"string" required:"true" enum:"UploadType"` } @@ -3299,9 +3303,9 @@ type Device struct { // // Allowed values include: // - // PHONE: The phone form factor. + // PHONE: The phone form factor. // - // TABLET: The tablet form factor. + // TABLET: The tablet form factor. FormFactor *string `locationName:"formFactor" type:"string" enum:"DeviceFormFactor"` // The device's heap size, expressed in bytes. @@ -3329,9 +3333,9 @@ type Device struct { // // Allowed values include: // - // ANDROID: The Android platform. + // ANDROID: The Android platform. // - // IOS: The iOS platform. + // IOS: The iOS platform. Platform *string `locationName:"platform" type:"string" enum:"DevicePlatform"` // The device's radio. @@ -3403,9 +3407,10 @@ type DevicePool struct { // // Allowed values include: // - // CURATED: A device pool that is created and managed by AWS Device Farm. + // CURATED: A device pool that is created and managed by AWS Device Farm. // - // PRIVATE: A device pool that is created and managed by the device pool developer. + // PRIVATE: A device pool that is created and managed by the device pool + // developer. Type *string `locationName:"type" type:"string" enum:"DevicePoolType"` } @@ -3543,34 +3548,34 @@ type GetDevicePoolCompatibilityInput struct { // // Allowed values include the following: // - // BUILTIN_FUZZ: The built-in fuzz type. + // BUILTIN_FUZZ: The built-in fuzz type. // - // BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android + // BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android // app, interacting with it and capturing screenshots at the same time. // - // APPIUM_JAVA_JUNIT: The Appium Java JUnit type. + // APPIUM_JAVA_JUNIT: The Appium Java JUnit type. // - // APPIUM_JAVA_TESTNG: The Appium Java TestNG type. + // APPIUM_JAVA_TESTNG: The Appium Java TestNG type. // - // APPIUM_PYTHON: The Appium Python type. + // APPIUM_PYTHON: The Appium Python type. // - // APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. + // APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. // - // APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. + // APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. // - // APPIUM_WEB_PYTHON: The Appium Python type for Web apps. + // APPIUM_WEB_PYTHON: The Appium Python type for Web apps. // - // CALABASH: The Calabash type. + // CALABASH: The Calabash type. // - // INSTRUMENTATION: The Instrumentation type. + // INSTRUMENTATION: The Instrumentation type. // - // UIAUTOMATION: The uiautomation type. + // UIAUTOMATION: The uiautomation type. // - // UIAUTOMATOR: The uiautomator type. + // UIAUTOMATOR: The uiautomator type. // - // XCTEST: The XCode test type. + // XCTEST: The XCode test type. // - // XCTEST_UI: The XCode UI test type. + // XCTEST_UI: The XCode UI test type. TestType *string `locationName:"testType" type:"string" enum:"TestType"` } @@ -4113,13 +4118,13 @@ type IncompatibilityMessage struct { // // Allowed values include: // - // ARN: The ARN. + // ARN: The ARN. // - // FORM_FACTOR: The form factor (for example, phone or tablet). + // FORM_FACTOR: The form factor (for example, phone or tablet). // - // MANUFACTURER: The manufacturer. + // MANUFACTURER: The manufacturer. // - // PLATFORM: The platform (for example, Android or iOS). + // PLATFORM: The platform (for example, Android or iOS). Type *string `locationName:"type" type:"string" enum:"DeviceAttribute"` } @@ -4227,19 +4232,19 @@ type Job struct { // // Allowed values include: // - // PENDING: A pending condition. + // PENDING: A pending condition. // - // PASSED: A passing condition. + // PASSED: A passing condition. // - // WARNED: A warning condition. + // WARNED: A warning condition. // - // FAILED: A failed condition. + // FAILED: A failed condition. // - // SKIPPED: A skipped condition. + // SKIPPED: A skipped condition. // - // ERRORED: An error condition. + // ERRORED: An error condition. // - // STOPPED: A stopped condition. + // STOPPED: A stopped condition. Result *string `locationName:"result" type:"string" enum:"ExecutionResult"` // The job's start time. @@ -4249,23 +4254,23 @@ type Job struct { // // Allowed values include: // - // PENDING: A pending status. + // PENDING: A pending status. // - // PENDING_CONCURRENCY: A pending concurrency status. + // PENDING_CONCURRENCY: A pending concurrency status. // - // PENDING_DEVICE: A pending device status. + // PENDING_DEVICE: A pending device status. // - // PROCESSING: A processing status. + // PROCESSING: A processing status. // - // SCHEDULING: A scheduling status. + // SCHEDULING: A scheduling status. // - // PREPARING: A preparing status. + // PREPARING: A preparing status. // - // RUNNING: A running status. + // RUNNING: A running status. // - // COMPLETED: A completed status. + // COMPLETED: A completed status. // - // STOPPING: A stopping status. + // STOPPING: A stopping status. Status *string `locationName:"status" type:"string" enum:"ExecutionStatus"` // The job's stop time. @@ -4275,34 +4280,34 @@ type Job struct { // // Allowed values include the following: // - // BUILTIN_FUZZ: The built-in fuzz type. + // BUILTIN_FUZZ: The built-in fuzz type. // - // BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android + // BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android // app, interacting with it and capturing screenshots at the same time. // - // APPIUM_JAVA_JUNIT: The Appium Java JUnit type. + // APPIUM_JAVA_JUNIT: The Appium Java JUnit type. // - // APPIUM_JAVA_TESTNG: The Appium Java TestNG type. + // APPIUM_JAVA_TESTNG: The Appium Java TestNG type. // - // APPIUM_PYTHON: The Appium Python type. + // APPIUM_PYTHON: The Appium Python type. // - // APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. + // APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. // - // APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. + // APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. // - // APPIUM_WEB_PYTHON: The Appium Python type for Web apps. + // APPIUM_WEB_PYTHON: The Appium Python type for Web apps. // - // CALABASH: The Calabash type. + // CALABASH: The Calabash type. // - // INSTRUMENTATION: The Instrumentation type. + // INSTRUMENTATION: The Instrumentation type. // - // UIAUTOMATION: The uiautomation type. + // UIAUTOMATION: The uiautomation type. // - // UIAUTOMATOR: The uiautomator type. + // UIAUTOMATOR: The uiautomator type. // - // XCTEST: The XCode test type. + // XCTEST: The XCode test type. // - // XCTEST_UI: The XCode UI test type. + // XCTEST_UI: The XCode UI test type. Type *string `locationName:"type" type:"string" enum:"TestType"` } @@ -4331,8 +4336,11 @@ type ListArtifactsInput struct { // // Allowed values include: // - // FILE: The artifacts are files. LOG: The artifacts are logs. SCREENSHOT: - // The artifacts are screenshots. + // FILE: The artifacts are files. + // + // LOG: The artifacts are logs. + // + // SCREENSHOT: The artifacts are screenshots. Type *string `locationName:"type" type:"string" required:"true" enum:"ArtifactCategory"` } @@ -4406,9 +4414,10 @@ type ListDevicePoolsInput struct { // // Allowed values include: // - // CURATED: A device pool that is created and managed by AWS Device Farm. + // CURATED: A device pool that is created and managed by AWS Device Farm. // - // PRIVATE: A device pool that is created and managed by the device pool developer. + // PRIVATE: A device pool that is created and managed by the device pool + // developer. Type *string `locationName:"type" type:"string" enum:"DevicePoolType"` } @@ -4468,7 +4477,7 @@ func (s ListDevicePoolsOutput) GoString() string { type ListDevicesInput struct { _ struct{} `type:"structure"` - // The device types' ARNs. + // The Amazon Resource Name (ARN) of the project. Arn *string `locationName:"arn" min:"32" type:"string"` // An identifier that was returned from the previous call to this operation, @@ -4702,7 +4711,9 @@ func (s ListOfferingsOutput) GoString() string { type ListProjectsInput struct { _ struct{} `type:"structure"` - // The projects' ARNs. + // Optional. If no Amazon Resource Name (ARN) is specified, then AWS Device + // Farm returns a list of all projects for the AWS account. You can also specify + // a project ARN. Arn *string `locationName:"arn" min:"32" type:"string"` // An identifier that was returned from the previous call to this operation, @@ -4829,7 +4840,8 @@ func (s ListRemoteAccessSessionsOutput) GoString() string { type ListRunsInput struct { _ struct{} `type:"structure"` - // The runs' ARNs. + // The Amazon Resource Name (ARN) of the project for which you want to list + // runs. Arn *string `locationName:"arn" min:"32" type:"string" required:"true"` // An identifier that was returned from the previous call to this operation, @@ -4893,7 +4905,8 @@ func (s ListRunsOutput) GoString() string { type ListSamplesInput struct { _ struct{} `type:"structure"` - // The samples' ARNs. + // The Amazon Resource Name (ARN) of the project for which you want to list + // samples. Arn *string `locationName:"arn" min:"32" type:"string" required:"true"` // An identifier that was returned from the previous call to this operation, @@ -5135,19 +5148,19 @@ type ListUniqueProblemsOutput struct { // // Allowed values include: // - // PENDING: A pending condition. + // PENDING: A pending condition. // - // PASSED: A passing condition. + // PASSED: A passing condition. // - // WARNED: A warning condition. + // WARNED: A warning condition. // - // FAILED: A failed condition. + // FAILED: A failed condition. // - // SKIPPED: A skipped condition. + // SKIPPED: A skipped condition. // - // ERRORED: An error condition. + // ERRORED: An error condition. // - // STOPPED: A stopped condition. + // STOPPED: A stopped condition. UniqueProblems map[string][]*UniqueProblem `locationName:"uniqueProblems" type:"map"` } @@ -5165,7 +5178,8 @@ func (s ListUniqueProblemsOutput) GoString() string { type ListUploadsInput struct { _ struct{} `type:"structure"` - // The uploads' ARNs. + // The Amazon Resource Name (ARN) of the project for which you want to list + // uploads. Arn *string `locationName:"arn" min:"32" type:"string" required:"true"` // An identifier that was returned from the previous call to this operation, @@ -5387,19 +5401,19 @@ type Problem struct { // // Allowed values include: // - // PENDING: A pending condition. + // PENDING: A pending condition. // - // PASSED: A passing condition. + // PASSED: A passing condition. // - // WARNED: A warning condition. + // WARNED: A warning condition. // - // FAILED: A failed condition. + // FAILED: A failed condition. // - // SKIPPED: A skipped condition. + // SKIPPED: A skipped condition. // - // ERRORED: An error condition. + // ERRORED: An error condition. // - // STOPPED: A stopped condition. + // STOPPED: A stopped condition. Result *string `locationName:"result" type:"string" enum:"ExecutionResult"` // Information about the associated run. @@ -5602,19 +5616,19 @@ type RemoteAccessSession struct { // The result of the remote access session. Can be any of the following: // - // PENDING: A pending condition. + // PENDING: A pending condition. // - // PASSED: A passing condition. + // PASSED: A passing condition. // - // WARNED: A warning condition. + // WARNED: A warning condition. // - // FAILED: A failed condition. + // FAILED: A failed condition. // - // SKIPPED: A skipped condition. + // SKIPPED: A skipped condition. // - // ERRORED: An error condition. + // ERRORED: An error condition. // - // STOPPED: A stopped condition. + // STOPPED: A stopped condition. Result *string `locationName:"result" type:"string" enum:"ExecutionResult"` // The date and time the remote access session was started. @@ -5622,23 +5636,23 @@ type RemoteAccessSession struct { // The status of the remote access session. Can be any of the following: // - // PENDING: A pending status. + // PENDING: A pending status. // - // PENDING_CONCURRENCY: A pending concurrency status. + // PENDING_CONCURRENCY: A pending concurrency status. // - // PENDING_DEVICE: A pending device status. + // PENDING_DEVICE: A pending device status. // - // PROCESSING: A processing status. + // PROCESSING: A processing status. // - // SCHEDULING: A scheduling status. + // SCHEDULING: A scheduling status. // - // PREPARING: A preparing status. + // PREPARING: A preparing status. // - // RUNNING: A running status. + // RUNNING: A running status. // - // COMPLETED: A completed status. + // COMPLETED: A completed status. // - // STOPPING: A stopping status. + // STOPPING: A stopping status. Status *string `locationName:"status" type:"string" enum:"ExecutionStatus"` // The date and time the remote access session was stopped. @@ -5737,26 +5751,26 @@ type Rule struct { // // Allowed values include: // - // ARN: The ARN. + // ARN: The ARN. // - // FORM_FACTOR: The form factor (for example, phone or tablet). + // FORM_FACTOR: The form factor (for example, phone or tablet). // - // MANUFACTURER: The manufacturer. + // MANUFACTURER: The manufacturer. // - // PLATFORM: The platform (for example, Android or iOS). + // PLATFORM: The platform (for example, Android or iOS). Attribute *string `locationName:"attribute" type:"string" enum:"DeviceAttribute"` // The rule's operator. // - // EQUALS: The equals operator. + // EQUALS: The equals operator. // - // GREATER_THAN: The greater-than operator. + // GREATER_THAN: The greater-than operator. // - // IN: The in operator. + // IN: The in operator. // - // LESS_THAN: The less-than operator. + // LESS_THAN: The less-than operator. // - // NOT_IN: The not-in operator. + // NOT_IN: The not-in operator. Operator *string `locationName:"operator" type:"string" enum:"RuleOperator"` // The rule's value. @@ -5781,7 +5795,7 @@ type Run struct { Arn *string `locationName:"arn" min:"32" type:"string"` // Specifies the billing method for a test run: metered or unmetered. If the - // parameter is not specified, the default value is unmetered. + // parameter is not specified, the default value is metered. BillingMethod *string `locationName:"billingMethod" type:"string" enum:"BillingMethod"` // The total number of completed jobs. @@ -5806,28 +5820,28 @@ type Run struct { // // Allowed values include: // - // ANDROID: The Android platform. + // ANDROID: The Android platform. // - // IOS: The iOS platform. + // IOS: The iOS platform. Platform *string `locationName:"platform" type:"string" enum:"DevicePlatform"` // The run's result. // // Allowed values include: // - // PENDING: A pending condition. + // PENDING: A pending condition. // - // PASSED: A passing condition. + // PASSED: A passing condition. // - // WARNED: A warning condition. + // WARNED: A warning condition. // - // FAILED: A failed condition. + // FAILED: A failed condition. // - // SKIPPED: A skipped condition. + // SKIPPED: A skipped condition. // - // ERRORED: An error condition. + // ERRORED: An error condition. // - // STOPPED: A stopped condition. + // STOPPED: A stopped condition. Result *string `locationName:"result" type:"string" enum:"ExecutionResult"` // The run's start time. @@ -5837,23 +5851,23 @@ type Run struct { // // Allowed values include: // - // PENDING: A pending status. + // PENDING: A pending status. // - // PENDING_CONCURRENCY: A pending concurrency status. + // PENDING_CONCURRENCY: A pending concurrency status. // - // PENDING_DEVICE: A pending device status. + // PENDING_DEVICE: A pending device status. // - // PROCESSING: A processing status. + // PROCESSING: A processing status. // - // SCHEDULING: A scheduling status. + // SCHEDULING: A scheduling status. // - // PREPARING: A preparing status. + // PREPARING: A preparing status. // - // RUNNING: A running status. + // RUNNING: A running status. // - // COMPLETED: A completed status. + // COMPLETED: A completed status. // - // STOPPING: A stopping status. + // STOPPING: A stopping status. Status *string `locationName:"status" type:"string" enum:"ExecutionStatus"` // The run's stop time. @@ -5866,34 +5880,34 @@ type Run struct { // // Must be one of the following values: // - // BUILTIN_FUZZ: The built-in fuzz type. + // BUILTIN_FUZZ: The built-in fuzz type. // - // BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android + // BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android // app, interacting with it and capturing screenshots at the same time. // - // APPIUM_JAVA_JUNIT: The Appium Java JUnit type. + // APPIUM_JAVA_JUNIT: The Appium Java JUnit type. // - // APPIUM_JAVA_TESTNG: The Appium Java TestNG type. + // APPIUM_JAVA_TESTNG: The Appium Java TestNG type. // - // APPIUM_PYTHON: The Appium Python type. + // APPIUM_PYTHON: The Appium Python type. // - // APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. + // APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. // - // APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. + // APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. // - // APPIUM_WEB_PYTHON: The Appium Python type for Web apps. + // APPIUM_WEB_PYTHON: The Appium Python type for Web apps. // - // CALABASH: The Calabash type. + // CALABASH: The Calabash type. // - // INSTRUMENTATION: The Instrumentation type. + // INSTRUMENTATION: The Instrumentation type. // - // UIAUTOMATION: The uiautomation type. + // UIAUTOMATION: The uiautomation type. // - // UIAUTOMATOR: The uiautomator type. + // UIAUTOMATOR: The uiautomator type. // - // XCTEST: The XCode test type. + // XCTEST: The XCode test type. // - // XCTEST_UI: The XCode UI test type. + // XCTEST_UI: The XCode UI test type. Type *string `locationName:"type" type:"string" enum:"TestType"` } @@ -5918,43 +5932,43 @@ type Sample struct { // // Must be one of the following values: // - // CPU: A CPU sample type. This is expressed as the app processing CPU time + // CPU: A CPU sample type. This is expressed as the app processing CPU time // (including child processes) as reported by process, as a percentage. // - // MEMORY: A memory usage sample type. This is expressed as the total proportional + // MEMORY: A memory usage sample type. This is expressed as the total proportional // set size of an app process, in kilobytes. // - // NATIVE_AVG_DRAWTIME + // NATIVE_AVG_DRAWTIME // - // NATIVE_FPS + // NATIVE_FPS // - // NATIVE_FRAMES + // NATIVE_FRAMES // - // NATIVE_MAX_DRAWTIME + // NATIVE_MAX_DRAWTIME // - // NATIVE_MIN_DRAWTIME + // NATIVE_MIN_DRAWTIME // - // OPENGL_AVG_DRAWTIME + // OPENGL_AVG_DRAWTIME // - // OPENGL_FPS + // OPENGL_FPS // - // OPENGL_FRAMES + // OPENGL_FRAMES // - // OPENGL_MAX_DRAWTIME + // OPENGL_MAX_DRAWTIME // - // OPENGL_MIN_DRAWTIME + // OPENGL_MIN_DRAWTIME // - // RX + // RX // - // RX_RATE: The total number of bytes per second (TCP and UDP) that are sent, + // RX_RATE: The total number of bytes per second (TCP and UDP) that are sent, // by app process. // - // THREADS: A threads sample type. This is expressed as the total number of - // threads per app process. + // THREADS: A threads sample type. This is expressed as the total number + // of threads per app process. // - // TX + // TX // - // TX_RATE: The total number of bytes per second (TCP and UDP) that are received, + // TX_RATE: The total number of bytes per second (TCP and UDP) that are received, // by app process. Type *string `locationName:"type" type:"string" enum:"SampleType"` @@ -5982,7 +5996,7 @@ type ScheduleRunConfiguration struct { AuxiliaryApps []*string `locationName:"auxiliaryApps" type:"list"` // Specifies the billing method for a test run: metered or unmetered. If the - // parameter is not specified, the default value is unmetered. + // parameter is not specified, the default value is metered. BillingMethod *string `locationName:"billingMethod" type:"string" enum:"BillingMethod"` // The ARN of the extra data for the run. The extra data is a .zip file that @@ -6140,34 +6154,34 @@ type ScheduleRunTest struct { // // Must be one of the following values: // - // BUILTIN_FUZZ: The built-in fuzz type. + // BUILTIN_FUZZ: The built-in fuzz type. // - // BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android + // BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android // app, interacting with it and capturing screenshots at the same time. // - // APPIUM_JAVA_JUNIT: The Appium Java JUnit type. + // APPIUM_JAVA_JUNIT: The Appium Java JUnit type. // - // APPIUM_JAVA_TESTNG: The Appium Java TestNG type. + // APPIUM_JAVA_TESTNG: The Appium Java TestNG type. // - // APPIUM_PYTHON: The Appium Python type. + // APPIUM_PYTHON: The Appium Python type. // - // APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. + // APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. // - // APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. + // APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. // - // APPIUM_WEB_PYTHON: The Appium Python type for Web apps. + // APPIUM_WEB_PYTHON: The Appium Python type for Web apps. // - // CALABASH: The Calabash type. + // CALABASH: The Calabash type. // - // INSTRUMENTATION: The Instrumentation type. + // INSTRUMENTATION: The Instrumentation type. // - // UIAUTOMATION: The uiautomation type. + // UIAUTOMATION: The uiautomation type. // - // UIAUTOMATOR: The uiautomator type. + // UIAUTOMATOR: The uiautomator type. // - // XCTEST: The XCode test type. + // XCTEST: The XCode test type. // - // XCTEST_UI: The XCode UI test type. + // XCTEST_UI: The XCode UI test type. Type *string `locationName:"type" type:"string" required:"true" enum:"TestType"` } @@ -6330,19 +6344,19 @@ type Suite struct { // // Allowed values include: // - // PENDING: A pending condition. + // PENDING: A pending condition. // - // PASSED: A passing condition. + // PASSED: A passing condition. // - // WARNED: A warning condition. + // WARNED: A warning condition. // - // FAILED: A failed condition. + // FAILED: A failed condition. // - // SKIPPED: A skipped condition. + // SKIPPED: A skipped condition. // - // ERRORED: An error condition. + // ERRORED: An error condition. // - // STOPPED: A stopped condition. + // STOPPED: A stopped condition. Result *string `locationName:"result" type:"string" enum:"ExecutionResult"` // The suite's start time. @@ -6352,23 +6366,23 @@ type Suite struct { // // Allowed values include: // - // PENDING: A pending status. + // PENDING: A pending status. // - // PENDING_CONCURRENCY: A pending concurrency status. + // PENDING_CONCURRENCY: A pending concurrency status. // - // PENDING_DEVICE: A pending device status. + // PENDING_DEVICE: A pending device status. // - // PROCESSING: A processing status. + // PROCESSING: A processing status. // - // SCHEDULING: A scheduling status. + // SCHEDULING: A scheduling status. // - // PREPARING: A preparing status. + // PREPARING: A preparing status. // - // RUNNING: A running status. + // RUNNING: A running status. // - // COMPLETED: A completed status. + // COMPLETED: A completed status. // - // STOPPING: A stopping status. + // STOPPING: A stopping status. Status *string `locationName:"status" type:"string" enum:"ExecutionStatus"` // The suite's stop time. @@ -6378,34 +6392,34 @@ type Suite struct { // // Must be one of the following values: // - // BUILTIN_FUZZ: The built-in fuzz type. + // BUILTIN_FUZZ: The built-in fuzz type. // - // BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android + // BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android // app, interacting with it and capturing screenshots at the same time. // - // APPIUM_JAVA_JUNIT: The Appium Java JUnit type. + // APPIUM_JAVA_JUNIT: The Appium Java JUnit type. // - // APPIUM_JAVA_TESTNG: The Appium Java TestNG type. + // APPIUM_JAVA_TESTNG: The Appium Java TestNG type. // - // APPIUM_PYTHON: The Appium Python type. + // APPIUM_PYTHON: The Appium Python type. // - // APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. + // APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. // - // APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. + // APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. // - // APPIUM_WEB_PYTHON: The Appium Python type for Web apps. + // APPIUM_WEB_PYTHON: The Appium Python type for Web apps. // - // CALABASH: The Calabash type. + // CALABASH: The Calabash type. // - // INSTRUMENTATION: The Instrumentation type. + // INSTRUMENTATION: The Instrumentation type. // - // UIAUTOMATION: The uiautomation type. + // UIAUTOMATION: The uiautomation type. // - // UIAUTOMATOR: The uiautomator type. + // UIAUTOMATOR: The uiautomator type. // - // XCTEST: The XCode test type. + // XCTEST: The XCode test type. // - // XCTEST_UI: The XCode UI test type. + // XCTEST_UI: The XCode UI test type. Type *string `locationName:"type" type:"string" enum:"TestType"` } @@ -6445,19 +6459,19 @@ type Test struct { // // Allowed values include: // - // PENDING: A pending condition. + // PENDING: A pending condition. // - // PASSED: A passing condition. + // PASSED: A passing condition. // - // WARNED: A warning condition. + // WARNED: A warning condition. // - // FAILED: A failed condition. + // FAILED: A failed condition. // - // SKIPPED: A skipped condition. + // SKIPPED: A skipped condition. // - // ERRORED: An error condition. + // ERRORED: An error condition. // - // STOPPED: A stopped condition. + // STOPPED: A stopped condition. Result *string `locationName:"result" type:"string" enum:"ExecutionResult"` // The test's start time. @@ -6467,23 +6481,23 @@ type Test struct { // // Allowed values include: // - // PENDING: A pending status. + // PENDING: A pending status. // - // PENDING_CONCURRENCY: A pending concurrency status. + // PENDING_CONCURRENCY: A pending concurrency status. // - // PENDING_DEVICE: A pending device status. + // PENDING_DEVICE: A pending device status. // - // PROCESSING: A processing status. + // PROCESSING: A processing status. // - // SCHEDULING: A scheduling status. + // SCHEDULING: A scheduling status. // - // PREPARING: A preparing status. + // PREPARING: A preparing status. // - // RUNNING: A running status. + // RUNNING: A running status. // - // COMPLETED: A completed status. + // COMPLETED: A completed status. // - // STOPPING: A stopping status. + // STOPPING: A stopping status. Status *string `locationName:"status" type:"string" enum:"ExecutionStatus"` // The test's stop time. @@ -6493,34 +6507,34 @@ type Test struct { // // Must be one of the following values: // - // BUILTIN_FUZZ: The built-in fuzz type. + // BUILTIN_FUZZ: The built-in fuzz type. // - // BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android + // BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android // app, interacting with it and capturing screenshots at the same time. // - // APPIUM_JAVA_JUNIT: The Appium Java JUnit type. + // APPIUM_JAVA_JUNIT: The Appium Java JUnit type. // - // APPIUM_JAVA_TESTNG: The Appium Java TestNG type. + // APPIUM_JAVA_TESTNG: The Appium Java TestNG type. // - // APPIUM_PYTHON: The Appium Python type. + // APPIUM_PYTHON: The Appium Python type. // - // APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. + // APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps. // - // APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. + // APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps. // - // APPIUM_WEB_PYTHON: The Appium Python type for Web apps. + // APPIUM_WEB_PYTHON: The Appium Python type for Web apps. // - // CALABASH: The Calabash type. + // CALABASH: The Calabash type. // - // INSTRUMENTATION: The Instrumentation type. + // INSTRUMENTATION: The Instrumentation type. // - // UIAUTOMATION: The uiautomation type. + // UIAUTOMATION: The uiautomation type. // - // UIAUTOMATOR: The uiautomator type. + // UIAUTOMATOR: The uiautomator type. // - // XCTEST: The XCode test type. + // XCTEST: The XCode test type. // - // XCTEST_UI: The XCode UI test type. + // XCTEST_UI: The XCode UI test type. Type *string `locationName:"type" type:"string" enum:"TestType"` } @@ -6703,51 +6717,52 @@ type Upload struct { // // Must be one of the following values: // - // FAILED: A failed status. + // FAILED: A failed status. // - // INITIALIZED: An initialized status. + // INITIALIZED: An initialized status. // - // PROCESSING: A processing status. + // PROCESSING: A processing status. // - // SUCCEEDED: A succeeded status. + // SUCCEEDED: A succeeded status. Status *string `locationName:"status" type:"string" enum:"UploadStatus"` // The upload's type. // // Must be one of the following values: // - // ANDROID_APP: An Android upload. + // ANDROID_APP: An Android upload. // - // IOS_APP: An iOS upload. + // IOS_APP: An iOS upload. // - // WEB_APP: A web appliction upload. + // WEB_APP: A web appliction upload. // - // EXTERNAL_DATA: An external data upload. + // EXTERNAL_DATA: An external data upload. // - // APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload. + // APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload. // - // APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload. + // APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload. // - // APPIUM_PYTHON_TEST_PACKAGE: An Appium Python test package upload. + // APPIUM_PYTHON_TEST_PACKAGE: An Appium Python test package upload. // - // APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload. + // APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package + // upload. // - // APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package + // APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package // upload. // - // APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package upload. + // APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package upload. // - // CALABASH_TEST_PACKAGE: A Calabash test package upload. + // CALABASH_TEST_PACKAGE: A Calabash test package upload. // - // INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload. + // INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload. // - // UIAUTOMATION_TEST_PACKAGE: A uiautomation test package upload. + // UIAUTOMATION_TEST_PACKAGE: A uiautomation test package upload. // - // UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload. + // UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload. // - // XCTEST_TEST_PACKAGE: An XCode test package upload. + // XCTEST_TEST_PACKAGE: An XCode test package upload. // - // XCTEST_UI_TEST_PACKAGE: An XCode UI test package upload. + // XCTEST_UI_TEST_PACKAGE: An XCode UI test package upload. Type *string `locationName:"type" type:"string" enum:"UploadType"` // The pre-signed Amazon S3 URL that was used to store a file through a corresponding diff --git a/service/opsworks/api.go b/service/opsworks/api.go index c225d2110cc..578271ad0d0 100644 --- a/service/opsworks/api.go +++ b/service/opsworks/api.go @@ -4378,7 +4378,7 @@ type CloneStackInput struct { // A string that contains user-defined, custom JSON. It is used to override // the corresponding default stack configuration JSON values. The string should - // be in the following format and must escape characters such as '"': + // be in the following format: // // "{\"key1\": \"value1\", \"key2\": \"value2\",...}" // @@ -4806,7 +4806,7 @@ type CreateDeploymentInput struct { // A string that contains user-defined, custom JSON. It is used to override // the corresponding default stack configuration JSON values. The string should - // be in the following format and must escape characters such as '"': + // be in the following format: // // "{\"key1\": \"value1\", \"key2\": \"value2\",...}" // @@ -5240,8 +5240,7 @@ type CreateStackInput struct { // A string that contains user-defined, custom JSON. It can be used to override // the corresponding default stack configuration attribute values or to pass - // data to recipes. The string should be in the following escape characters - // such as '"': + // data to recipes. The string should be in the following format: // // "{\"key1\": \"value1\", \"key2\": \"value2\",...}" // @@ -5464,7 +5463,7 @@ type CreateUserProfileInput struct { // page. For more information, see Setting an IAM User's Public SSH Key (http://docs.aws.amazon.com/opsworks/latest/userguide/security-settingsshkey.html). AllowSelfManagement *bool `type:"boolean"` - // The user's IAM ARN. + // The user's IAM ARN; this can also be a federated user's ARN. IamUserArn *string `type:"string" required:"true"` // The user's public SSH key. @@ -5729,7 +5728,7 @@ func (s DeleteStackOutput) GoString() string { type DeleteUserProfileInput struct { _ struct{} `type:"structure"` - // The user's IAM ARN. + // The user's IAM ARN. This can also be a federated user's ARN. IamUserArn *string `type:"string" required:"true"` } @@ -5791,8 +5790,7 @@ type Deployment struct { // A string that contains user-defined custom JSON. It can be used to override // the corresponding default stack configuration attribute values for stack - // or to pass data to recipes. The string should be in the following format - // and must escape characters such as '"': + // or to pass data to recipes. The string should be in the following format: // // "{\"key1\": \"value1\", \"key2\": \"value2\",...}" // @@ -6628,8 +6626,8 @@ func (s DescribeMyUserProfileOutput) GoString() string { type DescribePermissionsInput struct { _ struct{} `type:"structure"` - // The user's IAM ARN. For more information about IAM ARNs, see Using Identifiers - // (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html). + // The user's IAM ARN. This can also be a federated user's ARN. For more information + // about IAM ARNs, see Using Identifiers (http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html). IamUserArn *string `type:"string"` // The stack ID. @@ -7002,7 +7000,7 @@ func (s DescribeTimeBasedAutoScalingOutput) GoString() string { type DescribeUserProfilesInput struct { _ struct{} `type:"structure"` - // An array of IAM user ARNs that identify the users to be described. + // An array of IAM or federated user ARNs that identify the users to be described. IamUserArns []*string `type:"list"` } @@ -8568,7 +8566,7 @@ type SetPermissionInput struct { // The user is allowed to use sudo to elevate privileges. AllowSudo *bool `type:"boolean"` - // The user's IAM ARN. + // The user's IAM ARN. This can also be a federated user's ARN. IamUserArn *string `type:"string" required:"true"` // The user's permission level, which must be set to one of the following strings. @@ -8833,8 +8831,7 @@ type Stack struct { // A JSON object that contains user-defined attributes to be added to the stack // configuration and deployment attributes. You can use custom JSON to override // the corresponding default stack configuration attribute values or to pass - // data to recipes. The string should be in the following format and must escape - // characters such as '"': + // data to recipes. The string should be in the following format: // // "{\"key1\": \"value1\", \"key2\": \"value2\",...}" // @@ -9442,11 +9439,10 @@ type UpdateInstanceInput struct { // console. For a list of available agent version numbers, call DescribeAgentVersions. AgentVersion *string `type:"string"` - // A custom AMI ID to be used to create the instance. The AMI must be based - // on one of the supported operating systems. For more information, see Instances - // (http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html) - // - // If you specify a custom AMI, you must set Os to Custom. + // The ID of the AMI that was used to create the instance. The value of this + // parameter must be the same AMI ID that the instance is already using. You + // cannot apply a new AMI to an instance by running UpdateInstance. UpdateInstance + // does not work on instances that are using custom AMIs. AmiId *string `type:"string"` // The instance architecture. Instance types do not necessarily support both @@ -9489,6 +9485,7 @@ type UpdateInstanceInput struct { LayerIds []*string `type:"list"` // The instance's operating system, which must be set to one of the following. + // You cannot update an instance that is using a custom AMI. // // A supported Linux operating system: An Amazon Linux version, such as Amazon // Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03. @@ -9505,8 +9502,6 @@ type UpdateInstanceInput struct { // Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server // 2012 R2 with SQL Server Web. // - // A custom AMI: Custom. - // // For more information on the supported operating systems, see AWS OpsWorks // Operating Systems (http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html). // @@ -9804,8 +9799,7 @@ type UpdateStackInput struct { // A string that contains user-defined, custom JSON. It can be used to override // the corresponding default stack configuration JSON values or to pass data - // to recipes. The string should be in the following format and escape characters - // such as '"': + // to recipes. The string should be in the following format: // // "{\"key1\": \"value1\", \"key2\": \"value2\",...}" // @@ -9981,7 +9975,7 @@ type UpdateUserProfileInput struct { // page. For more information, see Managing User Permissions (http://docs.aws.amazon.com/opsworks/latest/userguide/security-settingsshkey.html). AllowSelfManagement *bool `type:"boolean"` - // The user IAM ARN. + // The user IAM ARN. This can also be a federated user's ARN. IamUserArn *string `type:"string" required:"true"` // The user's new SSH public key. diff --git a/service/s3/api.go b/service/s3/api.go index 465a8c63e47..dad1667ad27 100644 --- a/service/s3/api.go +++ b/service/s3/api.go @@ -6571,9 +6571,8 @@ type ListObjectsInput struct { Prefix *string `location:"querystring" locationName:"prefix" type:"string"` // Confirms that the requester knows that she or he will be charged for the - // request. Bucket owners need not specify this parameter in their requests. - // Documentation on downloading objects from requester pays buckets can be found - // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html + // list objects request. Bucket owners need not specify this parameter in their + // requests. RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` } @@ -6674,9 +6673,8 @@ type ListObjectsV2Input struct { Prefix *string `location:"querystring" locationName:"prefix" type:"string"` // Confirms that the requester knows that she or he will be charged for the - // request. Bucket owners need not specify this parameter in their requests. - // Documentation on downloading objects from requester pays buckets can be found - // at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html + // list objects request in V2 style. Bucket owners need not specify this parameter + // in their requests. RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"` // StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts diff --git a/service/waf/api.go b/service/waf/api.go index 3033366cbe8..dc8b8b9edcf 100644 --- a/service/waf/api.go +++ b/service/waf/api.go @@ -60,14 +60,20 @@ func (c *WAF) CreateByteMatchSetRequest(input *CreateByteMatchSetInput) (req *re // // To create and configure a ByteMatchSet, perform the following steps: // -// Use GetChangeToken to get the change token that you provide in the ChangeToken -// parameter of a CreateByteMatchSet request. Submit a CreateByteMatchSet request. -// Use GetChangeToken to get the change token that you provide in the ChangeToken -// parameter of an UpdateByteMatchSet request. Submit an UpdateByteMatchSet -// request to specify the part of the request that you want AWS WAF to inspect -// (for example, the header or the URI) and the value that you want AWS WAF -// to watch for. For more information about how to use the AWS WAF API to allow -// or block HTTP requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of a CreateByteMatchSet request. +// +// Submit a CreateByteMatchSet request. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of an UpdateByteMatchSet request. +// +// Submit an UpdateByteMatchSet request to specify the part of the request +// that you want AWS WAF to inspect (for example, the header or the URI) and +// the value that you want AWS WAF to watch for. +// +// For more information about how to use the AWS WAF API to allow or block +// HTTP requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). func (c *WAF) CreateByteMatchSet(input *CreateByteMatchSetInput) (*CreateByteMatchSetOutput, error) { req, out := c.CreateByteMatchSetRequest(input) err := req.Send() @@ -124,13 +130,19 @@ func (c *WAF) CreateIPSetRequest(input *CreateIPSetInput) (req *request.Request, // // To create and configure an IPSet, perform the following steps: // -// Use GetChangeToken to get the change token that you provide in the ChangeToken -// parameter of a CreateIPSet request. Submit a CreateIPSet request. Use GetChangeToken -// to get the change token that you provide in the ChangeToken parameter of -// an UpdateIPSet request. Submit an UpdateIPSet request to specify the IP addresses -// that you want AWS WAF to watch for. For more information about how to use -// the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer -// Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of a CreateIPSet request. +// +// Submit a CreateIPSet request. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of an UpdateIPSet request. +// +// Submit an UpdateIPSet request to specify the IP addresses that you want +// AWS WAF to watch for. +// +// For more information about how to use the AWS WAF API to allow or block +// HTTP requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). func (c *WAF) CreateIPSet(input *CreateIPSetInput) (*CreateIPSetOutput, error) { req, out := c.CreateIPSetRequest(input) err := req.Send() @@ -184,24 +196,36 @@ func (c *WAF) CreateRuleRequest(input *CreateRuleInput) (req *request.Request, o // to be allowed or blocked. For example, suppose you add the following to a // Rule: // -// An IPSet that matches the IP address 192.0.2.44/32 A ByteMatchSet that -// matches BadBot in the User-Agent header You then add the Rule to a WebACL -// and specify that you want to blocks requests that satisfy the Rule. For a -// request to be blocked, it must come from the IP address 192.0.2.44 and the -// User-Agent header in the request must contain the value BadBot. +// An IPSet that matches the IP address 192.0.2.44/32 +// +// A ByteMatchSet that matches BadBot in the User-Agent header +// +// You then add the Rule to a WebACL and specify that you want to blocks +// requests that satisfy the Rule. For a request to be blocked, it must come +// from the IP address 192.0.2.44 and the User-Agent header in the request must +// contain the value BadBot. // // To create and configure a Rule, perform the following steps: // -// Create and update the predicates that you want to include in the Rule. +// Create and update the predicates that you want to include in the Rule. // For more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet. -// Use GetChangeToken to get the change token that you provide in the ChangeToken -// parameter of a CreateRule request. Submit a CreateRule request. Use GetChangeToken -// to get the change token that you provide in the ChangeToken parameter of -// an UpdateRule request. Submit an UpdateRule request to specify the predicates -// that you want to include in the Rule. Create and update a WebACL that contains -// the Rule. For more information, see CreateWebACL. For more information about -// how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF -// Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of a CreateRule request. +// +// Submit a CreateRule request. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of an UpdateRule request. +// +// Submit an UpdateRule request to specify the predicates that you want to +// include in the Rule. +// +// Create and update a WebACL that contains the Rule. For more information, +// see CreateWebACL. +// +// For more information about how to use the AWS WAF API to allow or block +// HTTP requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). func (c *WAF) CreateRule(input *CreateRuleInput) (*CreateRuleOutput, error) { req, out := c.CreateRuleRequest(input) err := req.Send() @@ -258,14 +282,20 @@ func (c *WAF) CreateSizeConstraintSetRequest(input *CreateSizeConstraintSetInput // // To create and configure a SizeConstraintSet, perform the following steps: // -// Use GetChangeToken to get the change token that you provide in the ChangeToken -// parameter of a CreateSizeConstraintSet request. Submit a CreateSizeConstraintSet -// request. Use GetChangeToken to get the change token that you provide in the -// ChangeToken parameter of an UpdateSizeConstraintSet request. Submit an UpdateSizeConstraintSet -// request to specify the part of the request that you want AWS WAF to inspect -// (for example, the header or the URI) and the value that you want AWS WAF -// to watch for. For more information about how to use the AWS WAF API to allow -// or block HTTP requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of a CreateSizeConstraintSet request. +// +// Submit a CreateSizeConstraintSet request. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of an UpdateSizeConstraintSet request. +// +// Submit an UpdateSizeConstraintSet request to specify the part of the request +// that you want AWS WAF to inspect (for example, the header or the URI) and +// the value that you want AWS WAF to watch for. +// +// For more information about how to use the AWS WAF API to allow or block +// HTTP requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). func (c *WAF) CreateSizeConstraintSet(input *CreateSizeConstraintSetInput) (*CreateSizeConstraintSetOutput, error) { req, out := c.CreateSizeConstraintSetRequest(input) err := req.Send() @@ -319,14 +349,19 @@ func (c *WAF) CreateSqlInjectionMatchSetRequest(input *CreateSqlInjectionMatchSe // // To create and configure a SqlInjectionMatchSet, perform the following steps: // -// Use GetChangeToken to get the change token that you provide in the ChangeToken -// parameter of a CreateSqlInjectionMatchSet request. Submit a CreateSqlInjectionMatchSet -// request. Use GetChangeToken to get the change token that you provide in the -// ChangeToken parameter of an UpdateSqlInjectionMatchSet request. Submit an -// UpdateSqlInjectionMatchSet request to specify the parts of web requests in -// which you want to allow, block, or count malicious SQL code. For more information -// about how to use the AWS WAF API to allow or block HTTP requests, see the -// AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of a CreateSqlInjectionMatchSet request. +// +// Submit a CreateSqlInjectionMatchSet request. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of an UpdateSqlInjectionMatchSet request. +// +// Submit an UpdateSqlInjectionMatchSet request to specify the parts of web +// requests in which you want to allow, block, or count malicious SQL code. +// +// For more information about how to use the AWS WAF API to allow or block +// HTTP requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). func (c *WAF) CreateSqlInjectionMatchSet(input *CreateSqlInjectionMatchSetInput) (*CreateSqlInjectionMatchSetOutput, error) { req, out := c.CreateSqlInjectionMatchSetRequest(input) err := req.Send() @@ -384,18 +419,27 @@ func (c *WAF) CreateWebACLRequest(input *CreateWebACLInput) (req *request.Reques // // To create and configure a WebACL, perform the following steps: // -// Create and update the ByteMatchSet objects and other predicates that you +// Create and update the ByteMatchSet objects and other predicates that you // want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, // CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet. -// Create and update the Rules that you want to include in the WebACL. For more -// information, see CreateRule and UpdateRule. Use GetChangeToken to get the -// change token that you provide in the ChangeToken parameter of a CreateWebACL -// request. Submit a CreateWebACL request. Use GetChangeToken to get the change -// token that you provide in the ChangeToken parameter of an UpdateWebACL request. -// Submit an UpdateWebACL request to specify the Rules that you want to include +// +// Create and update the Rules that you want to include in the WebACL. For +// more information, see CreateRule and UpdateRule. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of a CreateWebACL request. +// +// Submit a CreateWebACL request. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of an UpdateWebACL request. +// +// Submit an UpdateWebACL request to specify the Rules that you want to include // in the WebACL, to specify the default action, and to associate the WebACL -// with a CloudFront distribution. For more information about how to use the -// AWS WAF API, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// with a CloudFront distribution. +// +// For more information about how to use the AWS WAF API, see the AWS WAF +// Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). func (c *WAF) CreateWebACL(input *CreateWebACLInput) (*CreateWebACLOutput, error) { req, out := c.CreateWebACLRequest(input) err := req.Send() @@ -450,14 +494,19 @@ func (c *WAF) CreateXssMatchSetRequest(input *CreateXssMatchSetInput) (req *requ // // To create and configure an XssMatchSet, perform the following steps: // -// Use GetChangeToken to get the change token that you provide in the ChangeToken -// parameter of a CreateXssMatchSet request. Submit a CreateXssMatchSet request. -// Use GetChangeToken to get the change token that you provide in the ChangeToken -// parameter of an UpdateXssMatchSet request. Submit an UpdateXssMatchSet request -// to specify the parts of web requests in which you want to allow, block, or -// count cross-site scripting attacks. For more information about how to use -// the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer -// Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of a CreateXssMatchSet request. +// +// Submit a CreateXssMatchSet request. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of an UpdateXssMatchSet request. +// +// Submit an UpdateXssMatchSet request to specify the parts of web requests +// in which you want to allow, block, or count cross-site scripting attacks. +// +// For more information about how to use the AWS WAF API to allow or block +// HTTP requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). func (c *WAF) CreateXssMatchSet(input *CreateXssMatchSetInput) (*CreateXssMatchSetOutput, error) { req, out := c.CreateXssMatchSetRequest(input) err := req.Send() @@ -513,10 +562,13 @@ func (c *WAF) DeleteByteMatchSetRequest(input *DeleteByteMatchSetInput) (req *re // // To permanently delete a ByteMatchSet, perform the following steps: // -// Update the ByteMatchSet to remove filters, if any. For more information, -// see UpdateByteMatchSet. Use GetChangeToken to get the change token that you -// provide in the ChangeToken parameter of a DeleteByteMatchSet request. Submit -// a DeleteByteMatchSet request. +// Update the ByteMatchSet to remove filters, if any. For more information, +// see UpdateByteMatchSet. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of a DeleteByteMatchSet request. +// +// Submit a DeleteByteMatchSet request. func (c *WAF) DeleteByteMatchSet(input *DeleteByteMatchSetInput) (*DeleteByteMatchSetOutput, error) { req, out := c.DeleteByteMatchSetRequest(input) err := req.Send() @@ -571,10 +623,13 @@ func (c *WAF) DeleteIPSetRequest(input *DeleteIPSetInput) (req *request.Request, // // To permanently delete an IPSet from AWS WAF, perform the following steps: // -// Update the IPSet to remove IP address ranges, if any. For more information, -// see UpdateIPSet. Use GetChangeToken to get the change token that you provide -// in the ChangeToken parameter of a DeleteIPSet request. Submit a DeleteIPSet -// request. +// Update the IPSet to remove IP address ranges, if any. For more information, +// see UpdateIPSet. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of a DeleteIPSet request. +// +// Submit a DeleteIPSet request. func (c *WAF) DeleteIPSet(input *DeleteIPSetInput) (*DeleteIPSetOutput, error) { req, out := c.DeleteIPSetRequest(input) err := req.Send() @@ -630,9 +685,13 @@ func (c *WAF) DeleteRuleRequest(input *DeleteRuleInput) (req *request.Request, o // // To permanently delete a Rule from AWS WAF, perform the following steps: // -// Update the Rule to remove predicates, if any. For more information, see -// UpdateRule. Use GetChangeToken to get the change token that you provide in -// the ChangeToken parameter of a DeleteRule request. Submit a DeleteRule request. +// Update the Rule to remove predicates, if any. For more information, see +// UpdateRule. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of a DeleteRule request. +// +// Submit a DeleteRule request. func (c *WAF) DeleteRule(input *DeleteRuleInput) (*DeleteRuleOutput, error) { req, out := c.DeleteRuleRequest(input) err := req.Send() @@ -688,10 +747,13 @@ func (c *WAF) DeleteSizeConstraintSetRequest(input *DeleteSizeConstraintSetInput // // To permanently delete a SizeConstraintSet, perform the following steps: // -// Update the SizeConstraintSet to remove filters, if any. For more information, -// see UpdateSizeConstraintSet. Use GetChangeToken to get the change token that -// you provide in the ChangeToken parameter of a DeleteSizeConstraintSet request. -// Submit a DeleteSizeConstraintSet request. +// Update the SizeConstraintSet to remove filters, if any. For more information, +// see UpdateSizeConstraintSet. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of a DeleteSizeConstraintSet request. +// +// Submit a DeleteSizeConstraintSet request. func (c *WAF) DeleteSizeConstraintSet(input *DeleteSizeConstraintSetInput) (*DeleteSizeConstraintSetOutput, error) { req, out := c.DeleteSizeConstraintSetRequest(input) err := req.Send() @@ -748,10 +810,13 @@ func (c *WAF) DeleteSqlInjectionMatchSetRequest(input *DeleteSqlInjectionMatchSe // To permanently delete a SqlInjectionMatchSet from AWS WAF, perform the following // steps: // -// Update the SqlInjectionMatchSet to remove filters, if any. For more information, -// see UpdateSqlInjectionMatchSet. Use GetChangeToken to get the change token -// that you provide in the ChangeToken parameter of a DeleteSqlInjectionMatchSet -// request. Submit a DeleteSqlInjectionMatchSet request. +// Update the SqlInjectionMatchSet to remove filters, if any. For more information, +// see UpdateSqlInjectionMatchSet. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of a DeleteSqlInjectionMatchSet request. +// +// Submit a DeleteSqlInjectionMatchSet request. func (c *WAF) DeleteSqlInjectionMatchSet(input *DeleteSqlInjectionMatchSetInput) (*DeleteSqlInjectionMatchSetOutput, error) { req, out := c.DeleteSqlInjectionMatchSetRequest(input) err := req.Send() @@ -804,9 +869,12 @@ func (c *WAF) DeleteWebACLRequest(input *DeleteWebACLInput) (req *request.Reques // // To delete a WebACL, perform the following steps: // -// Update the WebACL to remove Rules, if any. For more information, see UpdateWebACL. -// Use GetChangeToken to get the change token that you provide in the ChangeToken -// parameter of a DeleteWebACL request. Submit a DeleteWebACL request. +// Update the WebACL to remove Rules, if any. For more information, see UpdateWebACL. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of a DeleteWebACL request. +// +// Submit a DeleteWebACL request. func (c *WAF) DeleteWebACL(input *DeleteWebACLInput) (*DeleteWebACLOutput, error) { req, out := c.DeleteWebACLRequest(input) err := req.Send() @@ -862,10 +930,13 @@ func (c *WAF) DeleteXssMatchSetRequest(input *DeleteXssMatchSetInput) (req *requ // To permanently delete an XssMatchSet from AWS WAF, perform the following // steps: // -// Update the XssMatchSet to remove filters, if any. For more information, -// see UpdateXssMatchSet. Use GetChangeToken to get the change token that you -// provide in the ChangeToken parameter of a DeleteXssMatchSet request. Submit -// a DeleteXssMatchSet request. +// Update the XssMatchSet to remove filters, if any. For more information, +// see UpdateXssMatchSet. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of a DeleteXssMatchSet request. +// +// Submit a DeleteXssMatchSet request. func (c *WAF) DeleteXssMatchSet(input *DeleteXssMatchSetInput) (*DeleteXssMatchSetOutput, error) { req, out := c.DeleteXssMatchSetRequest(input) err := req.Send() @@ -1026,10 +1097,14 @@ func (c *WAF) GetChangeTokenStatusRequest(input *GetChangeTokenStatusInput) (req // Returns the status of a ChangeToken that you got by calling GetChangeToken. // ChangeTokenStatus is one of the following values: // -// PROVISIONED: You requested the change token by calling GetChangeToken, +// PROVISIONED: You requested the change token by calling GetChangeToken, // but you haven't used it yet in a call to create, update, or delete an AWS -// WAF object. PENDING: AWS WAF is propagating the create, update, or delete -// request to all AWS WAF servers. IN_SYNC: Propagation is complete. +// WAF object. +// +// PENDING: AWS WAF is propagating the create, update, or delete request +// to all AWS WAF servers. +// +// IN_SYNC: Propagation is complete. func (c *WAF) GetChangeTokenStatus(input *GetChangeTokenStatusInput) (*GetChangeTokenStatusOutput, error) { req, out := c.GetChangeTokenStatusRequest(input) err := req.Send() @@ -1180,7 +1255,7 @@ func (c *WAF) GetSampledRequestsRequest(input *GetSampledRequestsInput) (req *re // sample size of up to 100 requests, and you can specify any time range in // the previous three hours. // -// GetSampledRequests returns a time range, which is usually the time range +// GetSampledRequests returns a time range, which is usually the time range // that you specified. However, if your resource (such as a CloudFront distribution) // received 5,000 requests before the specified time range elapsed, GetSampledRequests // returns an updated time range. This new time range indicates the actual period @@ -1763,29 +1838,40 @@ func (c *WAF) UpdateByteMatchSetRequest(input *UpdateByteMatchSetInput) (req *re // Inserts or deletes ByteMatchTuple objects (filters) in a ByteMatchSet. For // each ByteMatchTuple object, you specify the following values: // -// Whether to insert or delete the object from the array. If you want to change -// a ByteMatchSetUpdate object, you delete the existing object and add a new -// one. The part of a web request that you want AWS WAF to inspect, such as -// a query string or the value of the User-Agent header. The bytes (typically -// a string that corresponds with ASCII characters) that you want AWS WAF to -// look for. For more information, including how you specify the values for -// the AWS WAF API and the AWS CLI or SDKs, see TargetString in the ByteMatchTuple -// data type. Where to look, such as at the beginning or the end of a query -// string. Whether to perform any conversions on the request, such as converting -// it to lowercase, before inspecting it for the specified string. For example, -// you can add a ByteMatchSetUpdate object that matches web requests in which -// User-Agent headers contain the string BadBot. You can then configure AWS -// WAF to block those requests. +// Whether to insert or delete the object from the array. If you want to +// change a ByteMatchSetUpdate object, you delete the existing object and add +// a new one. +// +// The part of a web request that you want AWS WAF to inspect, such as a +// query string or the value of the User-Agent header. +// +// The bytes (typically a string that corresponds with ASCII characters) +// that you want AWS WAF to look for. For more information, including how you +// specify the values for the AWS WAF API and the AWS CLI or SDKs, see TargetString +// in the ByteMatchTuple data type. +// +// Where to look, such as at the beginning or the end of a query string. +// +// Whether to perform any conversions on the request, such as converting +// it to lowercase, before inspecting it for the specified string. +// +// For example, you can add a ByteMatchSetUpdate object that matches web +// requests in which User-Agent headers contain the string BadBot. You can then +// configure AWS WAF to block those requests. // // To create and configure a ByteMatchSet, perform the following steps: // -// Create a ByteMatchSet. For more information, see CreateByteMatchSet. Use -// GetChangeToken to get the change token that you provide in the ChangeToken -// parameter of an UpdateByteMatchSet request. Submit an UpdateByteMatchSet -// request to specify the part of the request that you want AWS WAF to inspect -// (for example, the header or the URI) and the value that you want AWS WAF -// to watch for. For more information about how to use the AWS WAF API to allow -// or block HTTP requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// Create a ByteMatchSet. For more information, see CreateByteMatchSet. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of an UpdateByteMatchSet request. +// +// Submit an UpdateByteMatchSet request to specify the part of the request +// that you want AWS WAF to inspect (for example, the header or the URI) and +// the value that you want AWS WAF to watch for. +// +// For more information about how to use the AWS WAF API to allow or block +// HTTP requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). func (c *WAF) UpdateByteMatchSet(input *UpdateByteMatchSetInput) (*UpdateByteMatchSetOutput, error) { req, out := c.UpdateByteMatchSetRequest(input) err := req.Send() @@ -1836,15 +1922,31 @@ func (c *WAF) UpdateIPSetRequest(input *UpdateIPSetInput) (req *request.Request, // Inserts or deletes IPSetDescriptor objects in an IPSet. For each IPSetDescriptor // object, you specify the following values: // -// Whether to insert or delete the object from the array. If you want to change -// an IPSetDescriptor object, you delete the existing object and add a new one. -// The IP address version, IPv4. The IP address in CIDR notation, for example, -// 192.0.2.0/24 (for the range of IP addresses from 192.0.2.0 to 192.0.2.255) -// or 192.0.2.44/32 (for the individual IP address 192.0.2.44). AWS WAF supports -// /8, /16, /24, and /32 IP address ranges. For more information about CIDR +// Whether to insert or delete the object from the array. If you want to +// change an IPSetDescriptor object, you delete the existing object and add +// a new one. +// +// The IP address version, IPv4 or IPv6. +// +// The IP address in CIDR notation, for example, 192.0.2.0/24 (for the range +// of IP addresses from 192.0.2.0 to 192.0.2.255) or 192.0.2.44/32 (for the +// individual IP address 192.0.2.44). +// +// AWS WAF supports /8, /16, /24, and /32 IP address ranges for IPv4, and +// /24, /32, /48, /56, /64 and /128 for IPv6. For more information about CIDR // notation, see the Wikipedia entry Classless Inter-Domain Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). // -// You use an IPSet to specify which web requests you want to allow or block +// IPv6 addresses can be represented using any of the following formats: +// +// 1111:0000:0000:0000:0000:0000:0000:0111/128 +// +// 1111:0:0:0:0:0:0:0111/128 +// +// 1111::0111/128 +// +// 1111::111/128 +// +// You use an IPSet to specify which web requests you want to allow or block // based on the IP addresses that the requests originated from. For example, // if you're receiving a lot of requests from one or a small number of IP addresses // and you want to block the requests, you can create an IPSet that specifies @@ -1852,13 +1954,17 @@ func (c *WAF) UpdateIPSetRequest(input *UpdateIPSetInput) (req *request.Request, // // To create and configure an IPSet, perform the following steps: // -// Submit a CreateIPSet request. Use GetChangeToken to get the change token -// that you provide in the ChangeToken parameter of an UpdateIPSet request. -// Submit an UpdateIPSet request to specify the IP addresses that you want AWS -// WAF to watch for. When you update an IPSet, you specify the IP addresses -// that you want to add and/or the IP addresses that you want to delete. If -// you want to change an IP address, you delete the existing IP address and -// add the new one. +// Submit a CreateIPSet request. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of an UpdateIPSet request. +// +// Submit an UpdateIPSet request to specify the IP addresses that you want +// AWS WAF to watch for. +// +// When you update an IPSet, you specify the IP addresses that you want to +// add and/or the IP addresses that you want to delete. If you want to change +// an IP address, you delete the existing IP address and add the new one. // // For more information about how to use the AWS WAF API to allow or block // HTTP requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). @@ -1915,21 +2021,30 @@ func (c *WAF) UpdateRuleRequest(input *UpdateRuleInput) (req *request.Request, o // to a Rule, a request must match all of the specifications to be allowed, // blocked, or counted. For example, suppose you add the following to a Rule: // -// A ByteMatchSet that matches the value BadBot in the User-Agent header An -// IPSet that matches the IP address 192.0.2.44 You then add the Rule to a -// WebACL and specify that you want to block requests that satisfy the Rule. -// For a request to be blocked, the User-Agent header in the request must contain -// the value BadBot and the request must originate from the IP address 192.0.2.44. +// A ByteMatchSet that matches the value BadBot in the User-Agent header +// +// An IPSet that matches the IP address 192.0.2.44 +// +// You then add the Rule to a WebACL and specify that you want to block requests +// that satisfy the Rule. For a request to be blocked, the User-Agent header +// in the request must contain the value BadBot and the request must originate +// from the IP address 192.0.2.44. // // To create and configure a Rule, perform the following steps: // -// Create and update the predicates that you want to include in the Rule. -// Create the Rule. See CreateRule. Use GetChangeToken to get the change token -// that you provide in the ChangeToken parameter of an UpdateRule request. Submit -// an UpdateRule request to add predicates to the Rule. Create and update a -// WebACL that contains the Rule. See CreateWebACL. If you want to replace -// one ByteMatchSet or IPSet with another, you delete the existing one and add -// the new one. +// Create and update the predicates that you want to include in the Rule. +// +// Create the Rule. See CreateRule. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of an UpdateRule request. +// +// Submit an UpdateRule request to add predicates to the Rule. +// +// Create and update a WebACL that contains the Rule. See CreateWebACL. +// +// If you want to replace one ByteMatchSet or IPSet with another, you delete +// the existing one and add the new one. // // For more information about how to use the AWS WAF API to allow or block // HTTP requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). @@ -1983,31 +2098,42 @@ func (c *WAF) UpdateSizeConstraintSetRequest(input *UpdateSizeConstraintSetInput // Inserts or deletes SizeConstraint objects (filters) in a SizeConstraintSet. // For each SizeConstraint object, you specify the following values: // -// Whether to insert or delete the object from the array. If you want to change -// a SizeConstraintSetUpdate object, you delete the existing object and add -// a new one. The part of a web request that you want AWS WAF to evaluate, such -// as the length of a query string or the length of the User-Agent header. Whether -// to perform any transformations on the request, such as converting it to lowercase, -// before checking its length. Note that transformations of the request body -// are not supported because the AWS resource forwards only the first 8192 bytes -// of your request to AWS WAF. A ComparisonOperator used for evaluating the -// selected part of the request against the specified Size, such as equals, -// greater than, less than, and so on. The length, in bytes, that you want AWS -// WAF to watch for in selected part of the request. The length is computed -// after applying the transformation. For example, you can add a SizeConstraintSetUpdate -// object that matches web requests in which the length of the User-Agent header -// is greater than 100 bytes. You can then configure AWS WAF to block those -// requests. +// Whether to insert or delete the object from the array. If you want to +// change a SizeConstraintSetUpdate object, you delete the existing object and +// add a new one. +// +// The part of a web request that you want AWS WAF to evaluate, such as the +// length of a query string or the length of the User-Agent header. +// +// Whether to perform any transformations on the request, such as converting +// it to lowercase, before checking its length. Note that transformations of +// the request body are not supported because the AWS resource forwards only +// the first 8192 bytes of your request to AWS WAF. +// +// A ComparisonOperator used for evaluating the selected part of the request +// against the specified Size, such as equals, greater than, less than, and +// so on. +// +// The length, in bytes, that you want AWS WAF to watch for in selected part +// of the request. The length is computed after applying the transformation. +// +// For example, you can add a SizeConstraintSetUpdate object that matches +// web requests in which the length of the User-Agent header is greater than +// 100 bytes. You can then configure AWS WAF to block those requests. // // To create and configure a SizeConstraintSet, perform the following steps: // -// Create a SizeConstraintSet. For more information, see CreateSizeConstraintSet. -// Use GetChangeToken to get the change token that you provide in the ChangeToken -// parameter of an UpdateSizeConstraintSet request. Submit an UpdateSizeConstraintSet -// request to specify the part of the request that you want AWS WAF to inspect -// (for example, the header or the URI) and the value that you want AWS WAF -// to watch for. For more information about how to use the AWS WAF API to allow -// or block HTTP requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// Create a SizeConstraintSet. For more information, see CreateSizeConstraintSet. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of an UpdateSizeConstraintSet request. +// +// Submit an UpdateSizeConstraintSet request to specify the part of the request +// that you want AWS WAF to inspect (for example, the header or the URI) and +// the value that you want AWS WAF to watch for. +// +// For more information about how to use the AWS WAF API to allow or block +// HTTP requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). func (c *WAF) UpdateSizeConstraintSet(input *UpdateSizeConstraintSetInput) (*UpdateSizeConstraintSetOutput, error) { req, out := c.UpdateSizeConstraintSetRequest(input) err := req.Send() @@ -2058,25 +2184,34 @@ func (c *WAF) UpdateSqlInjectionMatchSetRequest(input *UpdateSqlInjectionMatchSe // Inserts or deletes SqlInjectionMatchTuple objects (filters) in a SqlInjectionMatchSet. // For each SqlInjectionMatchTuple object, you specify the following values: // -// Action: Whether to insert the object into or delete the object from the +// Action: Whether to insert the object into or delete the object from the // array. To change a SqlInjectionMatchTuple, you delete the existing object -// and add a new one. FieldToMatch: The part of web requests that you want AWS -// WAF to inspect and, if you want AWS WAF to inspect a header, the name of -// the header. TextTransformation: Which text transformation, if any, to perform -// on the web request before inspecting the request for snippets of malicious -// SQL code. You use SqlInjectionMatchSet objects to specify which CloudFront -// requests you want to allow, block, or count. For example, if you're receiving -// requests that contain snippets of SQL code in the query string and you want -// to block the requests, you can create a SqlInjectionMatchSet with the applicable -// settings, and then configure AWS WAF to block the requests. +// and add a new one. +// +// FieldToMatch: The part of web requests that you want AWS WAF to inspect +// and, if you want AWS WAF to inspect a header, the name of the header. +// +// TextTransformation: Which text transformation, if any, to perform on +// the web request before inspecting the request for snippets of malicious SQL +// code. +// +// You use SqlInjectionMatchSet objects to specify which CloudFront requests +// you want to allow, block, or count. For example, if you're receiving requests +// that contain snippets of SQL code in the query string and you want to block +// the requests, you can create a SqlInjectionMatchSet with the applicable settings, +// and then configure AWS WAF to block the requests. // // To create and configure a SqlInjectionMatchSet, perform the following steps: // -// Submit a CreateSqlInjectionMatchSet request. Use GetChangeToken to get -// the change token that you provide in the ChangeToken parameter of an UpdateIPSet -// request. Submit an UpdateSqlInjectionMatchSet request to specify the parts -// of web requests that you want AWS WAF to inspect for snippets of SQL code. -// For more information about how to use the AWS WAF API to allow or block +// Submit a CreateSqlInjectionMatchSet request. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of an UpdateIPSet request. +// +// Submit an UpdateSqlInjectionMatchSet request to specify the parts of web +// requests that you want AWS WAF to inspect for snippets of SQL code. +// +// For more information about how to use the AWS WAF API to allow or block // HTTP requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). func (c *WAF) UpdateSqlInjectionMatchSet(input *UpdateSqlInjectionMatchSetInput) (*UpdateSqlInjectionMatchSetOutput, error) { req, out := c.UpdateSqlInjectionMatchSetRequest(input) @@ -2129,33 +2264,46 @@ func (c *WAF) UpdateWebACLRequest(input *UpdateWebACLInput) (req *request.Reques // web requests that you want to allow, block, or count. When you update a WebACL, // you specify the following values: // -// A default action for the WebACL, either ALLOW or BLOCK. AWS WAF performs +// A default action for the WebACL, either ALLOW or BLOCK. AWS WAF performs // the default action if a request doesn't match the criteria in any of the -// Rules in a WebACL. The Rules that you want to add and/or delete. If you want -// to replace one Rule with another, you delete the existing Rule and add the -// new one. For each Rule, whether you want AWS WAF to allow requests, block -// requests, or count requests that match the conditions in the Rule. The order -// in which you want AWS WAF to evaluate the Rules in a WebACL. If you add more -// than one Rule to a WebACL, AWS WAF evaluates each request against the Rules -// in order based on the value of Priority. (The Rule that has the lowest value -// for Priority is evaluated first.) When a web request matches all of the predicates -// (such as ByteMatchSets and IPSets) in a Rule, AWS WAF immediately takes the -// corresponding action, allow or block, and doesn't evaluate the request against -// the remaining Rules in the WebACL, if any. The CloudFront distribution that -// you want to associate with the WebACL. To create and configure a WebACL, -// perform the following steps: -// -// Create and update the predicates that you want to include in Rules. For +// Rules in a WebACL. +// +// The Rules that you want to add and/or delete. If you want to replace one +// Rule with another, you delete the existing Rule and add the new one. +// +// For each Rule, whether you want AWS WAF to allow requests, block requests, +// or count requests that match the conditions in the Rule. +// +// The order in which you want AWS WAF to evaluate the Rules in a WebACL. +// If you add more than one Rule to a WebACL, AWS WAF evaluates each request +// against the Rules in order based on the value of Priority. (The Rule that +// has the lowest value for Priority is evaluated first.) When a web request +// matches all of the predicates (such as ByteMatchSets and IPSets) in a Rule, +// AWS WAF immediately takes the corresponding action, allow or block, and doesn't +// evaluate the request against the remaining Rules in the WebACL, if any. +// +// The CloudFront distribution that you want to associate with the WebACL. +// +// To create and configure a WebACL, perform the following steps: +// +// Create and update the predicates that you want to include in Rules. For // more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, // UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet. -// Create and update the Rules that you want to include in the WebACL. For more -// information, see CreateRule and UpdateRule. Create a WebACL. See CreateWebACL. -// Use GetChangeToken to get the change token that you provide in the ChangeToken -// parameter of an UpdateWebACL request. Submit an UpdateWebACL request to specify -// the Rules that you want to include in the WebACL, to specify the default -// action, and to associate the WebACL with a CloudFront distribution. For -// more information about how to use the AWS WAF API to allow or block HTTP -// requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// +// Create and update the Rules that you want to include in the WebACL. For +// more information, see CreateRule and UpdateRule. +// +// Create a WebACL. See CreateWebACL. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of an UpdateWebACL request. +// +// Submit an UpdateWebACL request to specify the Rules that you want to include +// in the WebACL, to specify the default action, and to associate the WebACL +// with a CloudFront distribution. +// +// For more information about how to use the AWS WAF API to allow or block +// HTTP requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). func (c *WAF) UpdateWebACL(input *UpdateWebACLInput) (*UpdateWebACLOutput, error) { req, out := c.UpdateWebACLRequest(input) err := req.Send() @@ -2206,13 +2354,17 @@ func (c *WAF) UpdateXssMatchSetRequest(input *UpdateXssMatchSetInput) (req *requ // Inserts or deletes XssMatchTuple objects (filters) in an XssMatchSet. For // each XssMatchTuple object, you specify the following values: // -// Action: Whether to insert the object into or delete the object from the +// Action: Whether to insert the object into or delete the object from the // array. To change a XssMatchTuple, you delete the existing object and add -// a new one. FieldToMatch: The part of web requests that you want AWS WAF to -// inspect and, if you want AWS WAF to inspect a header, the name of the header. -// TextTransformation: Which text transformation, if any, to perform on the -// web request before inspecting the request for cross-site scripting attacks. -// You use XssMatchSet objects to specify which CloudFront requests you want +// a new one. +// +// FieldToMatch: The part of web requests that you want AWS WAF to inspect +// and, if you want AWS WAF to inspect a header, the name of the header. +// +// TextTransformation: Which text transformation, if any, to perform on +// the web request before inspecting the request for cross-site scripting attacks. +// +// You use XssMatchSet objects to specify which CloudFront requests you want // to allow, block, or count. For example, if you're receiving requests that // contain cross-site scripting attacks in the request body and you want to // block the requests, you can create an XssMatchSet with the applicable settings, @@ -2220,12 +2372,16 @@ func (c *WAF) UpdateXssMatchSetRequest(input *UpdateXssMatchSetInput) (req *requ // // To create and configure an XssMatchSet, perform the following steps: // -// Submit a CreateXssMatchSet request. Use GetChangeToken to get the change -// token that you provide in the ChangeToken parameter of an UpdateIPSet request. -// Submit an UpdateXssMatchSet request to specify the parts of web requests -// that you want AWS WAF to inspect for cross-site scripting attacks. For more -// information about how to use the AWS WAF API to allow or block HTTP requests, -// see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). +// Submit a CreateXssMatchSet request. +// +// Use GetChangeToken to get the change token that you provide in the ChangeToken +// parameter of an UpdateIPSet request. +// +// Submit an UpdateXssMatchSet request to specify the parts of web requests +// that you want AWS WAF to inspect for cross-site scripting attacks. +// +// For more information about how to use the AWS WAF API to allow or block +// HTTP requests, see the AWS WAF Developer Guide (http://docs.aws.amazon.com/waf/latest/developerguide/). func (c *WAF) UpdateXssMatchSet(input *UpdateXssMatchSetInput) (*UpdateXssMatchSetOutput, error) { req, out := c.UpdateXssMatchSetRequest(input) err := req.Send() @@ -2245,10 +2401,13 @@ type ActivatedRule struct { // Specifies the action that CloudFront or AWS WAF takes when a web request // matches the conditions in the Rule. Valid values for Action include the following: // - // ALLOW: CloudFront responds with the requested object. BLOCK: CloudFront - // responds with an HTTP 403 (Forbidden) status code. COUNT: AWS WAF increments - // a counter of requests that match the conditions in the rule and then continues - // to inspect the web request based on the remaining rules in the web ACL. + // ALLOW: CloudFront responds with the requested object. + // + // BLOCK: CloudFront responds with an HTTP 403 (Forbidden) status code. + // + // COUNT: AWS WAF increments a counter of requests that match the conditions + // in the rule and then continues to inspect the web request based on the remaining + // rules in the web ACL. Action *WafAction `type:"structure" required:"true"` // Specifies the order in which the Rules in a WebACL are evaluated. Rules with @@ -2262,7 +2421,7 @@ type ActivatedRule struct { // or delete a one from a WebACL (see UpdateWebACL), or delete a Rule from AWS // WAF (see DeleteRule). // - // RuleId is returned by CreateRule and by ListRules. + // RuleId is returned by CreateRule and by ListRules. RuleId *string `min:"1" type:"string" required:"true"` } @@ -2320,7 +2479,7 @@ type ByteMatchSet struct { // insert a ByteMatchSet into a Rule or delete one from a Rule (see UpdateRule), // and delete a ByteMatchSet from AWS WAF (see DeleteByteMatchSet). // - // ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets. + // ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets. ByteMatchSetId *string `min:"1" type:"string" required:"true"` // Specifies the bytes (typically a string that corresponds with ASCII characters) @@ -2352,7 +2511,7 @@ type ByteMatchSetSummary struct { // about a ByteMatchSet, update a ByteMatchSet, remove a ByteMatchSet from a // Rule, and delete a ByteMatchSet from AWS WAF. // - // ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets. + // ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets. ByteMatchSetId *string `min:"1" type:"string" required:"true"` // A friendly name or description of the ByteMatchSet. You can't change Name @@ -2430,37 +2589,44 @@ type ByteMatchTuple struct { // in the query string, if any), specify where you want AWS WAF to search. Valid // values include the following: // - // CONTAINS + // CONTAINS // // The specified part of the web request must include the value of TargetString, // but the location doesn't matter. // - // CONTAINS_WORD + // CONTAINS_WORD // // The specified part of the web request must include the value of TargetString, // and TargetString must contain only alphanumeric characters or underscore // (A-Z, a-z, 0-9, or _). In addition, TargetString must be a word, which means // one of the following: // - // TargetString exactly matches the value of the specified part of the web - // request, such as the value of a header. TargetString is at the beginning - // of the specified part of the web request and is followed by a character other - // than an alphanumeric character or underscore (_), for example, BadBot;. TargetString - // is at the end of the specified part of the web request and is preceded by - // a character other than an alphanumeric character or underscore (_), for example, - // ;BadBot. TargetString is in the middle of the specified part of the web request + // TargetString exactly matches the value of the specified part of the web + // request, such as the value of a header. + // + // TargetString is at the beginning of the specified part of the web request + // and is followed by a character other than an alphanumeric character or underscore + // (_), for example, BadBot;. + // + // TargetString is at the end of the specified part of the web request and + // is preceded by a character other than an alphanumeric character or underscore + // (_), for example, ;BadBot. + // + // TargetString is in the middle of the specified part of the web request // and is preceded and followed by characters other than alphanumeric characters - // or underscore (_), for example, -BadBot;. EXACTLY + // or underscore (_), for example, -BadBot;. + // + // EXACTLY // // The value of the specified part of the web request must exactly match the // value of TargetString. // - // STARTS_WITH + // STARTS_WITH // // The value of TargetString must appear at the beginning of the specified // part of the web request. // - // ENDS_WITH + // ENDS_WITH // // The value of TargetString must appear at the end of the specified part of // the web request. @@ -2472,24 +2638,31 @@ type ByteMatchTuple struct { // // Valid values depend on the values that you specified for FieldToMatch: // - // HEADER: The value that you want AWS WAF to search for in the request header - // that you specified in FieldToMatch, for example, the value of the User-Agent - // or Referer header. METHOD: The HTTP method, which indicates the type of operation - // specified in the request. CloudFront supports the following methods: DELETE, - // GET, HEAD, OPTIONS, PATCH, POST, and PUT. QUERY_STRING: The value that you - // want AWS WAF to search for in the query string, which is the part of a URL - // that appears after a ? character. URI: The value that you want AWS WAF to - // search for in the part of a URL that identifies a resource, for example, - // /images/daily-ad.jpg. BODY: The part of a request that contains any additional - // data that you want to send to your web server as the HTTP request body, such - // as data from a form. The request body immediately follows the request headers. - // Note that only the first 8192 bytes of the request body are forwarded to - // AWS WAF for inspection. To allow or block requests based on the length of - // the body, you can create a size constraint set. For more information, see - // CreateSizeConstraintSet. If TargetString includes alphabetic characters - // A-Z and a-z, note that the value is case sensitive. - // - // If you're using the AWS WAF API + // HEADER: The value that you want AWS WAF to search for in the request + // header that you specified in FieldToMatch, for example, the value of the + // User-Agent or Referer header. + // + // METHOD: The HTTP method, which indicates the type of operation specified + // in the request. CloudFront supports the following methods: DELETE, GET, HEAD, + // OPTIONS, PATCH, POST, and PUT. + // + // QUERY_STRING: The value that you want AWS WAF to search for in the query + // string, which is the part of a URL that appears after a ? character. + // + // URI: The value that you want AWS WAF to search for in the part of a URL + // that identifies a resource, for example, /images/daily-ad.jpg. + // + // BODY: The part of a request that contains any additional data that you + // want to send to your web server as the HTTP request body, such as data from + // a form. The request body immediately follows the request headers. Note that + // only the first 8192 bytes of the request body are forwarded to AWS WAF for + // inspection. To allow or block requests based on the length of the body, you + // can create a size constraint set. For more information, see CreateSizeConstraintSet. + // + // If TargetString includes alphabetic characters A-Z and a-z, note that + // the value is case sensitive. + // + // If you're using the AWS WAF API // // Specify a base64-encoded version of the value. The maximum length of the // value before you base64-encode it is 50 bytes. @@ -2499,7 +2672,7 @@ type ByteMatchTuple struct { // you base64-encode BadBot using MIME base64 encoding and include the resulting // value, QmFkQm90, in the value of TargetString. // - // If you're using the AWS CLI or one of the AWS SDKs + // If you're using the AWS CLI or one of the AWS SDKs // // The value that you want AWS WAF to search for. The SDK automatically base64 // encodes the value. @@ -2512,44 +2685,69 @@ type ByteMatchTuple struct { // AWS WAF performs the transformation on TargetString before inspecting a request // for a match. // - // CMD_LINE + // CMD_LINE // // When you're concerned that attackers are injecting an operating system commandline // command and using unusual formatting to disguise some or all of the command, // use this option to perform the following transformations: // - // Delete the following characters: \ " ' ^ Delete spaces before the following - // characters: / ( Replace the following characters with a space: , ; Replace - // multiple spaces with one space Convert uppercase letters (A-Z) to lowercase - // (a-z) COMPRESS_WHITE_SPACE + // Delete the following characters: \ " ' ^ + // + // Delete spaces before the following characters: / ( + // + // Replace the following characters with a space: , ; + // + // Replace multiple spaces with one space + // + // Convert uppercase letters (A-Z) to lowercase (a-z) + // + // COMPRESS_WHITE_SPACE // // Use this option to replace the following characters with a space character // (decimal 32): // - // \f, formfeed, decimal 12 \t, tab, decimal 9 \n, newline, decimal 10 \r, - // carriage return, decimal 13 \v, vertical tab, decimal 11 non-breaking space, - // decimal 160 COMPRESS_WHITE_SPACE also replaces multiple spaces with one - // space. + // \f, formfeed, decimal 12 + // + // \t, tab, decimal 9 + // + // \n, newline, decimal 10 + // + // \r, carriage return, decimal 13 // - // HTML_ENTITY_DECODE + // \v, vertical tab, decimal 11 + // + // non-breaking space, decimal 160 + // + // COMPRESS_WHITE_SPACE also replaces multiple spaces with one space. + // + // HTML_ENTITY_DECODE // // Use this option to replace HTML-encoded characters with unencoded characters. // HTML_ENTITY_DECODE performs the following operations: // - // Replaces (ampersand)quot; with " Replaces (ampersand)nbsp; with a non-breaking - // space, decimal 160 Replaces (ampersand)lt; with a "less than" symbol Replaces - // (ampersand)gt; with > Replaces characters that are represented in hexadecimal - // format, (ampersand)#xhhhh;, with the corresponding characters Replaces characters - // that are represented in decimal format, (ampersand)#nnnn;, with the corresponding - // characters LOWERCASE + // Replaces (ampersand)quot; with " + // + // Replaces (ampersand)nbsp; with a non-breaking space, decimal 160 + // + // Replaces (ampersand)lt; with a "less than" symbol + // + // Replaces (ampersand)gt; with > + // + // Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, + // with the corresponding characters + // + // Replaces characters that are represented in decimal format, (ampersand)#nnnn;, + // with the corresponding characters + // + // LOWERCASE // // Use this option to convert uppercase letters (A-Z) to lowercase (a-z). // - // URL_DECODE + // URL_DECODE // // Use this option to decode a URL-encoded value. // - // NONE + // NONE // // Specify NONE if you don't want to perform any text transformations. TextTransformation *string `type:"string" required:"true" enum:"TextTransformation"` @@ -2596,7 +2794,7 @@ type CreateByteMatchSetInput struct { _ struct{} `type:"structure"` // The value returned by the most recent call to GetChangeToken. - ChangeToken *string `type:"string" required:"true"` + ChangeToken *string `min:"1" type:"string" required:"true"` // A friendly name or description of the ByteMatchSet. You can't change Name // after you create a ByteMatchSet. @@ -2619,6 +2817,9 @@ func (s *CreateByteMatchSetInput) Validate() error { if s.ChangeToken == nil { invalidParams.Add(request.NewErrParamRequired("ChangeToken")) } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } @@ -2641,7 +2842,7 @@ type CreateByteMatchSetOutput struct { // The ChangeToken that you used to submit the CreateByteMatchSet request. You // can also use this value to query the status of the request. For more information, // see GetChangeTokenStatus. - ChangeToken *string `type:"string"` + ChangeToken *string `min:"1" type:"string"` } // String returns the string representation @@ -2658,7 +2859,7 @@ type CreateIPSetInput struct { _ struct{} `type:"structure"` // The value returned by the most recent call to GetChangeToken. - ChangeToken *string `type:"string" required:"true"` + ChangeToken *string `min:"1" type:"string" required:"true"` // A friendly name or description of the IPSet. You can't change Name after // you create the IPSet. @@ -2681,6 +2882,9 @@ func (s *CreateIPSetInput) Validate() error { if s.ChangeToken == nil { invalidParams.Add(request.NewErrParamRequired("ChangeToken")) } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } @@ -2700,7 +2904,7 @@ type CreateIPSetOutput struct { // The ChangeToken that you used to submit the CreateIPSet request. You can // also use this value to query the status of the request. For more information, // see GetChangeTokenStatus. - ChangeToken *string `type:"string"` + ChangeToken *string `min:"1" type:"string"` // The IPSet returned in the CreateIPSet response. IPSet *IPSet `type:"structure"` @@ -2720,7 +2924,7 @@ type CreateRuleInput struct { _ struct{} `type:"structure"` // The value returned by the most recent call to GetChangeToken. - ChangeToken *string `type:"string" required:"true"` + ChangeToken *string `min:"1" type:"string" required:"true"` // A friendly name or description for the metrics for this Rule. The name can // contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain @@ -2749,6 +2953,9 @@ func (s *CreateRuleInput) Validate() error { if s.ChangeToken == nil { invalidParams.Add(request.NewErrParamRequired("ChangeToken")) } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } if s.MetricName == nil { invalidParams.Add(request.NewErrParamRequired("MetricName")) } @@ -2771,7 +2978,7 @@ type CreateRuleOutput struct { // The ChangeToken that you used to submit the CreateRule request. You can also // use this value to query the status of the request. For more information, // see GetChangeTokenStatus. - ChangeToken *string `type:"string"` + ChangeToken *string `min:"1" type:"string"` // The Rule returned in the CreateRule response. Rule *Rule `type:"structure"` @@ -2791,7 +2998,7 @@ type CreateSizeConstraintSetInput struct { _ struct{} `type:"structure"` // The value returned by the most recent call to GetChangeToken. - ChangeToken *string `type:"string" required:"true"` + ChangeToken *string `min:"1" type:"string" required:"true"` // A friendly name or description of the SizeConstraintSet. You can't change // Name after you create a SizeConstraintSet. @@ -2814,6 +3021,9 @@ func (s *CreateSizeConstraintSetInput) Validate() error { if s.ChangeToken == nil { invalidParams.Add(request.NewErrParamRequired("ChangeToken")) } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } @@ -2833,7 +3043,7 @@ type CreateSizeConstraintSetOutput struct { // The ChangeToken that you used to submit the CreateSizeConstraintSet request. // You can also use this value to query the status of the request. For more // information, see GetChangeTokenStatus. - ChangeToken *string `type:"string"` + ChangeToken *string `min:"1" type:"string"` // A SizeConstraintSet that contains no SizeConstraint objects. SizeConstraintSet *SizeConstraintSet `type:"structure"` @@ -2854,7 +3064,7 @@ type CreateSqlInjectionMatchSetInput struct { _ struct{} `type:"structure"` // The value returned by the most recent call to GetChangeToken. - ChangeToken *string `type:"string" required:"true"` + ChangeToken *string `min:"1" type:"string" required:"true"` // A friendly name or description for the SqlInjectionMatchSet that you're creating. // You can't change Name after you create the SqlInjectionMatchSet. @@ -2877,6 +3087,9 @@ func (s *CreateSqlInjectionMatchSetInput) Validate() error { if s.ChangeToken == nil { invalidParams.Add(request.NewErrParamRequired("ChangeToken")) } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } @@ -2897,7 +3110,7 @@ type CreateSqlInjectionMatchSetOutput struct { // The ChangeToken that you used to submit the CreateSqlInjectionMatchSet request. // You can also use this value to query the status of the request. For more // information, see GetChangeTokenStatus. - ChangeToken *string `type:"string"` + ChangeToken *string `min:"1" type:"string"` // A SqlInjectionMatchSet. SqlInjectionMatchSet *SqlInjectionMatchSet `type:"structure"` @@ -2917,7 +3130,7 @@ type CreateWebACLInput struct { _ struct{} `type:"structure"` // The value returned by the most recent call to GetChangeToken. - ChangeToken *string `type:"string" required:"true"` + ChangeToken *string `min:"1" type:"string" required:"true"` // The action that you want AWS WAF to take when a request doesn't match the // criteria specified in any of the Rule objects that are associated with the @@ -2950,6 +3163,9 @@ func (s *CreateWebACLInput) Validate() error { if s.ChangeToken == nil { invalidParams.Add(request.NewErrParamRequired("ChangeToken")) } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } if s.DefaultAction == nil { invalidParams.Add(request.NewErrParamRequired("DefaultAction")) } @@ -2980,7 +3196,7 @@ type CreateWebACLOutput struct { // The ChangeToken that you used to submit the CreateWebACL request. You can // also use this value to query the status of the request. For more information, // see GetChangeTokenStatus. - ChangeToken *string `type:"string"` + ChangeToken *string `min:"1" type:"string"` // The WebACL returned in the CreateWebACL response. WebACL *WebACL `type:"structure"` @@ -3001,7 +3217,7 @@ type CreateXssMatchSetInput struct { _ struct{} `type:"structure"` // The value returned by the most recent call to GetChangeToken. - ChangeToken *string `type:"string" required:"true"` + ChangeToken *string `min:"1" type:"string" required:"true"` // A friendly name or description for the XssMatchSet that you're creating. // You can't change Name after you create the XssMatchSet. @@ -3024,6 +3240,9 @@ func (s *CreateXssMatchSetInput) Validate() error { if s.ChangeToken == nil { invalidParams.Add(request.NewErrParamRequired("ChangeToken")) } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } @@ -3044,7 +3263,7 @@ type CreateXssMatchSetOutput struct { // The ChangeToken that you used to submit the CreateXssMatchSet request. You // can also use this value to query the status of the request. For more information, // see GetChangeTokenStatus. - ChangeToken *string `type:"string"` + ChangeToken *string `min:"1" type:"string"` // An XssMatchSet. XssMatchSet *XssMatchSet `type:"structure"` @@ -3068,7 +3287,7 @@ type DeleteByteMatchSetInput struct { ByteMatchSetId *string `min:"1" type:"string" required:"true"` // The value returned by the most recent call to GetChangeToken. - ChangeToken *string `type:"string" required:"true"` + ChangeToken *string `min:"1" type:"string" required:"true"` } // String returns the string representation @@ -3093,6 +3312,9 @@ func (s *DeleteByteMatchSetInput) Validate() error { if s.ChangeToken == nil { invalidParams.Add(request.NewErrParamRequired("ChangeToken")) } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -3106,7 +3328,7 @@ type DeleteByteMatchSetOutput struct { // The ChangeToken that you used to submit the DeleteByteMatchSet request. You // can also use this value to query the status of the request. For more information, // see GetChangeTokenStatus. - ChangeToken *string `type:"string"` + ChangeToken *string `min:"1" type:"string"` } // String returns the string representation @@ -3123,7 +3345,7 @@ type DeleteIPSetInput struct { _ struct{} `type:"structure"` // The value returned by the most recent call to GetChangeToken. - ChangeToken *string `type:"string" required:"true"` + ChangeToken *string `min:"1" type:"string" required:"true"` // The IPSetId of the IPSet that you want to delete. IPSetId is returned by // CreateIPSet and by ListIPSets. @@ -3146,6 +3368,9 @@ func (s *DeleteIPSetInput) Validate() error { if s.ChangeToken == nil { invalidParams.Add(request.NewErrParamRequired("ChangeToken")) } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } if s.IPSetId == nil { invalidParams.Add(request.NewErrParamRequired("IPSetId")) } @@ -3165,7 +3390,7 @@ type DeleteIPSetOutput struct { // The ChangeToken that you used to submit the DeleteIPSet request. You can // also use this value to query the status of the request. For more information, // see GetChangeTokenStatus. - ChangeToken *string `type:"string"` + ChangeToken *string `min:"1" type:"string"` } // String returns the string representation @@ -3182,7 +3407,7 @@ type DeleteRuleInput struct { _ struct{} `type:"structure"` // The value returned by the most recent call to GetChangeToken. - ChangeToken *string `type:"string" required:"true"` + ChangeToken *string `min:"1" type:"string" required:"true"` // The RuleId of the Rule that you want to delete. RuleId is returned by CreateRule // and by ListRules. @@ -3205,6 +3430,9 @@ func (s *DeleteRuleInput) Validate() error { if s.ChangeToken == nil { invalidParams.Add(request.NewErrParamRequired("ChangeToken")) } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } if s.RuleId == nil { invalidParams.Add(request.NewErrParamRequired("RuleId")) } @@ -3224,7 +3452,7 @@ type DeleteRuleOutput struct { // The ChangeToken that you used to submit the DeleteRule request. You can also // use this value to query the status of the request. For more information, // see GetChangeTokenStatus. - ChangeToken *string `type:"string"` + ChangeToken *string `min:"1" type:"string"` } // String returns the string representation @@ -3241,7 +3469,7 @@ type DeleteSizeConstraintSetInput struct { _ struct{} `type:"structure"` // The value returned by the most recent call to GetChangeToken. - ChangeToken *string `type:"string" required:"true"` + ChangeToken *string `min:"1" type:"string" required:"true"` // The SizeConstraintSetId of the SizeConstraintSet that you want to delete. // SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets. @@ -3264,6 +3492,9 @@ func (s *DeleteSizeConstraintSetInput) Validate() error { if s.ChangeToken == nil { invalidParams.Add(request.NewErrParamRequired("ChangeToken")) } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } if s.SizeConstraintSetId == nil { invalidParams.Add(request.NewErrParamRequired("SizeConstraintSetId")) } @@ -3283,7 +3514,7 @@ type DeleteSizeConstraintSetOutput struct { // The ChangeToken that you used to submit the DeleteSizeConstraintSet request. // You can also use this value to query the status of the request. For more // information, see GetChangeTokenStatus. - ChangeToken *string `type:"string"` + ChangeToken *string `min:"1" type:"string"` } // String returns the string representation @@ -3301,7 +3532,7 @@ type DeleteSqlInjectionMatchSetInput struct { _ struct{} `type:"structure"` // The value returned by the most recent call to GetChangeToken. - ChangeToken *string `type:"string" required:"true"` + ChangeToken *string `min:"1" type:"string" required:"true"` // The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to delete. // SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets. @@ -3324,6 +3555,9 @@ func (s *DeleteSqlInjectionMatchSetInput) Validate() error { if s.ChangeToken == nil { invalidParams.Add(request.NewErrParamRequired("ChangeToken")) } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } if s.SqlInjectionMatchSetId == nil { invalidParams.Add(request.NewErrParamRequired("SqlInjectionMatchSetId")) } @@ -3344,7 +3578,7 @@ type DeleteSqlInjectionMatchSetOutput struct { // The ChangeToken that you used to submit the DeleteSqlInjectionMatchSet request. // You can also use this value to query the status of the request. For more // information, see GetChangeTokenStatus. - ChangeToken *string `type:"string"` + ChangeToken *string `min:"1" type:"string"` } // String returns the string representation @@ -3361,7 +3595,7 @@ type DeleteWebACLInput struct { _ struct{} `type:"structure"` // The value returned by the most recent call to GetChangeToken. - ChangeToken *string `type:"string" required:"true"` + ChangeToken *string `min:"1" type:"string" required:"true"` // The WebACLId of the WebACL that you want to delete. WebACLId is returned // by CreateWebACL and by ListWebACLs. @@ -3384,6 +3618,9 @@ func (s *DeleteWebACLInput) Validate() error { if s.ChangeToken == nil { invalidParams.Add(request.NewErrParamRequired("ChangeToken")) } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } if s.WebACLId == nil { invalidParams.Add(request.NewErrParamRequired("WebACLId")) } @@ -3403,7 +3640,7 @@ type DeleteWebACLOutput struct { // The ChangeToken that you used to submit the DeleteWebACL request. You can // also use this value to query the status of the request. For more information, // see GetChangeTokenStatus. - ChangeToken *string `type:"string"` + ChangeToken *string `min:"1" type:"string"` } // String returns the string representation @@ -3421,7 +3658,7 @@ type DeleteXssMatchSetInput struct { _ struct{} `type:"structure"` // The value returned by the most recent call to GetChangeToken. - ChangeToken *string `type:"string" required:"true"` + ChangeToken *string `min:"1" type:"string" required:"true"` // The XssMatchSetId of the XssMatchSet that you want to delete. XssMatchSetId // is returned by CreateXssMatchSet and by ListXssMatchSets. @@ -3444,6 +3681,9 @@ func (s *DeleteXssMatchSetInput) Validate() error { if s.ChangeToken == nil { invalidParams.Add(request.NewErrParamRequired("ChangeToken")) } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } if s.XssMatchSetId == nil { invalidParams.Add(request.NewErrParamRequired("XssMatchSetId")) } @@ -3464,7 +3704,7 @@ type DeleteXssMatchSetOutput struct { // The ChangeToken that you used to submit the DeleteXssMatchSet request. You // can also use this value to query the status of the request. For more information, // see GetChangeTokenStatus. - ChangeToken *string `type:"string"` + ChangeToken *string `min:"1" type:"string"` } // String returns the string representation @@ -3491,20 +3731,26 @@ type FieldToMatch struct { // The part of the web request that you want AWS WAF to search for a specified // string. Parts of a request that you can search include the following: // - // HEADER: A specified request header, for example, the value of the User-Agent + // HEADER: A specified request header, for example, the value of the User-Agent // or Referer header. If you choose HEADER for the type, specify the name of - // the header in Data. METHOD: The HTTP method, which indicated the type of - // operation that the request is asking the origin to perform. Amazon CloudFront - // supports the following methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, - // and PUT. QUERY_STRING: A query string, which is the part of a URL that appears - // after a ? character, if any. URI: The part of a web request that identifies - // a resource, for example, /images/daily-ad.jpg. BODY: The part of a request - // that contains any additional data that you want to send to your web server - // as the HTTP request body, such as data from a form. The request body immediately - // follows the request headers. Note that only the first 8192 bytes of the request - // body are forwarded to AWS WAF for inspection. To allow or block requests - // based on the length of the body, you can create a size constraint set. For - // more information, see CreateSizeConstraintSet. + // the header in Data. + // + // METHOD: The HTTP method, which indicated the type of operation that the + // request is asking the origin to perform. Amazon CloudFront supports the following + // methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT. + // + // QUERY_STRING: A query string, which is the part of a URL that appears + // after a ? character, if any. + // + // URI: The part of a web request that identifies a resource, for example, + // /images/daily-ad.jpg. + // + // BODY: The part of a request that contains any additional data that you + // want to send to your web server as the HTTP request body, such as data from + // a form. The request body immediately follows the request headers. Note that + // only the first 8192 bytes of the request body are forwarded to AWS WAF for + // inspection. To allow or block requests based on the length of the body, you + // can create a size constraint set. For more information, see CreateSizeConstraintSet. Type *string `type:"string" required:"true" enum:"MatchFieldType"` } @@ -3571,10 +3817,12 @@ type GetByteMatchSetOutput struct { // Information about the ByteMatchSet that you specified in the GetByteMatchSet // request. For more information, see the following topics: // - // ByteMatchSet: Contains ByteMatchSetId, ByteMatchTuples, and Name ByteMatchTuples: - // Contains an array of ByteMatchTuple objects. Each ByteMatchTuple object contains - // FieldToMatch, PositionalConstraint, TargetString, and TextTransformation - // FieldToMatch: Contains Data and Type + // ByteMatchSet: Contains ByteMatchSetId, ByteMatchTuples, and Name + // + // ByteMatchTuples: Contains an array of ByteMatchTuple objects. Each ByteMatchTuple + // object contains FieldToMatch, PositionalConstraint, TargetString, and TextTransformation + // + // FieldToMatch: Contains Data and Type ByteMatchSet *ByteMatchSet `type:"structure"` } @@ -3607,7 +3855,7 @@ type GetChangeTokenOutput struct { // The ChangeToken that you used in the request. Use this value in a GetChangeTokenStatus // request to get the current status of the request. - ChangeToken *string `type:"string"` + ChangeToken *string `min:"1" type:"string"` } // String returns the string representation @@ -3625,7 +3873,7 @@ type GetChangeTokenStatusInput struct { // The change token for which you want to get the status. This change token // was previously returned in the GetChangeToken response. - ChangeToken *string `type:"string" required:"true"` + ChangeToken *string `min:"1" type:"string" required:"true"` } // String returns the string representation @@ -3644,6 +3892,9 @@ func (s *GetChangeTokenStatusInput) Validate() error { if s.ChangeToken == nil { invalidParams.Add(request.NewErrParamRequired("ChangeToken")) } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -3708,9 +3959,10 @@ type GetIPSetOutput struct { // Information about the IPSet that you specified in the GetIPSet request. For // more information, see the following topics: // - // IPSet: Contains IPSetDescriptors, IPSetId, and Name IPSetDescriptors: Contains - // an array of IPSetDescriptor objects. Each IPSetDescriptor object contains - // Type and Value + // IPSet: Contains IPSetDescriptors, IPSetId, and Name + // + // IPSetDescriptors: Contains an array of IPSetDescriptor objects. Each + // IPSetDescriptor object contains Type and Value IPSet *IPSet `type:"structure"` } @@ -3764,8 +4016,9 @@ type GetRuleOutput struct { // Information about the Rule that you specified in the GetRule request. For // more information, see the following topics: // - // Rule: Contains MetricName, Name, an array of Predicate objects, and RuleId - // Predicate: Each Predicate object contains DataId, Negated, and Type + // Rule: Contains MetricName, Name, an array of Predicate objects, and RuleId + // + // Predicate: Each Predicate object contains DataId, Negated, and Type Rule *Rule `type:"structure"` } @@ -3790,10 +4043,11 @@ type GetSampledRequestsInput struct { // RuleId is one of two values: // - // The RuleId of the Rule for which you want GetSampledRequests to return - // a sample of requests. Default_Action, which causes GetSampledRequests to - // return a sample of the requests that didn't match any of the rules in the - // specified WebACL. + // The RuleId of the Rule for which you want GetSampledRequests to return + // a sample of requests. + // + // Default_Action, which causes GetSampledRequests to return a sample of + // the requests that didn't match any of the rules in the specified WebACL. RuleId *string `min:"1" type:"string" required:"true"` // The start date and time and the end date and time of the range for which @@ -3922,10 +4176,14 @@ type GetSizeConstraintSetOutput struct { // Information about the SizeConstraintSet that you specified in the GetSizeConstraintSet // request. For more information, see the following topics: // - // SizeConstraintSet: Contains SizeConstraintSetId, SizeConstraints, and Name - // SizeConstraints: Contains an array of SizeConstraint objects. Each SizeConstraint + // SizeConstraintSet: Contains SizeConstraintSetId, SizeConstraints, and + // Name + // + // SizeConstraints: Contains an array of SizeConstraint objects. Each SizeConstraint // object contains FieldToMatch, TextTransformation, ComparisonOperator, and - // Size FieldToMatch: Contains Data and Type + // Size + // + // FieldToMatch: Contains Data and Type SizeConstraintSet *SizeConstraintSet `type:"structure"` } @@ -3981,10 +4239,13 @@ type GetSqlInjectionMatchSetOutput struct { // Information about the SqlInjectionMatchSet that you specified in the GetSqlInjectionMatchSet // request. For more information, see the following topics: // - // SqlInjectionMatchSet: Contains Name, SqlInjectionMatchSetId, and an array - // of SqlInjectionMatchTuple objects SqlInjectionMatchTuple: Each SqlInjectionMatchTuple - // object contains FieldToMatch and TextTransformation FieldToMatch: Contains - // Data and Type + // SqlInjectionMatchSet: Contains Name, SqlInjectionMatchSetId, and an array + // of SqlInjectionMatchTuple objects + // + // SqlInjectionMatchTuple: Each SqlInjectionMatchTuple object contains FieldToMatch + // and TextTransformation + // + // FieldToMatch: Contains Data and Type SqlInjectionMatchSet *SqlInjectionMatchSet `type:"structure"` } @@ -4038,10 +4299,15 @@ type GetWebACLOutput struct { // Information about the WebACL that you specified in the GetWebACL request. // For more information, see the following topics: // - // WebACL: Contains DefaultAction, MetricName, Name, an array of Rule objects, - // and WebACLId DefaultAction (Data type is WafAction): Contains Type Rules: - // Contains an array of ActivatedRule objects, which contain Action, Priority, - // and RuleId Action: Contains Type + // WebACL: Contains DefaultAction, MetricName, Name, an array of Rule objects, + // and WebACLId + // + // DefaultAction (Data type is WafAction): Contains Type + // + // Rules: Contains an array of ActivatedRule objects, which contain Action, + // Priority, and RuleId + // + // Action: Contains Type WebACL *WebACL `type:"structure"` } @@ -4097,9 +4363,12 @@ type GetXssMatchSetOutput struct { // Information about the XssMatchSet that you specified in the GetXssMatchSet // request. For more information, see the following topics: // - // XssMatchSet: Contains Name, XssMatchSetId, and an array of XssMatchTuple - // objects XssMatchTuple: Each XssMatchTuple object contains FieldToMatch and - // TextTransformation FieldToMatch: Contains Data and Type + // XssMatchSet: Contains Name, XssMatchSetId, and an array of XssMatchTuple + // objects + // + // XssMatchTuple: Each XssMatchTuple object contains FieldToMatch and TextTransformation + // + // FieldToMatch: Contains Data and Type XssMatchSet *XssMatchSet `type:"structure"` } @@ -4147,9 +4416,11 @@ type HTTPRequest struct { // with a CloudFront distribution, this is the value of one of the following // fields in CloudFront access logs: // - // c-ip, if the viewer did not use an HTTP proxy or a load balancer to send - // the request x-forwarded-for, if the viewer did use an HTTP proxy or a load - // balancer to send the request + // c-ip, if the viewer did not use an HTTP proxy or a load balancer to send + // the request + // + // x-forwarded-for, if the viewer did use an HTTP proxy or a load balancer + // to send the request ClientIP *string `type:"string"` // The two-letter country code for the country that the request originated from. @@ -4183,22 +4454,28 @@ func (s HTTPRequest) GoString() string { } // Contains one or more IP addresses or blocks of IP addresses specified in -// Classless Inter-Domain Routing (CIDR) notation. To specify an individual -// IP address, you specify the four-part IP address followed by a /32, for example, -// 192.0.2.0/31. To block a range of IP addresses, you can specify a /24, a -// /16, or a /8 CIDR. For more information about CIDR notation, perform an Internet -// search on cidr notation. +// Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports /8, /16, +// /24, and /32 IP address ranges for IPv4, and /24, /32, /48, /56, /64 and +// /128 for IPv6. +// +// To specify an individual IP address, you specify the four-part IP address +// followed by a /32, for example, 192.0.2.0/31. To block a range of IP addresses, +// you can specify a /128, /64, /56, /48, /32, /24, /16, or /8 CIDR. For more +// information about CIDR notation, see the Wikipedia entry Classless Inter-Domain +// Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). type IPSet struct { _ struct{} `type:"structure"` - // The IP address type (IPV4) and the IP address range (in CIDR notation) that - // web requests originate from. If the WebACL is associated with a CloudFront + // The IP address type (IPV4 or IPV6) and the IP address range (in CIDR notation) + // that web requests originate from. If the WebACL is associated with a CloudFront // distribution, this is the value of one of the following fields in CloudFront // access logs: // - // c-ip, if the viewer did not use an HTTP proxy or a load balancer to send - // the request x-forwarded-for, if the viewer did use an HTTP proxy or a load - // balancer to send the request + // c-ip, if the viewer did not use an HTTP proxy or a load balancer to send + // the request + // + // x-forwarded-for, if the viewer did use an HTTP proxy or a load balancer + // to send the request IPSetDescriptors []*IPSetDescriptor `type:"list" required:"true"` // The IPSetId for an IPSet. You use IPSetId to get information about an IPSet @@ -4206,7 +4483,7 @@ type IPSet struct { // Rule or delete one from a Rule (see UpdateRule), and delete an IPSet from // AWS WAF (see DeleteIPSet). // - // IPSetId is returned by CreateIPSet and by ListIPSets. + // IPSetId is returned by CreateIPSet and by ListIPSets. IPSetId *string `min:"1" type:"string" required:"true"` // A friendly name or description of the IPSet. You can't change the name of @@ -4224,24 +4501,33 @@ func (s IPSet) GoString() string { return s.String() } -// Specifies the IP address type (IPV4) and the IP address range (in CIDR format) -// that web requests originate from. +// Specifies the IP address type (IPV4 or IPV6) and the IP address range (in +// CIDR format) that web requests originate from. type IPSetDescriptor struct { _ struct{} `type:"structure"` - // Specify IPV4. + // Specify IPV4 or IPV6. Type *string `type:"string" required:"true" enum:"IPSetDescriptorType"` // Specify an IPv4 address by using CIDR notation. For example: // - // To configure AWS WAF to allow, block, or count requests that originated - // from the IP address 192.0.2.44, specify 192.0.2.44/32. To configure AWS WAF - // to allow, block, or count requests that originated from IP addresses from - // 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24. AWS WAF supports only /8, - // /16, /24, and /32 IP addresses. + // To configure AWS WAF to allow, block, or count requests that originated + // from the IP address 192.0.2.44, specify 192.0.2.44/32. // - // For more information about CIDR notation, see the Wikipedia entry Classless + // To configure AWS WAF to allow, block, or count requests that originated + // from IP addresses from 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24. + // + // For more information about CIDR notation, see the Wikipedia entry Classless // Inter-Domain Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). + // + // Specify an IPv6 address by using CIDR notation. For example: + // + // To configure AWS WAF to allow, block, or count requests that originated + // from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify 1111:0000:0000:0000:0000:0000:0000:0111/128. + // + // To configure AWS WAF to allow, block, or count requests that originated + // from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, + // specify 1111:0000:0000:0000:0000:0000:0000:0000/64. Value *string `type:"string" required:"true"` } @@ -4301,8 +4587,8 @@ type IPSetUpdate struct { // Specifies whether to insert or delete an IP address with UpdateIPSet. Action *string `type:"string" required:"true" enum:"ChangeAction"` - // The IP address type (IPV4) and the IP address range (in CIDR notation) that - // web requests originate from. + // The IP address type (IPV4 or IPV6) and the IP address range (in CIDR notation) + // that web requests originate from. IPSetDescriptor *IPSetDescriptor `type:"structure" required:"true"` } @@ -4344,7 +4630,7 @@ type ListByteMatchSetsInput struct { // for this request. If you have more ByteMatchSets objects than the number // you specify for Limit, the response includes a NextMarker value that you // can use to get another batch of ByteMatchSet objects. - Limit *int64 `min:"1" type:"integer" required:"true"` + Limit *int64 `type:"integer"` // If you specify a value for Limit and you have more ByteMatchSets than the // value of Limit, AWS WAF returns a NextMarker value in the response that allows @@ -4367,12 +4653,6 @@ func (s ListByteMatchSetsInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ListByteMatchSetsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListByteMatchSetsInput"} - if s.Limit == nil { - invalidParams.Add(request.NewErrParamRequired("Limit")) - } - if s.Limit != nil && *s.Limit < 1 { - invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) - } if s.NextMarker != nil && len(*s.NextMarker) < 1 { invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) } @@ -4414,7 +4694,7 @@ type ListIPSetsInput struct { // this request. If you have more IPSet objects than the number you specify // for Limit, the response includes a NextMarker value that you can use to get // another batch of IPSet objects. - Limit *int64 `min:"1" type:"integer" required:"true"` + Limit *int64 `type:"integer"` // If you specify a value for Limit and you have more IPSets than the value // of Limit, AWS WAF returns a NextMarker value in the response that allows @@ -4437,12 +4717,6 @@ func (s ListIPSetsInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ListIPSetsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListIPSetsInput"} - if s.Limit == nil { - invalidParams.Add(request.NewErrParamRequired("Limit")) - } - if s.Limit != nil && *s.Limit < 1 { - invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) - } if s.NextMarker != nil && len(*s.NextMarker) < 1 { invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) } @@ -4482,7 +4756,7 @@ type ListRulesInput struct { // Specifies the number of Rules that you want AWS WAF to return for this request. // If you have more Rules than the number that you specify for Limit, the response // includes a NextMarker value that you can use to get another batch of Rules. - Limit *int64 `min:"1" type:"integer" required:"true"` + Limit *int64 `type:"integer"` // If you specify a value for Limit and you have more Rules than the value of // Limit, AWS WAF returns a NextMarker value in the response that allows you @@ -4505,12 +4779,6 @@ func (s ListRulesInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ListRulesInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListRulesInput"} - if s.Limit == nil { - invalidParams.Add(request.NewErrParamRequired("Limit")) - } - if s.Limit != nil && *s.Limit < 1 { - invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) - } if s.NextMarker != nil && len(*s.NextMarker) < 1 { invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) } @@ -4551,7 +4819,7 @@ type ListSizeConstraintSetsInput struct { // return for this request. If you have more SizeConstraintSets objects than // the number you specify for Limit, the response includes a NextMarker value // that you can use to get another batch of SizeConstraintSet objects. - Limit *int64 `min:"1" type:"integer" required:"true"` + Limit *int64 `type:"integer"` // If you specify a value for Limit and you have more SizeConstraintSets than // the value of Limit, AWS WAF returns a NextMarker value in the response that @@ -4574,12 +4842,6 @@ func (s ListSizeConstraintSetsInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ListSizeConstraintSetsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListSizeConstraintSetsInput"} - if s.Limit == nil { - invalidParams.Add(request.NewErrParamRequired("Limit")) - } - if s.Limit != nil && *s.Limit < 1 { - invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) - } if s.NextMarker != nil && len(*s.NextMarker) < 1 { invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) } @@ -4623,7 +4885,7 @@ type ListSqlInjectionMatchSetsInput struct { // to return for this request. If you have more SqlInjectionMatchSet objects // than the number you specify for Limit, the response includes a NextMarker // value that you can use to get another batch of Rules. - Limit *int64 `min:"1" type:"integer" required:"true"` + Limit *int64 `type:"integer"` // If you specify a value for Limit and you have more SqlInjectionMatchSet objects // than the value of Limit, AWS WAF returns a NextMarker value in the response @@ -4646,12 +4908,6 @@ func (s ListSqlInjectionMatchSetsInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ListSqlInjectionMatchSetsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListSqlInjectionMatchSetsInput"} - if s.Limit == nil { - invalidParams.Add(request.NewErrParamRequired("Limit")) - } - if s.Limit != nil && *s.Limit < 1 { - invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) - } if s.NextMarker != nil && len(*s.NextMarker) < 1 { invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) } @@ -4694,7 +4950,7 @@ type ListWebACLsInput struct { // this request. If you have more WebACL objects than the number that you specify // for Limit, the response includes a NextMarker value that you can use to get // another batch of WebACL objects. - Limit *int64 `min:"1" type:"integer" required:"true"` + Limit *int64 `type:"integer"` // If you specify a value for Limit and you have more WebACL objects than the // number that you specify for Limit, AWS WAF returns a NextMarker value in @@ -4718,12 +4974,6 @@ func (s ListWebACLsInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ListWebACLsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListWebACLsInput"} - if s.Limit == nil { - invalidParams.Add(request.NewErrParamRequired("Limit")) - } - if s.Limit != nil && *s.Limit < 1 { - invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) - } if s.NextMarker != nil && len(*s.NextMarker) < 1 { invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) } @@ -4765,7 +5015,7 @@ type ListXssMatchSetsInput struct { // for this request. If you have more XssMatchSet objects than the number you // specify for Limit, the response includes a NextMarker value that you can // use to get another batch of Rules. - Limit *int64 `min:"1" type:"integer" required:"true"` + Limit *int64 `type:"integer"` // If you specify a value for Limit and you have more XssMatchSet objects than // the value of Limit, AWS WAF returns a NextMarker value in the response that @@ -4788,12 +5038,6 @@ func (s ListXssMatchSetsInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ListXssMatchSetsInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListXssMatchSetsInput"} - if s.Limit == nil { - invalidParams.Add(request.NewErrParamRequired("Limit")) - } - if s.Limit != nil && *s.Limit < 1 { - invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) - } if s.NextMarker != nil && len(*s.NextMarker) < 1 { invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) } @@ -4893,10 +5137,13 @@ func (s *Predicate) Validate() error { // that identify the web requests that you want to allow, block, or count. For // example, you might create a Rule that includes the following predicates: // -// An IPSet that causes AWS WAF to search for web requests that originate -// from the IP address 192.0.2.44 A ByteMatchSet that causes AWS WAF to search -// for web requests for which the value of the User-Agent header is BadBot. -// To match the settings in this Rule, a request must originate from 192.0.2.44 +// An IPSet that causes AWS WAF to search for web requests that originate +// from the IP address 192.0.2.44 +// +// A ByteMatchSet that causes AWS WAF to search for web requests for which +// the value of the User-Agent header is BadBot. +// +// To match the settings in this Rule, a request must originate from 192.0.2.44 // AND include a User-Agent header for which the value is BadBot. type Rule struct { _ struct{} `type:"structure"` @@ -4916,7 +5163,7 @@ type Rule struct { // a WebACL or delete a one from a WebACL (see UpdateWebACL), or delete a Rule // from AWS WAF (see DeleteRule). // - // RuleId is returned by CreateRule and by ListRules. + // RuleId is returned by CreateRule and by ListRules. RuleId *string `min:"1" type:"string" required:"true"` } @@ -4943,7 +5190,7 @@ type RuleSummary struct { // a WebACL or delete one from a WebACL (see UpdateWebACL), or delete a Rule // from AWS WAF (see DeleteRule). // - // RuleId is returned by CreateRule and by ListRules. + // RuleId is returned by CreateRule and by ListRules. RuleId *string `min:"1" type:"string" required:"true"` } @@ -5047,18 +5294,18 @@ type SizeConstraint struct { // in the form of "Size ComparisonOperator size in bytes of FieldToMatch". If // that expression is true, the SizeConstraint is considered to match. // - // EQ: Used to test if the Size is equal to the size of the FieldToMatch + // EQ: Used to test if the Size is equal to the size of the FieldToMatch // - // NE: Used to test if the Size is not equal to the size of the FieldToMatch + // NE: Used to test if the Size is not equal to the size of the FieldToMatch // - // LE: Used to test if the Size is less than or equal to the size of the FieldToMatch + // LE: Used to test if the Size is less than or equal to the size of the FieldToMatch // - // LT: Used to test if the Size is strictly less than the size of the FieldToMatch + // LT: Used to test if the Size is strictly less than the size of the FieldToMatch // - // GE: Used to test if the Size is greater than or equal to the size of the + // GE: Used to test if the Size is greater than or equal to the size of the // FieldToMatch // - // GT: Used to test if the Size is strictly greater than the size of the FieldToMatch + // GT: Used to test if the Size is strictly greater than the size of the FieldToMatch ComparisonOperator *string `type:"string" required:"true" enum:"ComparisonOperator"` // Specifies where in a web request to look for TargetString. @@ -5085,44 +5332,69 @@ type SizeConstraint struct { // for TextTransformation because CloudFront forwards only the first 8192 bytes // for inspection. // - // NONE + // NONE // // Specify NONE if you don't want to perform any text transformations. // - // CMD_LINE + // CMD_LINE // // When you're concerned that attackers are injecting an operating system command // line command and using unusual formatting to disguise some or all of the // command, use this option to perform the following transformations: // - // Delete the following characters: \ " ' ^ Delete spaces before the following - // characters: / ( Replace the following characters with a space: , ; Replace - // multiple spaces with one space Convert uppercase letters (A-Z) to lowercase - // (a-z) COMPRESS_WHITE_SPACE + // Delete the following characters: \ " ' ^ + // + // Delete spaces before the following characters: / ( + // + // Replace the following characters with a space: , ; + // + // Replace multiple spaces with one space + // + // Convert uppercase letters (A-Z) to lowercase (a-z) + // + // COMPRESS_WHITE_SPACE // // Use this option to replace the following characters with a space character // (decimal 32): // - // \f, formfeed, decimal 12 \t, tab, decimal 9 \n, newline, decimal 10 \r, - // carriage return, decimal 13 \v, vertical tab, decimal 11 non-breaking space, - // decimal 160 COMPRESS_WHITE_SPACE also replaces multiple spaces with one - // space. + // \f, formfeed, decimal 12 + // + // \t, tab, decimal 9 // - // HTML_ENTITY_DECODE + // \n, newline, decimal 10 + // + // \r, carriage return, decimal 13 + // + // \v, vertical tab, decimal 11 + // + // non-breaking space, decimal 160 + // + // COMPRESS_WHITE_SPACE also replaces multiple spaces with one space. + // + // HTML_ENTITY_DECODE // // Use this option to replace HTML-encoded characters with unencoded characters. // HTML_ENTITY_DECODE performs the following operations: // - // Replaces (ampersand)quot; with " Replaces (ampersand)nbsp; with a non-breaking - // space, decimal 160 Replaces (ampersand)lt; with a "less than" symbol Replaces - // (ampersand)gt; with > Replaces characters that are represented in hexadecimal - // format, (ampersand)#xhhhh;, with the corresponding characters Replaces characters - // that are represented in decimal format, (ampersand)#nnnn;, with the corresponding - // characters LOWERCASE + // Replaces (ampersand)quot; with " + // + // Replaces (ampersand)nbsp; with a non-breaking space, decimal 160 + // + // Replaces (ampersand)lt; with a "less than" symbol + // + // Replaces (ampersand)gt; with > + // + // Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, + // with the corresponding characters + // + // Replaces characters that are represented in decimal format, (ampersand)#nnnn;, + // with the corresponding characters + // + // LOWERCASE // // Use this option to convert uppercase letters (A-Z) to lowercase (a-z). // - // URL_DECODE + // URL_DECODE // // Use this option to decode a URL-encoded value. TextTransformation *string `type:"string" required:"true" enum:"TextTransformation"` @@ -5181,7 +5453,7 @@ type SizeConstraintSet struct { // into a Rule or delete one from a Rule (see UpdateRule), and delete a SizeConstraintSet // from AWS WAF (see DeleteSizeConstraintSet). // - // SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets. + // SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets. SizeConstraintSetId *string `min:"1" type:"string" required:"true"` // Specifies the parts of web requests that you want to inspect the size of. @@ -5211,7 +5483,7 @@ type SizeConstraintSetSummary struct { // into a Rule or delete one from a Rule (see UpdateRule), and delete a SizeConstraintSet // from AWS WAF (see DeleteSizeConstraintSet). // - // SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets. + // SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets. SizeConstraintSetId *string `min:"1" type:"string" required:"true"` } @@ -5291,7 +5563,7 @@ type SqlInjectionMatchSet struct { // SqlInjectionMatchSet into a Rule or delete one from a Rule (see UpdateRule), // and delete a SqlInjectionMatchSet from AWS WAF (see DeleteSqlInjectionMatchSet). // - // SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by + // SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by // ListSqlInjectionMatchSets. SqlInjectionMatchSetId *string `min:"1" type:"string" required:"true"` @@ -5323,7 +5595,7 @@ type SqlInjectionMatchSetSummary struct { // SqlInjectionMatchSet into a Rule or delete one from a Rule (see UpdateRule), // and delete a SqlInjectionMatchSet from AWS WAF (see DeleteSqlInjectionMatchSet). // - // SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by + // SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by // ListSqlInjectionMatchSets. SqlInjectionMatchSetId *string `min:"1" type:"string" required:"true"` } @@ -5399,44 +5671,69 @@ type SqlInjectionMatchTuple struct { // AWS WAF performs the transformation on FieldToMatch before inspecting a request // for a match. // - // CMD_LINE + // CMD_LINE // // When you're concerned that attackers are injecting an operating system commandline // command and using unusual formatting to disguise some or all of the command, // use this option to perform the following transformations: // - // Delete the following characters: \ " ' ^ Delete spaces before the following - // characters: / ( Replace the following characters with a space: , ; Replace - // multiple spaces with one space Convert uppercase letters (A-Z) to lowercase - // (a-z) COMPRESS_WHITE_SPACE + // Delete the following characters: \ " ' ^ + // + // Delete spaces before the following characters: / ( + // + // Replace the following characters with a space: , ; + // + // Replace multiple spaces with one space + // + // Convert uppercase letters (A-Z) to lowercase (a-z) + // + // COMPRESS_WHITE_SPACE // // Use this option to replace the following characters with a space character // (decimal 32): // - // \f, formfeed, decimal 12 \t, tab, decimal 9 \n, newline, decimal 10 \r, - // carriage return, decimal 13 \v, vertical tab, decimal 11 non-breaking space, - // decimal 160 COMPRESS_WHITE_SPACE also replaces multiple spaces with one - // space. + // \f, formfeed, decimal 12 // - // HTML_ENTITY_DECODE + // \t, tab, decimal 9 + // + // \n, newline, decimal 10 + // + // \r, carriage return, decimal 13 + // + // \v, vertical tab, decimal 11 + // + // non-breaking space, decimal 160 + // + // COMPRESS_WHITE_SPACE also replaces multiple spaces with one space. + // + // HTML_ENTITY_DECODE // // Use this option to replace HTML-encoded characters with unencoded characters. // HTML_ENTITY_DECODE performs the following operations: // - // Replaces (ampersand)quot; with " Replaces (ampersand)nbsp; with a non-breaking - // space, decimal 160 Replaces (ampersand)lt; with a "less than" symbol Replaces - // (ampersand)gt; with > Replaces characters that are represented in hexadecimal - // format, (ampersand)#xhhhh;, with the corresponding characters Replaces characters - // that are represented in decimal format, (ampersand)#nnnn;, with the corresponding - // characters LOWERCASE + // Replaces (ampersand)quot; with " + // + // Replaces (ampersand)nbsp; with a non-breaking space, decimal 160 + // + // Replaces (ampersand)lt; with a "less than" symbol + // + // Replaces (ampersand)gt; with > + // + // Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, + // with the corresponding characters + // + // Replaces characters that are represented in decimal format, (ampersand)#nnnn;, + // with the corresponding characters + // + // LOWERCASE // // Use this option to convert uppercase letters (A-Z) to lowercase (a-z). // - // URL_DECODE + // URL_DECODE // // Use this option to decode a URL-encoded value. // - // NONE + // NONE // // Specify NONE if you don't want to perform any text transformations. TextTransformation *string `type:"string" required:"true" enum:"TextTransformation"` @@ -5531,14 +5828,17 @@ type UpdateByteMatchSetInput struct { ByteMatchSetId *string `min:"1" type:"string" required:"true"` // The value returned by the most recent call to GetChangeToken. - ChangeToken *string `type:"string" required:"true"` + ChangeToken *string `min:"1" type:"string" required:"true"` // An array of ByteMatchSetUpdate objects that you want to insert into or delete // from a ByteMatchSet. For more information, see the applicable data types: // - // ByteMatchSetUpdate: Contains Action and ByteMatchTuple ByteMatchTuple: - // Contains FieldToMatch, PositionalConstraint, TargetString, and TextTransformation - // FieldToMatch: Contains Data and Type + // ByteMatchSetUpdate: Contains Action and ByteMatchTuple + // + // ByteMatchTuple: Contains FieldToMatch, PositionalConstraint, TargetString, + // and TextTransformation + // + // FieldToMatch: Contains Data and Type Updates []*ByteMatchSetUpdate `type:"list" required:"true"` } @@ -5564,6 +5864,9 @@ func (s *UpdateByteMatchSetInput) Validate() error { if s.ChangeToken == nil { invalidParams.Add(request.NewErrParamRequired("ChangeToken")) } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } if s.Updates == nil { invalidParams.Add(request.NewErrParamRequired("Updates")) } @@ -5590,7 +5893,7 @@ type UpdateByteMatchSetOutput struct { // The ChangeToken that you used to submit the UpdateByteMatchSet request. You // can also use this value to query the status of the request. For more information, // see GetChangeTokenStatus. - ChangeToken *string `type:"string"` + ChangeToken *string `min:"1" type:"string"` } // String returns the string representation @@ -5607,7 +5910,7 @@ type UpdateIPSetInput struct { _ struct{} `type:"structure"` // The value returned by the most recent call to GetChangeToken. - ChangeToken *string `type:"string" required:"true"` + ChangeToken *string `min:"1" type:"string" required:"true"` // The IPSetId of the IPSet that you want to update. IPSetId is returned by // CreateIPSet and by ListIPSets. @@ -5616,8 +5919,9 @@ type UpdateIPSetInput struct { // An array of IPSetUpdate objects that you want to insert into or delete from // an IPSet. For more information, see the applicable data types: // - // IPSetUpdate: Contains Action and IPSetDescriptor IPSetDescriptor: Contains - // Type and Value + // IPSetUpdate: Contains Action and IPSetDescriptor + // + // IPSetDescriptor: Contains Type and Value Updates []*IPSetUpdate `type:"list" required:"true"` } @@ -5637,6 +5941,9 @@ func (s *UpdateIPSetInput) Validate() error { if s.ChangeToken == nil { invalidParams.Add(request.NewErrParamRequired("ChangeToken")) } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } if s.IPSetId == nil { invalidParams.Add(request.NewErrParamRequired("IPSetId")) } @@ -5669,7 +5976,7 @@ type UpdateIPSetOutput struct { // The ChangeToken that you used to submit the UpdateIPSet request. You can // also use this value to query the status of the request. For more information, // see GetChangeTokenStatus. - ChangeToken *string `type:"string"` + ChangeToken *string `min:"1" type:"string"` } // String returns the string representation @@ -5686,7 +5993,7 @@ type UpdateRuleInput struct { _ struct{} `type:"structure"` // The value returned by the most recent call to GetChangeToken. - ChangeToken *string `type:"string" required:"true"` + ChangeToken *string `min:"1" type:"string" required:"true"` // The RuleId of the Rule that you want to update. RuleId is returned by CreateRule // and by ListRules. @@ -5695,8 +6002,11 @@ type UpdateRuleInput struct { // An array of RuleUpdate objects that you want to insert into or delete from // a Rule. For more information, see the applicable data types: // - // RuleUpdate: Contains Action and Predicate Predicate: Contains DataId, Negated, - // and Type FieldToMatch: Contains Data and Type + // RuleUpdate: Contains Action and Predicate + // + // Predicate: Contains DataId, Negated, and Type + // + // FieldToMatch: Contains Data and Type Updates []*RuleUpdate `type:"list" required:"true"` } @@ -5716,6 +6026,9 @@ func (s *UpdateRuleInput) Validate() error { if s.ChangeToken == nil { invalidParams.Add(request.NewErrParamRequired("ChangeToken")) } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } if s.RuleId == nil { invalidParams.Add(request.NewErrParamRequired("RuleId")) } @@ -5748,7 +6061,7 @@ type UpdateRuleOutput struct { // The ChangeToken that you used to submit the UpdateRule request. You can also // use this value to query the status of the request. For more information, // see GetChangeTokenStatus. - ChangeToken *string `type:"string"` + ChangeToken *string `min:"1" type:"string"` } // String returns the string representation @@ -5765,7 +6078,7 @@ type UpdateSizeConstraintSetInput struct { _ struct{} `type:"structure"` // The value returned by the most recent call to GetChangeToken. - ChangeToken *string `type:"string" required:"true"` + ChangeToken *string `min:"1" type:"string" required:"true"` // The SizeConstraintSetId of the SizeConstraintSet that you want to update. // SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets. @@ -5775,9 +6088,12 @@ type UpdateSizeConstraintSetInput struct { // or delete from a SizeConstraintSet. For more information, see the applicable // data types: // - // SizeConstraintSetUpdate: Contains Action and SizeConstraint SizeConstraint: - // Contains FieldToMatch, TextTransformation, ComparisonOperator, and Size FieldToMatch: - // Contains Data and Type + // SizeConstraintSetUpdate: Contains Action and SizeConstraint + // + // SizeConstraint: Contains FieldToMatch, TextTransformation, ComparisonOperator, + // and Size + // + // FieldToMatch: Contains Data and Type Updates []*SizeConstraintSetUpdate `type:"list" required:"true"` } @@ -5797,6 +6113,9 @@ func (s *UpdateSizeConstraintSetInput) Validate() error { if s.ChangeToken == nil { invalidParams.Add(request.NewErrParamRequired("ChangeToken")) } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } if s.SizeConstraintSetId == nil { invalidParams.Add(request.NewErrParamRequired("SizeConstraintSetId")) } @@ -5829,7 +6148,7 @@ type UpdateSizeConstraintSetOutput struct { // The ChangeToken that you used to submit the UpdateSizeConstraintSet request. // You can also use this value to query the status of the request. For more // information, see GetChangeTokenStatus. - ChangeToken *string `type:"string"` + ChangeToken *string `min:"1" type:"string"` } // String returns the string representation @@ -5847,7 +6166,7 @@ type UpdateSqlInjectionMatchSetInput struct { _ struct{} `type:"structure"` // The value returned by the most recent call to GetChangeToken. - ChangeToken *string `type:"string" required:"true"` + ChangeToken *string `min:"1" type:"string" required:"true"` // The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to update. // SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets. @@ -5857,9 +6176,11 @@ type UpdateSqlInjectionMatchSetInput struct { // or delete from a SqlInjectionMatchSet. For more information, see the applicable // data types: // - // SqlInjectionMatchSetUpdate: Contains Action and SqlInjectionMatchTuple - // SqlInjectionMatchTuple: Contains FieldToMatch and TextTransformation FieldToMatch: - // Contains Data and Type + // SqlInjectionMatchSetUpdate: Contains Action and SqlInjectionMatchTuple + // + // SqlInjectionMatchTuple: Contains FieldToMatch and TextTransformation + // + // FieldToMatch: Contains Data and Type Updates []*SqlInjectionMatchSetUpdate `type:"list" required:"true"` } @@ -5879,6 +6200,9 @@ func (s *UpdateSqlInjectionMatchSetInput) Validate() error { if s.ChangeToken == nil { invalidParams.Add(request.NewErrParamRequired("ChangeToken")) } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } if s.SqlInjectionMatchSetId == nil { invalidParams.Add(request.NewErrParamRequired("SqlInjectionMatchSetId")) } @@ -5912,7 +6236,7 @@ type UpdateSqlInjectionMatchSetOutput struct { // The ChangeToken that you used to submit the UpdateSqlInjectionMatchSet request. // You can also use this value to query the status of the request. For more // information, see GetChangeTokenStatus. - ChangeToken *string `type:"string"` + ChangeToken *string `min:"1" type:"string"` } // String returns the string representation @@ -5929,7 +6253,7 @@ type UpdateWebACLInput struct { _ struct{} `type:"structure"` // The value returned by the most recent call to GetChangeToken. - ChangeToken *string `type:"string" required:"true"` + ChangeToken *string `min:"1" type:"string" required:"true"` // For the action that is associated with a rule in a WebACL, specifies the // action that you want AWS WAF to perform when a web request matches all of @@ -5943,8 +6267,11 @@ type UpdateWebACLInput struct { // An array of WebACLUpdate objects that you want to insert into or delete // from a WebACL. For more information, see the applicable data types: // - // WebACLUpdate: Contains Action and ActivatedRule ActivatedRule: Contains - // Action, Priority, and RuleId WafAction: Contains Type + // WebACLUpdate: Contains Action and ActivatedRule + // + // ActivatedRule: Contains Action, Priority, and RuleId + // + // WafAction: Contains Type Updates []*WebACLUpdate `type:"list"` // The WebACLId of the WebACL that you want to update. WebACLId is returned @@ -5968,6 +6295,9 @@ func (s *UpdateWebACLInput) Validate() error { if s.ChangeToken == nil { invalidParams.Add(request.NewErrParamRequired("ChangeToken")) } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } if s.WebACLId == nil { invalidParams.Add(request.NewErrParamRequired("WebACLId")) } @@ -6002,7 +6332,7 @@ type UpdateWebACLOutput struct { // The ChangeToken that you used to submit the UpdateWebACL request. You can // also use this value to query the status of the request. For more information, // see GetChangeTokenStatus. - ChangeToken *string `type:"string"` + ChangeToken *string `min:"1" type:"string"` } // String returns the string representation @@ -6020,13 +6350,16 @@ type UpdateXssMatchSetInput struct { _ struct{} `type:"structure"` // The value returned by the most recent call to GetChangeToken. - ChangeToken *string `type:"string" required:"true"` + ChangeToken *string `min:"1" type:"string" required:"true"` // An array of XssMatchSetUpdate objects that you want to insert into or delete // from a XssMatchSet. For more information, see the applicable data types: // - // XssMatchSetUpdate: Contains Action and XssMatchTuple XssMatchTuple: Contains - // FieldToMatch and TextTransformation FieldToMatch: Contains Data and Type + // XssMatchSetUpdate: Contains Action and XssMatchTuple + // + // XssMatchTuple: Contains FieldToMatch and TextTransformation + // + // FieldToMatch: Contains Data and Type Updates []*XssMatchSetUpdate `type:"list" required:"true"` // The XssMatchSetId of the XssMatchSet that you want to update. XssMatchSetId @@ -6050,6 +6383,9 @@ func (s *UpdateXssMatchSetInput) Validate() error { if s.ChangeToken == nil { invalidParams.Add(request.NewErrParamRequired("ChangeToken")) } + if s.ChangeToken != nil && len(*s.ChangeToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeToken", 1)) + } if s.Updates == nil { invalidParams.Add(request.NewErrParamRequired("Updates")) } @@ -6083,7 +6419,7 @@ type UpdateXssMatchSetOutput struct { // The ChangeToken that you used to submit the UpdateXssMatchSet request. You // can also use this value to query the status of the request. For more information, // see GetChangeTokenStatus. - ChangeToken *string `type:"string"` + ChangeToken *string `min:"1" type:"string"` } // String returns the string representation @@ -6107,11 +6443,14 @@ type WafAction struct { // Specifies how you want AWS WAF to respond to requests that match the settings // in a Rule. Valid settings include the following: // - // ALLOW: AWS WAF allows requests BLOCK: AWS WAF blocks requests COUNT: AWS - // WAF increments a counter of the requests that match all of the conditions - // in the rule. AWS WAF then continues to inspect the web request based on the - // remaining rules in the web ACL. You can't specify COUNT for the default action - // for a WebACL. + // ALLOW: AWS WAF allows requests + // + // BLOCK: AWS WAF blocks requests + // + // COUNT: AWS WAF increments a counter of the requests that match all of + // the conditions in the rule. AWS WAF then continues to inspect the web request + // based on the remaining rules in the web ACL. You can't specify COUNT for + // the default action for a WebACL. Type *string `type:"string" required:"true" enum:"WafActionType"` } @@ -6167,7 +6506,7 @@ type WebACL struct { // a WebACL (see GetWebACL), update a WebACL (see UpdateWebACL), and delete // a WebACL from AWS WAF (see DeleteWebACL). // - // WebACLId is returned by CreateWebACL and by ListWebACLs. + // WebACLId is returned by CreateWebACL and by ListWebACLs. WebACLId *string `min:"1" type:"string" required:"true"` } @@ -6193,7 +6532,7 @@ type WebACLSummary struct { // a WebACL (see GetWebACL), update a WebACL (see UpdateWebACL), and delete // a WebACL from AWS WAF (see DeleteWebACL). // - // WebACLId is returned by CreateWebACL and by ListWebACLs. + // WebACLId is returned by CreateWebACL and by ListWebACLs. WebACLId *string `min:"1" type:"string" required:"true"` } @@ -6272,7 +6611,7 @@ type XssMatchSet struct { // insert an XssMatchSet into a Rule or delete one from a Rule (see UpdateRule), // and delete an XssMatchSet from AWS WAF (see DeleteXssMatchSet). // - // XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets. + // XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets. XssMatchSetId *string `min:"1" type:"string" required:"true"` // Specifies the parts of web requests that you want to inspect for cross-site @@ -6302,7 +6641,7 @@ type XssMatchSetSummary struct { // insert an XssMatchSet into a Rule or delete one from a Rule (see UpdateRule), // and delete an XssMatchSet from AWS WAF (see DeleteXssMatchSet). // - // XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets. + // XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets. XssMatchSetId *string `min:"1" type:"string" required:"true"` } @@ -6377,44 +6716,69 @@ type XssMatchTuple struct { // AWS WAF performs the transformation on FieldToMatch before inspecting a request // for a match. // - // CMD_LINE + // CMD_LINE // // When you're concerned that attackers are injecting an operating system commandline // command and using unusual formatting to disguise some or all of the command, // use this option to perform the following transformations: // - // Delete the following characters: \ " ' ^ Delete spaces before the following - // characters: / ( Replace the following characters with a space: , ; Replace - // multiple spaces with one space Convert uppercase letters (A-Z) to lowercase - // (a-z) COMPRESS_WHITE_SPACE + // Delete the following characters: \ " ' ^ + // + // Delete spaces before the following characters: / ( + // + // Replace the following characters with a space: , ; + // + // Replace multiple spaces with one space + // + // Convert uppercase letters (A-Z) to lowercase (a-z) + // + // COMPRESS_WHITE_SPACE // // Use this option to replace the following characters with a space character // (decimal 32): // - // \f, formfeed, decimal 12 \t, tab, decimal 9 \n, newline, decimal 10 \r, - // carriage return, decimal 13 \v, vertical tab, decimal 11 non-breaking space, - // decimal 160 COMPRESS_WHITE_SPACE also replaces multiple spaces with one - // space. + // \f, formfeed, decimal 12 + // + // \t, tab, decimal 9 + // + // \n, newline, decimal 10 + // + // \r, carriage return, decimal 13 + // + // \v, vertical tab, decimal 11 + // + // non-breaking space, decimal 160 // - // HTML_ENTITY_DECODE + // COMPRESS_WHITE_SPACE also replaces multiple spaces with one space. + // + // HTML_ENTITY_DECODE // // Use this option to replace HTML-encoded characters with unencoded characters. // HTML_ENTITY_DECODE performs the following operations: // - // Replaces (ampersand)quot; with " Replaces (ampersand)nbsp; with a non-breaking - // space, decimal 160 Replaces (ampersand)lt; with a "less than" symbol Replaces - // (ampersand)gt; with > Replaces characters that are represented in hexadecimal - // format, (ampersand)#xhhhh;, with the corresponding characters Replaces characters - // that are represented in decimal format, (ampersand)#nnnn;, with the corresponding - // characters LOWERCASE + // Replaces (ampersand)quot; with " + // + // Replaces (ampersand)nbsp; with a non-breaking space, decimal 160 + // + // Replaces (ampersand)lt; with a "less than" symbol + // + // Replaces (ampersand)gt; with > + // + // Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, + // with the corresponding characters + // + // Replaces characters that are represented in decimal format, (ampersand)#nnnn;, + // with the corresponding characters + // + // LOWERCASE // // Use this option to convert uppercase letters (A-Z) to lowercase (a-z). // - // URL_DECODE + // URL_DECODE // // Use this option to decode a URL-encoded value. // - // NONE + // NONE // // Specify NONE if you don't want to perform any text transformations. TextTransformation *string `type:"string" required:"true" enum:"TextTransformation"` @@ -6485,6 +6849,8 @@ const ( const ( // @enum IPSetDescriptorType IPSetDescriptorTypeIpv4 = "IPV4" + // @enum IPSetDescriptorType + IPSetDescriptorTypeIpv6 = "IPV6" ) const ( diff --git a/service/waf/examples_test.go b/service/waf/examples_test.go index 1c6068eff5e..2fe4b56fa37 100644 --- a/service/waf/examples_test.go +++ b/service/waf/examples_test.go @@ -648,7 +648,7 @@ func ExampleWAF_ListByteMatchSets() { svc := waf.New(sess) params := &waf.ListByteMatchSetsInput{ - Limit: aws.Int64(1), // Required + Limit: aws.Int64(1), NextMarker: aws.String("NextMarker"), } resp, err := svc.ListByteMatchSets(params) @@ -674,7 +674,7 @@ func ExampleWAF_ListIPSets() { svc := waf.New(sess) params := &waf.ListIPSetsInput{ - Limit: aws.Int64(1), // Required + Limit: aws.Int64(1), NextMarker: aws.String("NextMarker"), } resp, err := svc.ListIPSets(params) @@ -700,7 +700,7 @@ func ExampleWAF_ListRules() { svc := waf.New(sess) params := &waf.ListRulesInput{ - Limit: aws.Int64(1), // Required + Limit: aws.Int64(1), NextMarker: aws.String("NextMarker"), } resp, err := svc.ListRules(params) @@ -726,7 +726,7 @@ func ExampleWAF_ListSizeConstraintSets() { svc := waf.New(sess) params := &waf.ListSizeConstraintSetsInput{ - Limit: aws.Int64(1), // Required + Limit: aws.Int64(1), NextMarker: aws.String("NextMarker"), } resp, err := svc.ListSizeConstraintSets(params) @@ -752,7 +752,7 @@ func ExampleWAF_ListSqlInjectionMatchSets() { svc := waf.New(sess) params := &waf.ListSqlInjectionMatchSetsInput{ - Limit: aws.Int64(1), // Required + Limit: aws.Int64(1), NextMarker: aws.String("NextMarker"), } resp, err := svc.ListSqlInjectionMatchSets(params) @@ -778,7 +778,7 @@ func ExampleWAF_ListWebACLs() { svc := waf.New(sess) params := &waf.ListWebACLsInput{ - Limit: aws.Int64(1), // Required + Limit: aws.Int64(1), NextMarker: aws.String("NextMarker"), } resp, err := svc.ListWebACLs(params) @@ -804,7 +804,7 @@ func ExampleWAF_ListXssMatchSets() { svc := waf.New(sess) params := &waf.ListXssMatchSetsInput{ - Limit: aws.Int64(1), // Required + Limit: aws.Int64(1), NextMarker: aws.String("NextMarker"), } resp, err := svc.ListXssMatchSets(params)