diff --git a/CHANGELOG.md b/CHANGELOG.md index 20f0438db47..c565c38d410 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,21 @@ +Release v1.42.0 (2021-11-08) +=== + +### Service Client Updates +* `service/chime-sdk-meetings`: Updates service API and documentation +* `service/ec2`: Updates service API and documentation + * This release adds internal validation on the GatewayAssociationState field +* `service/sagemaker`: Updates service API and documentation + * SageMaker CreateEndpoint and UpdateEndpoint APIs now support additional deployment configuration to manage traffic shifting options and automatic rollback monitoring. DescribeEndpoint now shows new in-progress deployment details with stage status. +* `service/wafv2`: Updates service API and documentation + +### SDK Features +* Support has been added for configuring endpoints with requirements such as FIPS and DualStack. ([#3938](https://github.com/aws/aws-sdk-go/pull/3938)) + * `AWS_USE_FIPS_ENDPOINT` and `AWS_USE_DUALSTACK_ENDPOINT` can be set to `true` or `false` in the environment to indicate an endpoint with the respective characteristic must be resolved. + * `use_fips_endpoint` and `use_dualstack_endpoint` can be set to `true` or `false` in the shared config file to indicate an endpoint with the respective characteristic must be resolved. + * Programmatic configuration of FIPS and DualStack endpoint resolution. + * For more information see the `aws/session` package documentation. + Release v1.41.19 (2021-11-05) === diff --git a/CHANGELOG_PENDING.md b/CHANGELOG_PENDING.md index b60a927d09a..8a1927a39ca 100644 --- a/CHANGELOG_PENDING.md +++ b/CHANGELOG_PENDING.md @@ -1,9 +1,4 @@ ### SDK Features -* Support has been added for configuring endpoints with requirements such as FIPS and DualStack. ([#3938](https://github.com/aws/aws-sdk-go/pull/3938)) - * `AWS_USE_FIPS_ENDPOINT` and `AWS_USE_DUALSTACK_ENDPOINT` can be set to `true` or `false` in the environment to indicate an endpoint with the respective characteristic must be resolved. - * `use_fips_endpoint` and `use_dualstack_endpoint` can be set to `true` or `false` in the shared config file to indicate an endpoint with the respective characteristic must be resolved. - * Programmatic configuration of FIPS and DualStack endpoint resolution. - * For more information see the `aws/session` package documentation. ### SDK Enhancements diff --git a/aws/version.go b/aws/version.go index ac69a8a2cbb..f885a90b95b 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.41.19" +const SDKVersion = "1.42.0" diff --git a/models/apis/chime-sdk-meetings/2021-07-15/api-2.json b/models/apis/chime-sdk-meetings/2021-07-15/api-2.json index 4b9da79e39c..a53c780c091 100644 --- a/models/apis/chime-sdk-meetings/2021-07-15/api-2.json +++ b/models/apis/chime-sdk-meetings/2021-07-15/api-2.json @@ -193,7 +193,7 @@ "type":"structure", "members":{ "ExternalUserId":{"shape":"ExternalUserId"}, - "AttendeeId":{"shape":"String"}, + "AttendeeId":{"shape":"GuidString"}, "JoinToken":{"shape":"JoinTokenString"} } }, @@ -223,7 +223,7 @@ ], "members":{ "MeetingId":{ - "shape":"String", + "shape":"GuidString", "location":"uri", "locationName":"MeetingId" }, @@ -260,7 +260,7 @@ ], "members":{ "MeetingId":{ - "shape":"String", + "shape":"GuidString", "location":"uri", "locationName":"MeetingId" }, @@ -298,7 +298,7 @@ "shape":"ClientRequestToken", "idempotencyToken":true }, - "MediaRegion":{"shape":"String"}, + "MediaRegion":{"shape":"MediaRegion"}, "MeetingHostId":{"shape":"ExternalUserId"}, "ExternalMeetingId":{"shape":"ExternalMeetingId"}, "NotificationsConfiguration":{"shape":"NotificationsConfiguration"} @@ -323,7 +323,7 @@ "shape":"ClientRequestToken", "idempotencyToken":true }, - "MediaRegion":{"shape":"String"}, + "MediaRegion":{"shape":"MediaRegion"}, "MeetingHostId":{"shape":"ExternalUserId"}, "ExternalMeetingId":{"shape":"ExternalMeetingId"}, "NotificationsConfiguration":{"shape":"NotificationsConfiguration"}, @@ -352,12 +352,12 @@ ], "members":{ "MeetingId":{ - "shape":"String", + "shape":"GuidString", "location":"uri", "locationName":"MeetingId" }, "AttendeeId":{ - "shape":"String", + "shape":"GuidString", "location":"uri", "locationName":"AttendeeId" } @@ -368,7 +368,7 @@ "required":["MeetingId"], "members":{ "MeetingId":{ - "shape":"String", + "shape":"GuidString", "location":"uri", "locationName":"MeetingId" } @@ -430,12 +430,12 @@ ], "members":{ "MeetingId":{ - "shape":"String", + "shape":"GuidString", "location":"uri", "locationName":"MeetingId" }, "AttendeeId":{ - "shape":"String", + "shape":"GuidString", "location":"uri", "locationName":"AttendeeId" } @@ -452,7 +452,7 @@ "required":["MeetingId"], "members":{ "MeetingId":{ - "shape":"String", + "shape":"GuidString", "location":"uri", "locationName":"MeetingId" } @@ -470,7 +470,7 @@ }, "JoinTokenString":{ "type":"string", - "max":4096, + "max":2048, "min":2, "sensitive":true }, @@ -489,7 +489,7 @@ "required":["MeetingId"], "members":{ "MeetingId":{ - "shape":"String", + "shape":"GuidString", "location":"uri", "locationName":"MeetingId" }, @@ -525,13 +525,18 @@ "EventIngestionUrl":{"shape":"String"} } }, + "MediaRegion":{ + "type":"string", + "max":64, + "min":2 + }, "Meeting":{ "type":"structure", "members":{ "MeetingId":{"shape":"GuidString"}, "MeetingHostId":{"shape":"ExternalUserId"}, "ExternalMeetingId":{"shape":"ExternalMeetingId"}, - "MediaRegion":{"shape":"String"}, + "MediaRegion":{"shape":"MediaRegion"}, "MediaPlacement":{"shape":"MediaPlacement"} } }, @@ -583,7 +588,7 @@ ], "members":{ "MeetingId":{ - "shape":"String", + "shape":"GuidString", "location":"uri", "locationName":"MeetingId" }, @@ -595,7 +600,7 @@ "required":["MeetingId"], "members":{ "MeetingId":{ - "shape":"String", + "shape":"GuidString", "location":"uri", "locationName":"MeetingId" } diff --git a/models/apis/chime-sdk-meetings/2021-07-15/docs-2.json b/models/apis/chime-sdk-meetings/2021-07-15/docs-2.json index c002751c66c..c839a31f0fd 100644 --- a/models/apis/chime-sdk-meetings/2021-07-15/docs-2.json +++ b/models/apis/chime-sdk-meetings/2021-07-15/docs-2.json @@ -193,7 +193,19 @@ "GuidString": { "base": null, "refs": { - "Meeting$MeetingId": "

The Amazon Chime SDK meeting ID.

" + "Attendee$AttendeeId": "

The Amazon Chime SDK attendee ID.

", + "BatchCreateAttendeeRequest$MeetingId": "

The Amazon Chime SDK ID of the meeting to which you're adding attendees.

", + "CreateAttendeeRequest$MeetingId": "

The unique ID of the meeting.

", + "DeleteAttendeeRequest$MeetingId": "

The Amazon Chime SDK meeting ID.

", + "DeleteAttendeeRequest$AttendeeId": "

The Amazon Chime SDK attendee ID.

", + "DeleteMeetingRequest$MeetingId": "

The Amazon Chime SDK meeting ID.

", + "GetAttendeeRequest$MeetingId": "

The Amazon Chime SDK meeting ID.

", + "GetAttendeeRequest$AttendeeId": "

The Amazon Chime SDK attendee ID.

", + "GetMeetingRequest$MeetingId": "

The Amazon Chime SDK meeting ID.

", + "ListAttendeesRequest$MeetingId": "

The Amazon Chime SDK meeting ID.

", + "Meeting$MeetingId": "

The Amazon Chime SDK meeting ID.

", + "StartMeetingTranscriptionRequest$MeetingId": "

The unique ID of the meeting being transcribed.

", + "StopMeetingTranscriptionRequest$MeetingId": "

The unique ID of the meeting for which you stop transcription.

" } }, "JoinTokenString": { @@ -223,6 +235,14 @@ "Meeting$MediaPlacement": "

The media placement for the meeting.

" } }, + "MediaRegion": { + "base": null, + "refs": { + "CreateMeetingRequest$MediaRegion": "

The Region in which to create the meeting.

Available values: af-south-1 , ap-northeast-1 , ap-northeast-2 , ap-south-1 , ap-southeast-1 , ap-southeast-2 , ca-central-1 , eu-central-1 , eu-north-1 , eu-south-1 , eu-west-1 , eu-west-2 , eu-west-3 , sa-east-1 , us-east-1 , us-east-2 , us-west-1 , us-west-2 .

", + "CreateMeetingWithAttendeesRequest$MediaRegion": "

The Region in which to create the meeting.

", + "Meeting$MediaRegion": "

The Region in which you create the meeting. Available values: af-south-1, ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, ca-central-1, eu-central-1, eu-north-1, eu-south-1, eu-west-1, eu-west-2, eu-west-3, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2.

" + } + }, "Meeting": { "base": "

A meeting created using the Amazon Chime SDK.

", "refs": { @@ -273,32 +293,20 @@ "String": { "base": null, "refs": { - "Attendee$AttendeeId": "

The Amazon Chime SDK attendee ID.

", "BadRequestException$Code": null, "BadRequestException$Message": null, "BadRequestException$RequestId": "

The request id associated with the call responsible for the exception.

", - "BatchCreateAttendeeRequest$MeetingId": "

The Amazon Chime SDK ID of the meeting to which you're adding attendees.

", "CreateAttendeeError$ErrorCode": "

The error code.

", "CreateAttendeeError$ErrorMessage": "

The error message.

", - "CreateAttendeeRequest$MeetingId": "

The unique ID of the meeting.

", - "CreateMeetingRequest$MediaRegion": "

The Region in which to create the meeting. Default: us-east-1.

Available values: af-south-1 , ap-northeast-1 , ap-northeast-2 , ap-south-1 , ap-southeast-1 , ap-southeast-2 , ca-central-1 , eu-central-1 , eu-north-1 , eu-south-1 , eu-west-1 , eu-west-2 , eu-west-3 , sa-east-1 , us-east-1 , us-east-2 , us-west-1 , us-west-2 .

", - "CreateMeetingWithAttendeesRequest$MediaRegion": "

The Region in which to create the meeting. Default: us-east-1.

", - "DeleteAttendeeRequest$MeetingId": "

The Amazon Chime SDK meeting ID.

", - "DeleteAttendeeRequest$AttendeeId": "

The Amazon Chime SDK attendee ID.

", - "DeleteMeetingRequest$MeetingId": "

The Amazon Chime SDK meeting ID.

", "EngineTranscribeMedicalSettings$VocabularyName": "

The name of the vocabulary passed to Amazon Transcribe Medical.

", "EngineTranscribeSettings$VocabularyFilterName": "

The name of the vocabulary filter passed to Amazon Transcribe.

", "EngineTranscribeSettings$VocabularyName": "

The name of the vocabulary passed to Amazon Transcribe.

", "ForbiddenException$Code": null, "ForbiddenException$Message": null, "ForbiddenException$RequestId": "

The request id associated with the call responsible for the exception.

", - "GetAttendeeRequest$MeetingId": "

The Amazon Chime SDK meeting ID.

", - "GetAttendeeRequest$AttendeeId": "

The Amazon Chime SDK attendee ID.

", - "GetMeetingRequest$MeetingId": "

The Amazon Chime SDK meeting ID.

", "LimitExceededException$Code": null, "LimitExceededException$Message": null, "LimitExceededException$RequestId": "

The request id associated with the call responsible for the exception.

", - "ListAttendeesRequest$MeetingId": "

The Amazon Chime SDK meeting ID.

", "ListAttendeesRequest$NextToken": "

The token to use to retrieve the next page of results.

", "ListAttendeesResponse$NextToken": "

The token to use to retrieve the next page of results.

", "MediaPlacement$AudioHostUrl": "

The audio host URL.

", @@ -309,15 +317,12 @@ "MediaPlacement$ScreenViewingUrl": "

The screen viewing URL.

", "MediaPlacement$ScreenSharingUrl": "

The screen sharing URL.

", "MediaPlacement$EventIngestionUrl": "

The event ingestion URL.

", - "Meeting$MediaRegion": "

The Region in which you create the meeting. Available values: af-south-1, ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, ca-central-1, eu-central-1, eu-north-1, eu-south-1, eu-west-1, eu-west-2, eu-west-3, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2.

", "NotFoundException$Code": null, "NotFoundException$Message": null, "NotFoundException$RequestId": "

The request id associated with the call responsible for the exception.

", "ServiceUnavailableException$Code": null, "ServiceUnavailableException$Message": null, "ServiceUnavailableException$RequestId": "

The request id associated with the call responsible for the exception.

", - "StartMeetingTranscriptionRequest$MeetingId": "

The unique ID of the meeting being transcribed.

", - "StopMeetingTranscriptionRequest$MeetingId": "

The unique ID of the meeting for which you stop transcription.

", "UnauthorizedException$Code": null, "UnauthorizedException$Message": null, "UnauthorizedException$RequestId": "

The request id associated with the call responsible for the exception.

", diff --git a/models/apis/ec2/2016-11-15/api-2.json b/models/apis/ec2/2016-11-15/api-2.json index a9349cac498..37858d9264b 100755 --- a/models/apis/ec2/2016-11-15/api-2.json +++ b/models/apis/ec2/2016-11-15/api-2.json @@ -18329,6 +18329,15 @@ "max":1000, "min":200 }, + "GatewayAssociationState":{ + "type":"string", + "enum":[ + "associated", + "not-associated", + "associating", + "disassociating" + ] + }, "GatewayType":{ "type":"string", "enum":["ipsec.1"] @@ -35968,7 +35977,7 @@ "locationName":"coreNetworkAttachmentArn" }, "GatewayAssociationState":{ - "shape":"String", + "shape":"GatewayAssociationState", "locationName":"gatewayAssociationState" }, "Options":{ diff --git a/models/apis/ec2/2016-11-15/docs-2.json b/models/apis/ec2/2016-11-15/docs-2.json index da6b60c2e8a..6469ab5d105 100755 --- a/models/apis/ec2/2016-11-15/docs-2.json +++ b/models/apis/ec2/2016-11-15/docs-2.json @@ -7812,6 +7812,12 @@ "GetVpnConnectionDeviceTypesRequest$MaxResults": "

The maximum number of results returned by GetVpnConnectionDeviceTypes in paginated output. When this parameter is used, GetVpnConnectionDeviceTypes only returns MaxResults results in a single page along with a NextToken response element. The remaining results of the initial request can be seen by sending another GetVpnConnectionDeviceTypes request with the returned NextToken value. This value can be between 200 and 1000. If this parameter is not used, then GetVpnConnectionDeviceTypes returns all results.

" } }, + "GatewayAssociationState": { + "base": null, + "refs": { + "VpnConnection$GatewayAssociationState": "

The current state of the gateway association.

" + } + }, "GatewayType": { "base": null, "refs": { @@ -16408,7 +16414,6 @@ "VpnConnection$TransitGatewayId": "

The ID of the transit gateway associated with the VPN connection.

", "VpnConnection$CoreNetworkArn": "

The ARN of the core network.

", "VpnConnection$CoreNetworkAttachmentArn": "

The ARN of the core network attachment.

", - "VpnConnection$GatewayAssociationState": "

The current state of the gateway association.

", "VpnConnectionDeviceType$VpnConnectionDeviceTypeId": "

Customer gateway device identifier.

", "VpnConnectionDeviceType$Vendor": "

Customer gateway device vendor.

", "VpnConnectionDeviceType$Platform": "

Customer gateway device platform.

", diff --git a/models/apis/sagemaker/2017-07-24/api-2.json b/models/apis/sagemaker/2017-07-24/api-2.json index 33b3bc34fca..678d619ad55 100644 --- a/models/apis/sagemaker/2017-07-24/api-2.json +++ b/models/apis/sagemaker/2017-07-24/api-2.json @@ -4635,6 +4635,7 @@ "members":{ "EndpointName":{"shape":"EndpointName"}, "EndpointConfigName":{"shape":"EndpointConfigName"}, + "DeploymentConfig":{"shape":"DeploymentConfig"}, "Tags":{"shape":"TagList"} } }, @@ -6478,7 +6479,8 @@ "CreationTime":{"shape":"Timestamp"}, "LastModifiedTime":{"shape":"Timestamp"}, "LastDeploymentConfig":{"shape":"DeploymentConfig"}, - "AsyncInferenceConfig":{"shape":"AsyncInferenceConfig"} + "AsyncInferenceConfig":{"shape":"AsyncInferenceConfig"}, + "PendingDeploymentSummary":{"shape":"PendingDeploymentSummary"} } }, "DescribeExperimentRequest":{ @@ -12118,6 +12120,35 @@ "type":"list", "member":{"shape":"Parent"} }, + "PendingDeploymentSummary":{ + "type":"structure", + "required":["EndpointConfigName"], + "members":{ + "EndpointConfigName":{"shape":"EndpointConfigName"}, + "ProductionVariants":{"shape":"PendingProductionVariantSummaryList"}, + "StartTime":{"shape":"Timestamp"} + } + }, + "PendingProductionVariantSummary":{ + "type":"structure", + "required":["VariantName"], + "members":{ + "VariantName":{"shape":"VariantName"}, + "DeployedImages":{"shape":"DeployedImages"}, + "CurrentWeight":{"shape":"VariantWeight"}, + "DesiredWeight":{"shape":"VariantWeight"}, + "CurrentInstanceCount":{"shape":"TaskCount"}, + "DesiredInstanceCount":{"shape":"TaskCount"}, + "InstanceType":{"shape":"ProductionVariantInstanceType"}, + "AcceleratorType":{"shape":"ProductionVariantAcceleratorType"}, + "VariantStatus":{"shape":"ProductionVariantStatusList"} + } + }, + "PendingProductionVariantSummaryList":{ + "type":"list", + "member":{"shape":"PendingProductionVariantSummary"}, + "min":1 + }, "Pipeline":{ "type":"structure", "members":{ @@ -12735,6 +12766,21 @@ "max":10, "min":1 }, + "ProductionVariantStatus":{ + "type":"structure", + "required":["Status"], + "members":{ + "Status":{"shape":"VariantStatus"}, + "StatusMessage":{"shape":"VariantStatusMessage"}, + "StartTime":{"shape":"Timestamp"} + } + }, + "ProductionVariantStatusList":{ + "type":"list", + "member":{"shape":"ProductionVariantStatus"}, + "max":5, + "min":0 + }, "ProductionVariantSummary":{ "type":"structure", "required":["VariantName"], @@ -12744,7 +12790,8 @@ "CurrentWeight":{"shape":"VariantWeight"}, "DesiredWeight":{"shape":"VariantWeight"}, "CurrentInstanceCount":{"shape":"TaskCount"}, - "DesiredInstanceCount":{"shape":"TaskCount"} + "DesiredInstanceCount":{"shape":"TaskCount"}, + "VariantStatus":{"shape":"ProductionVariantStatusList"} } }, "ProductionVariantSummaryList":{ @@ -14256,14 +14303,16 @@ "members":{ "Type":{"shape":"TrafficRoutingConfigType"}, "WaitIntervalInSeconds":{"shape":"WaitIntervalInSeconds"}, - "CanarySize":{"shape":"CapacitySize"} + "CanarySize":{"shape":"CapacitySize"}, + "LinearStepSize":{"shape":"CapacitySize"} } }, "TrafficRoutingConfigType":{ "type":"string", "enum":[ "ALL_AT_ONCE", - "CANARY" + "CANARY", + "LINEAR" ] }, "TrainingEnvironmentKey":{ @@ -15094,7 +15143,8 @@ "EndpointConfigName":{"shape":"EndpointConfigName"}, "RetainAllVariantProperties":{"shape":"Boolean"}, "ExcludeRetainedVariantProperties":{"shape":"VariantPropertyList"}, - "DeploymentConfig":{"shape":"DeploymentConfig"} + "DeploymentConfig":{"shape":"DeploymentConfig"}, + "RetainDeploymentConfig":{"shape":"Boolean"} } }, "UpdateEndpointOutput":{ @@ -15476,6 +15526,20 @@ "DataCaptureConfig" ] }, + "VariantStatus":{ + "type":"string", + "enum":[ + "Creating", + "Updating", + "Deleting", + "ActivatingTraffic", + "Baking" + ] + }, + "VariantStatusMessage":{ + "type":"string", + "max":1024 + }, "VariantWeight":{ "type":"float", "min":0 diff --git a/models/apis/sagemaker/2017-07-24/docs-2.json b/models/apis/sagemaker/2017-07-24/docs-2.json index 54661779a24..7f0558435ef 100644 --- a/models/apis/sagemaker/2017-07-24/docs-2.json +++ b/models/apis/sagemaker/2017-07-24/docs-2.json @@ -339,7 +339,7 @@ } }, "Alarm": { - "base": "

This API is not supported.

", + "base": "

An Amazon CloudWatch alarm configured to monitor metrics on an endpoint.

", "refs": { "AlarmList$member": null } @@ -347,13 +347,13 @@ "AlarmList": { "base": null, "refs": { - "AutoRollbackConfig$Alarms": "

" + "AutoRollbackConfig$Alarms": "

List of CloudWatch alarms in your account that are configured to monitor metrics on an endpoint. If any alarms are tripped during a deployment, SageMaker rolls back the deployment.

" } }, "AlarmName": { "base": null, "refs": { - "Alarm$AlarmName": "

" + "Alarm$AlarmName": "

The name of a CloudWatch alarm in your account.

" } }, "AlgorithmArn": { @@ -1020,9 +1020,9 @@ } }, "AutoRollbackConfig": { - "base": "

Currently, the AutoRollbackConfig API is not supported.

", + "base": "

Automatic rollback configuration for handling endpoint deployment failures and recovery.

", "refs": { - "DeploymentConfig$AutoRollbackConfiguration": "

" + "DeploymentConfig$AutoRollbackConfiguration": "

Automatic rollback configuration for handling endpoint deployment failures and recovery.

" } }, "AwsManagedHumanLoopRequestSource": { @@ -1088,9 +1088,9 @@ } }, "BlueGreenUpdatePolicy": { - "base": "

Currently, the BlueGreenUpdatePolicy API is not supported.

", + "base": "

Update policy for a blue/green deployment. If this update policy is specified, SageMaker creates a new fleet during the deployment while maintaining the old fleet. SageMaker flips traffic to the new fleet according to the specified traffic routing configuration. Only one update policy should be used in the deployment configuration. If no update policy is specified, SageMaker uses a blue/green deployment strategy with all at once traffic shifting by default.

", "refs": { - "DeploymentConfig$BlueGreenUpdatePolicy": "

" + "DeploymentConfig$BlueGreenUpdatePolicy": "

Update policy for a blue/green deployment. If this update policy is specified, SageMaker creates a new fleet during the deployment while maintaining the old fleet. SageMaker flips traffic to the new fleet according to the specified traffic routing configuration. Only one update policy should be used in the deployment configuration. If no update policy is specified, SageMaker uses a blue/green deployment strategy with all at once traffic shifting by default.

" } }, "Boolean": { @@ -1122,7 +1122,8 @@ "TrainingJob$EnableInterContainerTrafficEncryption": "

To encrypt all communications between ML compute instances in distributed training, choose True. Encryption provides greater security for distributed training, but training might take longer. How long it takes depends on the amount of communication between compute instances, especially if you use a deep learning algorithm in distributed training.

", "TrainingJob$EnableManagedSpotTraining": "

When true, enables managed spot training using Amazon EC2 Spot instances to run training jobs instead of on-demand instances. For more information, see Managed Spot Training.

", "TrainingSpecification$SupportsDistributedTraining": "

Indicates whether the algorithm supports distributed training. If set to false, buyers can't request more than one instance during training.

", - "UpdateEndpointInput$RetainAllVariantProperties": "

When updating endpoint resources, enables or disables the retention of variant properties, such as the instance count or the variant weight. To retain the variant properties of an endpoint when updating it, set RetainAllVariantProperties to true. To use the variant properties specified in a new EndpointConfig call when updating an endpoint, set RetainAllVariantProperties to false. The default is false.

" + "UpdateEndpointInput$RetainAllVariantProperties": "

When updating endpoint resources, enables or disables the retention of variant properties, such as the instance count or the variant weight. To retain the variant properties of an endpoint when updating it, set RetainAllVariantProperties to true. To use the variant properties specified in a new EndpointConfig call when updating an endpoint, set RetainAllVariantProperties to false. The default is false.

", + "UpdateEndpointInput$RetainDeploymentConfig": "

Specifies whether to reuse the last deployment configuration. The default value is false (the configuration is not reused).

" } }, "BooleanOperator": { @@ -1220,21 +1221,22 @@ } }, "CapacitySize": { - "base": "

Currently, the CapacitySize API is not supported.

", + "base": "

Specifies the endpoint capacity to activate for production.

", "refs": { - "TrafficRoutingConfig$CanarySize": "

" + "TrafficRoutingConfig$CanarySize": "

Batch size for the first step to turn on traffic on the new endpoint fleet. Value must be less than or equal to 50% of the variant's total instance count.

", + "TrafficRoutingConfig$LinearStepSize": "

Batch size for each step to turn on traffic on the new endpoint fleet. Value must be 10-50% of the variant's total instance count.

" } }, "CapacitySizeType": { "base": null, "refs": { - "CapacitySize$Type": "

This API is not supported.

" + "CapacitySize$Type": "

Specifies the endpoint capacity type.

" } }, "CapacitySizeValue": { "base": null, "refs": { - "CapacitySize$Value": "

" + "CapacitySize$Value": "

Defines the capacity size, either as a number of instances or a capacity percentage.

" } }, "CaptureContentTypeHeader": { @@ -2658,14 +2660,16 @@ "DeployedImages": { "base": null, "refs": { + "PendingProductionVariantSummary$DeployedImages": "

An array of DeployedImage objects that specify the Amazon EC2 Container Registry paths of the inference images deployed on instances of this ProductionVariant.

", "ProductionVariantSummary$DeployedImages": "

An array of DeployedImage objects that specify the Amazon EC2 Container Registry paths of the inference images deployed on instances of this ProductionVariant.

" } }, "DeploymentConfig": { - "base": "

Currently, the DeploymentConfig API is not supported.

", + "base": "

The deployment configuration for an endpoint, which contains the desired deployment strategy and rollback configurations.

", "refs": { + "CreateEndpointInput$DeploymentConfig": null, "DescribeEndpointOutput$LastDeploymentConfig": "

The most recent deployment configuration for the endpoint.

", - "UpdateEndpointInput$DeploymentConfig": "

The deployment configuration for the endpoint to be updated.

" + "UpdateEndpointInput$DeploymentConfig": "

The deployment configuration for an endpoint, which contains the desired deployment strategy and rollback configurations.

" } }, "DeregisterDevicesRequest": { @@ -3610,6 +3614,7 @@ "DescribeEndpointOutput$EndpointConfigName": "

The name of the endpoint configuration associated with this endpoint.

", "Endpoint$EndpointConfigName": "

The endpoint configuration associated with the endpoint.

", "EndpointConfigSummary$EndpointConfigName": "

The name of the endpoint configuration.

", + "PendingDeploymentSummary$EndpointConfigName": "

The name of the endpoint configuration used in the deployment.

", "UpdateEndpointInput$EndpointConfigName": "

The name of the new endpoint configuration.

" } }, @@ -6079,7 +6084,7 @@ "MaximumExecutionTimeoutInSeconds": { "base": null, "refs": { - "BlueGreenUpdatePolicy$MaximumExecutionTimeoutInSeconds": "

" + "BlueGreenUpdatePolicy$MaximumExecutionTimeoutInSeconds": "

Maximum execution timeout for the deployment. Note that the timeout value should be larger than the total waiting time specified in TerminationWaitInSeconds and WaitIntervalInSeconds.

" } }, "MaximumRetryAttempts": { @@ -7571,6 +7576,24 @@ "TrialComponent$Parents": "

An array of the parents of the component. A parent is a trial the component is associated with and the experiment the trial is part of. A component might not have any parents.

" } }, + "PendingDeploymentSummary": { + "base": "

The summary of an in-progress deployment when an endpoint is creating or updating with a new endpoint configuration.

", + "refs": { + "DescribeEndpointOutput$PendingDeploymentSummary": "

Returns the summary of an in-progress deployment. This field is only returned when the endpoint is creating or updating with a new endpoint configuration.

" + } + }, + "PendingProductionVariantSummary": { + "base": "

The production variant summary for a deployment when an endpoint is creating or updating with the CreateEndpoint or UpdateEndpoint operations. Describes the VariantStatus , weight and capacity for a production variant associated with an endpoint.

", + "refs": { + "PendingProductionVariantSummaryList$member": null + } + }, + "PendingProductionVariantSummaryList": { + "base": null, + "refs": { + "PendingDeploymentSummary$ProductionVariants": "

List of PendingProductionVariantSummary objects.

" + } + }, "Pipeline": { "base": "

A SageMaker Model Building Pipeline instance.

", "refs": { @@ -8040,6 +8063,7 @@ "ProductionVariantAcceleratorType": { "base": null, "refs": { + "PendingProductionVariantSummary$AcceleratorType": "

The size of the Elastic Inference (EI) instance to use for the production variant. EI instances provide on-demand GPU computing for inference. For more information, see Using Elastic Inference in Amazon SageMaker.

", "ProductionVariant$AcceleratorType": "

The size of the Elastic Inference (EI) instance to use for the production variant. EI instances provide on-demand GPU computing for inference. For more information, see Using Elastic Inference in Amazon SageMaker.

" } }, @@ -8052,6 +8076,7 @@ "ProductionVariantInstanceType": { "base": null, "refs": { + "PendingProductionVariantSummary$InstanceType": "

The type of instances associated with the variant.

", "ProductionVariant$InstanceType": "

The ML compute instance type.

", "RealtimeInferenceInstanceTypes$member": null } @@ -8063,6 +8088,19 @@ "DescribeEndpointConfigOutput$ProductionVariants": "

An array of ProductionVariant objects, one for each model that you want to host at this endpoint.

" } }, + "ProductionVariantStatus": { + "base": "

Describes the status of the production variant.

", + "refs": { + "ProductionVariantStatusList$member": null + } + }, + "ProductionVariantStatusList": { + "base": null, + "refs": { + "PendingProductionVariantSummary$VariantStatus": "

The endpoint variant status which describes the current deployment stage status or operational status.

", + "ProductionVariantSummary$VariantStatus": "

The endpoint variant status which describes the current deployment stage status or operational status.

" + } + }, "ProductionVariantSummary": { "base": "

Describes weight and capacities for a production variant associated with an endpoint. If you sent a request to the UpdateEndpointWeightsAndCapacities API and the endpoint status is Updating, you get different desired and current values.

", "refs": { @@ -9543,13 +9581,15 @@ "TaskAvailabilityLifetimeInSeconds": { "base": null, "refs": { - "HumanTaskConfig$TaskAvailabilityLifetimeInSeconds": "

The length of time that a task remains available for labeling by human workers. The default and maximum values for this parameter depend on the type of workforce you use.

" + "HumanTaskConfig$TaskAvailabilityLifetimeInSeconds": "

The length of time that a task remains available for labeling by human workers. The default and maximum values for this parameter depend on the type of workforce you use.

" } }, "TaskCount": { "base": null, "refs": { "DesiredWeightAndCapacity$DesiredInstanceCount": "

The variant's capacity.

", + "PendingProductionVariantSummary$CurrentInstanceCount": "

The number of instances associated with the variant.

", + "PendingProductionVariantSummary$DesiredInstanceCount": "

The number of instances requested in this deployment, as specified in the endpoint configuration for the endpoint. The value is taken from the request to the CreateEndpointConfig operation.

", "ProductionVariantSummary$CurrentInstanceCount": "

The number of instances associated with the variant.

", "ProductionVariantSummary$DesiredInstanceCount": "

The number of instances requested in the UpdateEndpointWeightsAndCapacities request.

" } @@ -9581,7 +9621,7 @@ "TaskTimeLimitInSeconds": { "base": null, "refs": { - "HumanTaskConfig$TaskTimeLimitInSeconds": "

The amount of time that a worker has to complete a task.

If you create a custom labeling job, the maximum value for this parameter is 8 hours (28,800 seconds).

If you create a labeling job using a built-in task type the maximum for this parameter depends on the task type you use:

" + "HumanTaskConfig$TaskTimeLimitInSeconds": "

The amount of time that a worker has to complete a task.

If you create a custom labeling job, the maximum value for this parameter is 8 hours (28,800 seconds).

If you create a labeling job using a built-in task type the maximum for this parameter depends on the task type you use:

" } }, "TaskTitle": { @@ -9631,7 +9671,7 @@ "TerminationWaitInSeconds": { "base": null, "refs": { - "BlueGreenUpdatePolicy$TerminationWaitInSeconds": "

" + "BlueGreenUpdatePolicy$TerminationWaitInSeconds": "

Additional waiting time in seconds after the completion of an endpoint deployment before terminating the old endpoint fleet. Default is 0.

" } }, "ThingName": { @@ -9886,6 +9926,7 @@ "MonitoringSchedule$LastModifiedTime": "

The last time the monitoring schedule was changed.

", "MonitoringScheduleSummary$CreationTime": "

The creation time of the monitoring schedule.

", "MonitoringScheduleSummary$LastModifiedTime": "

The last time the monitoring schedule was modified.

", + "PendingDeploymentSummary$StartTime": "

The start time of the deployment.

", "Pipeline$CreationTime": "

The creation time of the pipeline.

", "Pipeline$LastModifiedTime": "

The time that the pipeline was last modified.

", "Pipeline$LastRunTime": "

The time when the pipeline was last run.

", @@ -9904,6 +9945,7 @@ "ProcessingJobSummary$CreationTime": "

The time at which the processing job was created.

", "ProcessingJobSummary$ProcessingEndTime": "

The time at which the processing job completed.

", "ProcessingJobSummary$LastModifiedTime": "

A timestamp that indicates the last time the processing job was modified.

", + "ProductionVariantStatus$StartTime": "

The start time of the current status change.

", "ProfilerRuleEvaluationStatus$LastModifiedTime": "

Timestamp when the rule evaluation status was last modified.

", "Project$CreationTime": "

A timestamp specifying when the project was created.

", "Project$LastModifiedTime": "

A timestamp container for when the project was last modified.

", @@ -9948,15 +9990,15 @@ } }, "TrafficRoutingConfig": { - "base": "

Currently, the TrafficRoutingConfig API is not supported.

", + "base": "

Defines the traffic routing strategy during an endpoint deployment to shift traffic from the old fleet to the new fleet.

", "refs": { - "BlueGreenUpdatePolicy$TrafficRoutingConfiguration": "

" + "BlueGreenUpdatePolicy$TrafficRoutingConfiguration": "

Defines the traffic routing strategy to shift traffic from the old fleet to the new fleet during an endpoint deployment.

" } }, "TrafficRoutingConfigType": { "base": null, "refs": { - "TrafficRoutingConfig$Type": "

" + "TrafficRoutingConfig$Type": "

Traffic routing strategy type.

" } }, "TrainingEnvironmentKey": { @@ -10858,6 +10900,7 @@ "base": null, "refs": { "DesiredWeightAndCapacity$VariantName": "

The name of the variant to update.

", + "PendingProductionVariantSummary$VariantName": "

The name of the variant.

", "ProductionVariant$VariantName": "

The name of the production variant.

", "ProductionVariantSummary$VariantName": "

The name of the variant.

" } @@ -10880,10 +10923,24 @@ "VariantProperty$VariantPropertyType": "

The type of variant property. The supported values are:

" } }, + "VariantStatus": { + "base": null, + "refs": { + "ProductionVariantStatus$Status": "

The endpoint variant status which describes the current deployment stage status or operational status.

" + } + }, + "VariantStatusMessage": { + "base": null, + "refs": { + "ProductionVariantStatus$StatusMessage": "

A message that describes the status of the production variant.

" + } + }, "VariantWeight": { "base": null, "refs": { "DesiredWeightAndCapacity$DesiredWeight": "

The variant's weight.

", + "PendingProductionVariantSummary$CurrentWeight": "

The weight associated with the variant.

", + "PendingProductionVariantSummary$DesiredWeight": "

The requested weight for the variant in this deployment, as specified in the endpoint configuration for the endpoint. The value is taken from the request to the CreateEndpointConfig operation.

", "ProductionVariant$InitialVariantWeight": "

Determines initial traffic distribution among all of the models that you specify in the endpoint configuration. The traffic to a production variant is determined by the ratio of the VariantWeight to the sum of all VariantWeight values across all ProductionVariants. If unspecified, it defaults to 1.0.

", "ProductionVariantSummary$CurrentWeight": "

The weight associated with the variant.

", "ProductionVariantSummary$DesiredWeight": "

The requested weight, as specified in the UpdateEndpointWeightsAndCapacities request.

" @@ -10933,7 +10990,7 @@ "WaitIntervalInSeconds": { "base": null, "refs": { - "TrafficRoutingConfig$WaitIntervalInSeconds": "

" + "TrafficRoutingConfig$WaitIntervalInSeconds": "

The waiting time (in seconds) between incremental steps to turn on traffic on the new endpoint fleet.

" } }, "Workforce": { diff --git a/models/apis/wafv2/2019-07-29/api-2.json b/models/apis/wafv2/2019-07-29/api-2.json index 4802d2ebb48..b9c6079e9b9 100755 --- a/models/apis/wafv2/2019-07-29/api-2.json +++ b/models/apis/wafv2/2019-07-29/api-2.json @@ -771,7 +771,9 @@ "enum":[ "ALLOW", "BLOCK", - "COUNT" + "COUNT", + "CAPTCHA", + "EXCLUDED_AS_COUNT" ] }, "All":{ @@ -852,6 +854,26 @@ "type":"long", "min":1 }, + "CaptchaAction":{ + "type":"structure", + "members":{ + "CustomRequestHandling":{"shape":"CustomRequestHandling"} + } + }, + "CaptchaConfig":{ + "type":"structure", + "members":{ + "ImmunityTimeProperty":{"shape":"ImmunityTimeProperty"} + } + }, + "CaptchaResponse":{ + "type":"structure", + "members":{ + "ResponseCode":{"shape":"ResponseCode"}, + "SolveTimestamp":{"shape":"SolveTimestamp"}, + "FailureReason":{"shape":"FailureReason"} + } + }, "CheckCapacityRequest":{ "type":"structure", "required":[ @@ -1247,7 +1269,8 @@ "Rules":{"shape":"Rules"}, "VisibilityConfig":{"shape":"VisibilityConfig"}, "Tags":{"shape":"TagList"}, - "CustomResponseBodies":{"shape":"CustomResponseBodies"} + "CustomResponseBodies":{"shape":"CustomResponseBodies"}, + "CaptchaConfig":{"shape":"CaptchaConfig"} } }, "CreateWebACLResponse":{ @@ -1514,6 +1537,13 @@ "type":"list", "member":{"shape":"ExcludedRule"} }, + "FailureReason":{ + "type":"string", + "enum":[ + "TOKEN_MISSING", + "TOKEN_EXPIRED" + ] + }, "FallbackBehavior":{ "type":"string", "enum":[ @@ -1856,7 +1886,8 @@ }, "IPAddresses":{ "type":"list", - "member":{"shape":"IPAddress"} + "member":{"shape":"IPAddress"}, + "min":1 }, "IPSet":{ "type":"structure", @@ -1912,6 +1943,13 @@ } }, "IPString":{"type":"string"}, + "ImmunityTimeProperty":{ + "type":"structure", + "required":["ImmunityTime"], + "members":{ + "ImmunityTime":{"shape":"TimeWindowSecond"} + } + }, "JsonBody":{ "type":"structure", "required":[ @@ -2064,6 +2102,7 @@ }, "ListLoggingConfigurationsRequest":{ "type":"structure", + "required":["Scope"], "members":{ "Scope":{"shape":"Scope"}, "NextMarker":{"shape":"NextMarker"}, @@ -2610,6 +2649,7 @@ "APPSYNC" ] }, + "ResponseCode":{"type":"integer"}, "ResponseContent":{ "type":"string", "max":10240, @@ -2626,7 +2666,7 @@ }, "ResponseStatusCode":{ "type":"integer", - "max":600, + "max":599, "min":200 }, "Rule":{ @@ -2644,7 +2684,8 @@ "Action":{"shape":"RuleAction"}, "OverrideAction":{"shape":"OverrideAction"}, "RuleLabels":{"shape":"Labels"}, - "VisibilityConfig":{"shape":"VisibilityConfig"} + "VisibilityConfig":{"shape":"VisibilityConfig"}, + "CaptchaConfig":{"shape":"CaptchaConfig"} } }, "RuleAction":{ @@ -2652,7 +2693,8 @@ "members":{ "Block":{"shape":"BlockAction"}, "Allow":{"shape":"AllowAction"}, - "Count":{"shape":"CountAction"} + "Count":{"shape":"CountAction"}, + "Captcha":{"shape":"CaptchaAction"} } }, "RuleGroup":{ @@ -2737,7 +2779,8 @@ "RuleNameWithinRuleGroup":{"shape":"EntityName"}, "RequestHeadersInserted":{"shape":"HTTPHeaders"}, "ResponseCodeSent":{"shape":"ResponseStatusCode"}, - "Labels":{"shape":"Labels"} + "Labels":{"shape":"Labels"}, + "CaptchaResponse":{"shape":"CaptchaResponse"} } }, "SampledHTTPRequests":{ @@ -2786,6 +2829,7 @@ "TextTransformations":{"shape":"TextTransformations"} } }, + "SolveTimestamp":{"type":"long"}, "SqliMatchStatement":{ "type":"structure", "required":[ @@ -2938,6 +2982,11 @@ "type":"integer", "min":1 }, + "TimeWindowSecond":{ + "type":"long", + "max":259200, + "min":60 + }, "Timestamp":{"type":"timestamp"}, "URIString":{"type":"string"}, "UntagResourceRequest":{ @@ -3076,7 +3125,8 @@ "Rules":{"shape":"Rules"}, "VisibilityConfig":{"shape":"VisibilityConfig"}, "LockToken":{"shape":"LockToken"}, - "CustomResponseBodies":{"shape":"CustomResponseBodies"} + "CustomResponseBodies":{"shape":"CustomResponseBodies"}, + "CaptchaConfig":{"shape":"CaptchaConfig"} } }, "UpdateWebACLResponse":{ @@ -3266,7 +3316,8 @@ "PostProcessFirewallManagerRuleGroups":{"shape":"FirewallManagerRuleGroups"}, "ManagedByFirewallManager":{"shape":"Boolean"}, "LabelNamespace":{"shape":"LabelName"}, - "CustomResponseBodies":{"shape":"CustomResponseBodies"} + "CustomResponseBodies":{"shape":"CustomResponseBodies"}, + "CaptchaConfig":{"shape":"CaptchaConfig"} } }, "WebACLSummaries":{ diff --git a/models/apis/wafv2/2019-07-29/docs-2.json b/models/apis/wafv2/2019-07-29/docs-2.json index 7beadf0b2ed..cc8a3dddaef 100755 --- a/models/apis/wafv2/2019-07-29/docs-2.json +++ b/models/apis/wafv2/2019-07-29/docs-2.json @@ -52,7 +52,7 @@ "Action": { "base": null, "refs": { - "SampledHTTPRequest$Action": "

The action for the Rule that the request matched: ALLOW, BLOCK, or COUNT.

" + "SampledHTTPRequest$Action": "

The action for the Rule that the request matched: Allow, Block, or Count.

" } }, "ActionCondition": { @@ -145,6 +145,27 @@ "RuleGroup$Capacity": "

The web ACL capacity units (WCUs) required for this rule group.

When you create your own rule group, you define this, and you cannot change it after creation. When you add or modify the rules in a rule group, WAF enforces this limit. You can check the capacity for a set of rules using CheckCapacity.

WAF uses WCUs to calculate and control the operating resources that are used to run your rules, rule groups, and web ACLs. WAF calculates capacity differently for each rule type, to reflect the relative cost of each rule. Simple rules that cost little to run use fewer WCUs than more complex rules that use more processing power. Rule group capacity is fixed at creation, which helps users plan their web ACL WCU usage when they use a rule group. The WCU limit for web ACLs is 1,500.

" } }, + "CaptchaAction": { + "base": "

Specifies that WAF should run a CAPTCHA check against the request:

You can configure the expiration time in the CaptchaConfig ImmunityTimeProperty setting at the rule and web ACL level. The rule setting overrides the web ACL setting.

This action option is available for rules. It isn't available for web ACL default actions.

This is used in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.

", + "refs": { + "RuleAction$Captcha": "

Instructs WAF to run a CAPTCHA check against the web request.

" + } + }, + "CaptchaConfig": { + "base": "

Specifies how WAF should handle CAPTCHA evaluations. This is available at the web ACL level and in each rule.

", + "refs": { + "CreateWebACLRequest$CaptchaConfig": "

Specifies how WAF should handle CAPTCHA evaluations for rules that don't have their own CaptchaConfig settings. If you don't specify this, WAF uses its default settings for CaptchaConfig.

", + "Rule$CaptchaConfig": "

Specifies how WAF should handle CAPTCHA evaluations. If you don't specify this, WAF uses the CAPTCHA configuration that's defined for the web ACL.

", + "UpdateWebACLRequest$CaptchaConfig": "

Specifies how WAF should handle CAPTCHA evaluations for rules that don't have their own CaptchaConfig settings. If you don't specify this, WAF uses its default settings for CaptchaConfig.

", + "WebACL$CaptchaConfig": "

Specifies how WAF should handle CAPTCHA evaluations for rules that don't have their own CaptchaConfig settings. If you don't specify this, WAF uses its default settings for CaptchaConfig.

" + } + }, + "CaptchaResponse": { + "base": "

The result from the inspection of the web request for a valid CAPTCHA token.

", + "refs": { + "SampledHTTPRequest$CaptchaResponse": "

The CAPTCHA response for the request.

" + } + }, "CheckCapacityRequest": { "base": null, "refs": { @@ -183,7 +204,7 @@ "CountAction": { "base": "

Specifies that WAF should count the request. Optionally defines additional custom handling for the request.

This is used in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.

", "refs": { - "OverrideAction$Count": "

Override the rule action setting to count.

", + "OverrideAction$Count": "

Override the rule group evaluation result to count only.

This option is usually set to none. It does not affect how the rules in the rule group are evaluated. If you want the rules in the rule group to only count matches, do not use this and instead exclude those rules in your rule group reference statement settings.

", "RuleAction$Count": "

Instructs WAF to count the web request and allow it.

" } }, @@ -274,6 +295,7 @@ "base": "

Custom request handling behavior that inserts custom headers into a web request. You can add custom request handling for the rule actions allow and count.

For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide.

", "refs": { "AllowAction$CustomRequestHandling": "

Defines custom handling for the web request.

For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide.

", + "CaptchaAction$CustomRequestHandling": "

Defines custom handling for the web request.

For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide.

", "CountAction$CustomRequestHandling": "

Defines custom handling for the web request.

For information about customizing web requests and responses, see Customizing web requests and responses in WAF in the WAF Developer Guide.

" } }, @@ -467,7 +489,7 @@ "DeleteRuleGroupRequest$Name": "

The name of the rule group. You cannot change the name of a rule group after you create it.

", "DeleteWebACLRequest$Name": "

The name of the web ACL. You cannot change the name of a web ACL after you create it.

", "DescribeManagedRuleGroupRequest$Name": "

The name of the managed rule group. You use this, along with the vendor name, to identify the rule group.

", - "ExcludedRule$Name": "

The name of the rule to exclude.

", + "ExcludedRule$Name": "

The name of the rule whose action you want to override to Count.

", "FirewallManagerRuleGroup$Name": "

The name of the rule group. You cannot change the name of a rule group after you create it.

", "GetIPSetRequest$Name": "

The name of the IP set. You cannot change the name of an IPSet after you create it.

", "GetManagedRuleSetRequest$Name": "

The name of the managed rule set. You use this, along with the rule set ID, to identify the rule set.

This name is assigned to the corresponding managed rule group, which your customers can access and use.

", @@ -529,7 +551,7 @@ } }, "ExcludedRule": { - "base": "

Specifies a single rule to exclude from the rule group. Excluding a rule overrides its action setting for the rule group in the web ACL, setting it to COUNT. This effectively excludes the rule from acting on web requests.

", + "base": "

Specifies a single rule in a rule group whose action you want to override to Count. When you exclude a rule, WAF evaluates it exactly as it would if the rule action setting were Count. This is a useful option for testing the rules in a rule group without modifying how they handle your web traffic.

", "refs": { "ExcludedRules$member": null } @@ -537,8 +559,14 @@ "ExcludedRules": { "base": null, "refs": { - "ManagedRuleGroupStatement$ExcludedRules": "

The rules whose actions are set to COUNT by the web ACL, regardless of the action that is set on the rule. This effectively excludes the rule from acting on web requests.

", - "RuleGroupReferenceStatement$ExcludedRules": "

The names of rules that are in the referenced rule group, but that you want WAF to exclude from processing for this rule statement.

" + "ManagedRuleGroupStatement$ExcludedRules": "

The rules in the referenced rule group whose actions are set to Count. When you exclude a rule, WAF evaluates it exactly as it would if the rule action setting were Count. This is a useful option for testing the rules in a rule group without modifying how they handle your web traffic.

", + "RuleGroupReferenceStatement$ExcludedRules": "

The rules in the referenced rule group whose actions are set to Count. When you exclude a rule, WAF evaluates it exactly as it would if the rule action setting were Count. This is a useful option for testing the rules in a rule group without modifying how they handle your web traffic.

" + } + }, + "FailureReason": { + "base": null, + "refs": { + "CaptchaResponse$FailureReason": "

The reason for failure, populated when the evaluation of the token fails.

" } }, "FallbackBehavior": { @@ -840,6 +868,12 @@ "HTTPRequest$ClientIP": "

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

" } }, + "ImmunityTimeProperty": { + "base": "

Determines how long a CAPTCHA token remains valid after the client successfully solves a CAPTCHA puzzle.

", + "refs": { + "CaptchaConfig$ImmunityTimeProperty": "

Determines how long a CAPTCHA token remains valid after the client successfully solves a CAPTCHA puzzle.

" + } + }, "JsonBody": { "base": "

The body of a web request, inspected as JSON. The body immediately follows the request headers. This is used in the FieldToMatch specification.

Use the specifications in this object to indicate which parts of the JSON body to inspect using the rule's inspection criteria. WAF inspects only the parts of the JSON that result from the matches that you indicate.

Example JSON: \"JsonBody\": { \"MatchPattern\": { \"All\": {} }, \"MatchScope\": \"ALL\" }

", "refs": { @@ -1193,9 +1227,9 @@ } }, "NoneAction": { - "base": "

Specifies that WAF should do nothing. This is generally used to try out a rule without performing any actions. You set the OverrideAction on the Rule.

This is used in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.

JSON specification: \"None\": {}

", + "base": "

Specifies that WAF should do nothing. This is used for the OverrideAction setting on a Rule when the rule uses a rule group reference statement.

This is used in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.

JSON specification: \"None\": {}

", "refs": { - "OverrideAction$None": "

Don't override the rule action setting.

" + "OverrideAction$None": "

Don't override the rule group evaluation result. This is the most common setting.

" } }, "NotStatement": { @@ -1211,10 +1245,10 @@ } }, "OverrideAction": { - "base": "

The override action to apply to the rules in a rule group. Used only for rule statements that reference a rule group, like RuleGroupReferenceStatement and ManagedRuleGroupStatement.

Set the override action to none to leave the rule actions in effect. Set it to count to only count matches, regardless of the rule action settings.

In a Rule, you must specify either this OverrideAction setting or the rule Action setting, but not both:

", + "base": "

The action to use in the place of the action that results from the rule group evaluation. Set the override action to none to leave the result of the rule group alone. Set it to count to override the result to count only.

You can only use this for rule statements that reference a rule group, like RuleGroupReferenceStatement and ManagedRuleGroupStatement.

This option is usually set to none. It does not affect how the rules in the rule group are evaluated. If you want the rules in the rule group to only count matches, do not use this and instead exclude those rules in your rule group reference statement settings.

", "refs": { - "FirewallManagerRuleGroup$OverrideAction": "

The override action to apply to the rules in a rule group. Used only for rule statements that reference a rule group, like RuleGroupReferenceStatement and ManagedRuleGroupStatement.

Set the override action to none to leave the rule actions in effect. Set it to count to only count matches, regardless of the rule action settings.

In a Rule, you must specify either this OverrideAction setting or the rule Action setting, but not both:

", - "Rule$OverrideAction": "

The override action to apply to the rules in a rule group. Used only for rule statements that reference a rule group, like RuleGroupReferenceStatement and ManagedRuleGroupStatement.

Set the override action to none to leave the rule actions in effect. Set it to count to only count matches, regardless of the rule action settings.

In a Rule, you must specify either this OverrideAction setting or the rule Action setting, but not both:

" + "FirewallManagerRuleGroup$OverrideAction": "

The action to use in the place of the action that results from the rule group evaluation. Set the override action to none to leave the result of the rule group alone. Set it to count to override the result to count only.

You can only use this for rule statements that reference a rule group, like RuleGroupReferenceStatement and ManagedRuleGroupStatement.

This option is usually set to none. It does not affect how the rules in the rule group are evaluated. If you want the rules in the rule group to only count matches, do not use this and instead exclude those rules in your rule group reference statement settings.

", + "Rule$OverrideAction": "

The action to use in the place of the action that results from the rule group evaluation. Set the override action to none to leave the result of the rule group alone. Set it to count to override the result to count only.

You can only use this for rule statements that reference a rule group, like RuleGroupReferenceStatement and ManagedRuleGroupStatement.

This option is usually set to none. It does not affect how the rules in the rule group are evaluated. If you want the rules in the rule group to only count matches, do not use this and instead exclude those rules in your rule group reference statement settings.

" } }, "PaginationLimit": { @@ -1440,6 +1474,12 @@ "ListResourcesForWebACLRequest$ResourceType": "

Used for web ACLs that are scoped for regional applications. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API.

" } }, + "ResponseCode": { + "base": null, + "refs": { + "CaptchaResponse$ResponseCode": "

The HTTP response code indicating the status of the CAPTCHA token in the web request. If the token is missing, invalid, or expired, this code is 405 Method Not Allowed.

" + } + }, "ResponseContent": { "base": null, "refs": { @@ -1613,6 +1653,12 @@ "Statement$SizeConstraintStatement": "

A rule statement that compares a number of bytes against the size of a request component, using a comparison operator, such as greater than (>) or less than (<). For example, you can use a size constraint statement to look for query strings that are longer than 100 bytes.

If you configure WAF to inspect the request body, WAF inspects only the first 8192 bytes (8 KB). If the request body for your web requests never exceeds 8192 bytes, you can create a size constraint condition and block requests that have a request body greater than 8192 bytes.

If you choose URI for the value of Part of the request to filter on, the slash (/) in the URI counts as one character. For example, the URI /logo.jpg is nine characters long.

" } }, + "SolveTimestamp": { + "base": null, + "refs": { + "CaptchaResponse$SolveTimestamp": "

The time that the CAPTCHA puzzle was solved for the supplied token.

" + } + }, "SqliMatchStatement": { "base": "

Attackers sometimes insert malicious SQL code into web requests in an effort to extract data from your database. To allow or block web requests that appear to contain malicious SQL code, create one or more SQL injection match conditions. An SQL injection match condition identifies the part of web requests, such as the URI or the query string, that you want WAF to inspect. Later in the process, when you create a web ACL, you specify whether to allow or block requests that appear to contain malicious SQL code.

", "refs": { @@ -1731,6 +1777,12 @@ "VersionToPublish$ForecastedLifetime": "

The amount of time the vendor expects this version of the managed rule group to last, in days.

" } }, + "TimeWindowSecond": { + "base": null, + "refs": { + "ImmunityTimeProperty$ImmunityTime": "

The amount of time, in seconds, that a CAPTCHA token is valid. The default setting is 300.

" + } + }, "Timestamp": { "base": null, "refs": { diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 90bba6e245b..9b46cf34c6e 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -17218,4 +17218,4 @@ } } ], "version" : 3 -} +} \ No newline at end of file diff --git a/service/chimesdkmeetings/api.go b/service/chimesdkmeetings/api.go index 7042d6d4caa..88b055a2e49 100644 --- a/service/chimesdkmeetings/api.go +++ b/service/chimesdkmeetings/api.go @@ -1569,7 +1569,7 @@ type CreateMeetingInput struct { // ExternalMeetingId is a required field ExternalMeetingId *string `min:"2" type:"string" required:"true" sensitive:"true"` - // The Region in which to create the meeting. Default: us-east-1. + // The Region in which to create the meeting. // // Available values: af-south-1 , ap-northeast-1 , ap-northeast-2 , ap-south-1 // , ap-southeast-1 , ap-southeast-2 , ca-central-1 , eu-central-1 , eu-north-1 @@ -1577,7 +1577,7 @@ type CreateMeetingInput struct { // , us-east-2 , us-west-1 , us-west-2 . // // MediaRegion is a required field - MediaRegion *string `type:"string" required:"true"` + MediaRegion *string `min:"2" type:"string" required:"true"` // Reserved. // @@ -1624,6 +1624,9 @@ func (s *CreateMeetingInput) Validate() error { if s.MediaRegion == nil { invalidParams.Add(request.NewErrParamRequired("MediaRegion")) } + if s.MediaRegion != nil && len(*s.MediaRegion) < 2 { + invalidParams.Add(request.NewErrParamMinLen("MediaRegion", 2)) + } if s.MeetingHostId != nil && len(*s.MeetingHostId) < 2 { invalidParams.Add(request.NewErrParamMinLen("MeetingHostId", 2)) } @@ -1725,10 +1728,10 @@ type CreateMeetingWithAttendeesInput struct { // ExternalMeetingId is a required field ExternalMeetingId *string `min:"2" type:"string" required:"true" sensitive:"true"` - // The Region in which to create the meeting. Default: us-east-1. + // The Region in which to create the meeting. // // MediaRegion is a required field - MediaRegion *string `type:"string" required:"true"` + MediaRegion *string `min:"2" type:"string" required:"true"` // Reserved. // @@ -1781,6 +1784,9 @@ func (s *CreateMeetingWithAttendeesInput) Validate() error { if s.MediaRegion == nil { invalidParams.Add(request.NewErrParamRequired("MediaRegion")) } + if s.MediaRegion != nil && len(*s.MediaRegion) < 2 { + invalidParams.Add(request.NewErrParamMinLen("MediaRegion", 2)) + } if s.MeetingHostId != nil && len(*s.MeetingHostId) < 2 { invalidParams.Add(request.NewErrParamMinLen("MeetingHostId", 2)) } @@ -2768,7 +2774,7 @@ type Meeting struct { // ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, // ca-central-1, eu-central-1, eu-north-1, eu-south-1, eu-west-1, eu-west-2, // eu-west-3, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2. - MediaRegion *string `type:"string"` + MediaRegion *string `min:"2" type:"string"` // Reserved. // diff --git a/service/ec2/api.go b/service/ec2/api.go index 009d2838b59..aa7df2dfc8f 100644 --- a/service/ec2/api.go +++ b/service/ec2/api.go @@ -144822,7 +144822,7 @@ type VpnConnection struct { CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"` // The current state of the gateway association. - GatewayAssociationState *string `locationName:"gatewayAssociationState" type:"string"` + GatewayAssociationState *string `locationName:"gatewayAssociationState" type:"string" enum:"GatewayAssociationState"` // The VPN connection options. Options *VpnConnectionOptions `locationName:"options" type:"structure"` @@ -147653,6 +147653,30 @@ func FpgaImageStateCode_Values() []string { } } +const ( + // GatewayAssociationStateAssociated is a GatewayAssociationState enum value + GatewayAssociationStateAssociated = "associated" + + // GatewayAssociationStateNotAssociated is a GatewayAssociationState enum value + GatewayAssociationStateNotAssociated = "not-associated" + + // GatewayAssociationStateAssociating is a GatewayAssociationState enum value + GatewayAssociationStateAssociating = "associating" + + // GatewayAssociationStateDisassociating is a GatewayAssociationState enum value + GatewayAssociationStateDisassociating = "disassociating" +) + +// GatewayAssociationState_Values returns all elements of the GatewayAssociationState enum +func GatewayAssociationState_Values() []string { + return []string{ + GatewayAssociationStateAssociated, + GatewayAssociationStateNotAssociated, + GatewayAssociationStateAssociating, + GatewayAssociationStateDisassociating, + } +} + const ( // GatewayTypeIpsec1 is a GatewayType enum value GatewayTypeIpsec1 = "ipsec.1" diff --git a/service/sagemaker/api.go b/service/sagemaker/api.go index 206923cf3ee..02a37b39437 100644 --- a/service/sagemaker/api.go +++ b/service/sagemaker/api.go @@ -23475,10 +23475,11 @@ func (s *AgentVersion) SetVersion(v string) *AgentVersion { return s } -// This API is not supported. +// An Amazon CloudWatch alarm configured to monitor metrics on an endpoint. type Alarm struct { _ struct{} `type:"structure"` + // The name of a CloudWatch alarm in your account. AlarmName *string `min:"1" type:"string"` } @@ -26707,10 +26708,14 @@ func (s *AutoMLSecurityConfig) SetVpcConfig(v *VpcConfig) *AutoMLSecurityConfig return s } -// Currently, the AutoRollbackConfig API is not supported. +// Automatic rollback configuration for handling endpoint deployment failures +// and recovery. type AutoRollbackConfig struct { _ struct{} `type:"structure"` + // List of CloudWatch alarms in your account that are configured to monitor + // metrics on an endpoint. If any alarms are tripped during a deployment, SageMaker + // rolls back the deployment. Alarms []*Alarm `min:"1" type:"list"` } @@ -27044,15 +27049,26 @@ func (s *Bias) SetReport(v *MetricsSource) *Bias { return s } -// Currently, the BlueGreenUpdatePolicy API is not supported. +// Update policy for a blue/green deployment. If this update policy is specified, +// SageMaker creates a new fleet during the deployment while maintaining the +// old fleet. SageMaker flips traffic to the new fleet according to the specified +// traffic routing configuration. Only one update policy should be used in the +// deployment configuration. If no update policy is specified, SageMaker uses +// a blue/green deployment strategy with all at once traffic shifting by default. type BlueGreenUpdatePolicy struct { _ struct{} `type:"structure"` + // Maximum execution timeout for the deployment. Note that the timeout value + // should be larger than the total waiting time specified in TerminationWaitInSeconds + // and WaitIntervalInSeconds. MaximumExecutionTimeoutInSeconds *int64 `min:"600" type:"integer"` + // Additional waiting time in seconds after the completion of an endpoint deployment + // before terminating the old endpoint fleet. Default is 0. TerminationWaitInSeconds *int64 `type:"integer"` - // Currently, the TrafficRoutingConfig API is not supported. + // Defines the traffic routing strategy to shift traffic from the old fleet + // to the new fleet during an endpoint deployment. // // TrafficRoutingConfiguration is a required field TrafficRoutingConfiguration *TrafficRoutingConfig `type:"structure" required:"true"` @@ -27274,15 +27290,23 @@ func (s *CandidateProperties) SetCandidateMetrics(v []*MetricDatum) *CandidatePr return s } -// Currently, the CapacitySize API is not supported. +// Specifies the endpoint capacity to activate for production. type CapacitySize struct { _ struct{} `type:"structure"` - // This API is not supported. + // Specifies the endpoint capacity type. + // + // * INSTANCE_COUNT: The endpoint activates based on the number of instances. + // + // * CAPACITY_PERCENT: The endpoint activates based on the specified percentage + // of capacity. // // Type is a required field Type *string `type:"string" required:"true" enum:"CapacitySizeType"` + // Defines the capacity size, either as a number of instances or a capacity + // percentage. + // // Value is a required field Value *int64 `min:"1" type:"integer" required:"true"` } @@ -31392,6 +31416,10 @@ func (s *CreateEndpointConfigOutput) SetEndpointConfigArn(v string) *CreateEndpo type CreateEndpointInput struct { _ struct{} `type:"structure"` + // The deployment configuration for an endpoint, which contains the desired + // deployment strategy and rollback configurations. + DeploymentConfig *DeploymentConfig `type:"structure"` + // The name of an endpoint configuration. For more information, see CreateEndpointConfig. // // EndpointConfigName is a required field @@ -31438,6 +31466,11 @@ func (s *CreateEndpointInput) Validate() error { if s.EndpointName == nil { invalidParams.Add(request.NewErrParamRequired("EndpointName")) } + if s.DeploymentConfig != nil { + if err := s.DeploymentConfig.Validate(); err != nil { + invalidParams.AddNested("DeploymentConfig", err.(request.ErrInvalidParams)) + } + } if s.Tags != nil { for i, v := range s.Tags { if v == nil { @@ -31455,6 +31488,12 @@ func (s *CreateEndpointInput) Validate() error { return nil } +// SetDeploymentConfig sets the DeploymentConfig field's value. +func (s *CreateEndpointInput) SetDeploymentConfig(v *DeploymentConfig) *CreateEndpointInput { + s.DeploymentConfig = v + return s +} + // SetEndpointConfigName sets the EndpointConfigName field's value. func (s *CreateEndpointInput) SetEndpointConfigName(v string) *CreateEndpointInput { s.EndpointConfigName = &v @@ -41352,14 +41391,21 @@ func (s *DeployedImage) SetSpecifiedImage(v string) *DeployedImage { return s } -// Currently, the DeploymentConfig API is not supported. +// The deployment configuration for an endpoint, which contains the desired +// deployment strategy and rollback configurations. type DeploymentConfig struct { _ struct{} `type:"structure"` - // Currently, the AutoRollbackConfig API is not supported. + // Automatic rollback configuration for handling endpoint deployment failures + // and recovery. AutoRollbackConfiguration *AutoRollbackConfig `type:"structure"` - // Currently, the BlueGreenUpdatePolicy API is not supported. + // Update policy for a blue/green deployment. If this update policy is specified, + // SageMaker creates a new fleet during the deployment while maintaining the + // old fleet. SageMaker flips traffic to the new fleet according to the specified + // traffic routing configuration. Only one update policy should be used in the + // deployment configuration. If no update policy is specified, SageMaker uses + // a blue/green deployment strategy with all at once traffic shifting by default. // // BlueGreenUpdatePolicy is a required field BlueGreenUpdatePolicy *BlueGreenUpdatePolicy `type:"structure" required:"true"` @@ -44468,6 +44514,10 @@ type DescribeEndpointOutput struct { // LastModifiedTime is a required field LastModifiedTime *time.Time `type:"timestamp" required:"true"` + // Returns the summary of an in-progress deployment. This field is only returned + // when the endpoint is creating or updating with a new endpoint configuration. + PendingDeploymentSummary *PendingDeploymentSummary `type:"structure"` + // An array of ProductionVariantSummary objects, one for each model hosted behind // this endpoint. ProductionVariants []*ProductionVariantSummary `min:"1" type:"list"` @@ -44551,6 +44601,12 @@ func (s *DescribeEndpointOutput) SetLastModifiedTime(v time.Time) *DescribeEndpo return s } +// SetPendingDeploymentSummary sets the PendingDeploymentSummary field's value. +func (s *DescribeEndpointOutput) SetPendingDeploymentSummary(v *PendingDeploymentSummary) *DescribeEndpointOutput { + s.PendingDeploymentSummary = v + return s +} + // SetProductionVariants sets the ProductionVariants field's value. func (s *DescribeEndpointOutput) SetProductionVariants(v []*ProductionVariantSummary) *DescribeEndpointOutput { s.ProductionVariants = v @@ -55162,9 +55218,10 @@ type HumanTaskConfig struct { // * If you choose the Amazon Mechanical Turk workforce, the maximum is 12 // hours (43,200 seconds). The default is 6 hours (21,600 seconds). // - // * If you choose a private or vendor workforce, the default value is 10 - // days (864,000 seconds). For most users, the maximum is also 10 days. If - // you want to change this limit, contact Amazon Web Services Support. + // * If you choose a private or vendor workforce, the default value is 30 + // days (2592,000 seconds) for non-AL mode. For most users, the maximum is + // also 30 days. If you want to change this limit, contact Amazon Web Services + // Support. TaskAvailabilityLifetimeInSeconds *int64 `min:"60" type:"integer"` // A description of the task for your human workers. @@ -55190,8 +55247,9 @@ type HumanTaskConfig struct { // // * For 3D point cloud (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-point-cloud.html) // and video frame (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-video.html) - // labeling jobs, the maximum is 7 days (604,800 seconds). If you want to - // change these limits, contact Amazon Web Services Support. + // labeling jobs, the maximum is 30 days (2952,000 seconds) for non-AL mode. + // For most users, the maximum is also 30 days. If you want to change these + // limits, contact Amazon Web Services Support. // // TaskTimeLimitInSeconds is a required field TaskTimeLimitInSeconds *int64 `min:"30" type:"integer" required:"true"` @@ -72657,6 +72715,176 @@ func (s *ParentHyperParameterTuningJob) SetHyperParameterTuningJobName(v string) return s } +// The summary of an in-progress deployment when an endpoint is creating or +// updating with a new endpoint configuration. +type PendingDeploymentSummary struct { + _ struct{} `type:"structure"` + + // The name of the endpoint configuration used in the deployment. + // + // EndpointConfigName is a required field + EndpointConfigName *string `type:"string" required:"true"` + + // List of PendingProductionVariantSummary objects. + ProductionVariants []*PendingProductionVariantSummary `min:"1" type:"list"` + + // The start time of the deployment. + StartTime *time.Time `type:"timestamp"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PendingDeploymentSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PendingDeploymentSummary) GoString() string { + return s.String() +} + +// SetEndpointConfigName sets the EndpointConfigName field's value. +func (s *PendingDeploymentSummary) SetEndpointConfigName(v string) *PendingDeploymentSummary { + s.EndpointConfigName = &v + return s +} + +// SetProductionVariants sets the ProductionVariants field's value. +func (s *PendingDeploymentSummary) SetProductionVariants(v []*PendingProductionVariantSummary) *PendingDeploymentSummary { + s.ProductionVariants = v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *PendingDeploymentSummary) SetStartTime(v time.Time) *PendingDeploymentSummary { + s.StartTime = &v + return s +} + +// The production variant summary for a deployment when an endpoint is creating +// or updating with the CreateEndpoint or UpdateEndpoint operations. Describes +// the VariantStatus , weight and capacity for a production variant associated +// with an endpoint. +type PendingProductionVariantSummary struct { + _ struct{} `type:"structure"` + + // The size of the Elastic Inference (EI) instance to use for the production + // variant. EI instances provide on-demand GPU computing for inference. For + // more information, see Using Elastic Inference in Amazon SageMaker (https://docs.aws.amazon.com/sagemaker/latest/dg/ei.html). + AcceleratorType *string `type:"string" enum:"ProductionVariantAcceleratorType"` + + // The number of instances associated with the variant. + CurrentInstanceCount *int64 `type:"integer"` + + // The weight associated with the variant. + CurrentWeight *float64 `type:"float"` + + // An array of DeployedImage objects that specify the Amazon EC2 Container Registry + // paths of the inference images deployed on instances of this ProductionVariant. + DeployedImages []*DeployedImage `type:"list"` + + // The number of instances requested in this deployment, as specified in the + // endpoint configuration for the endpoint. The value is taken from the request + // to the CreateEndpointConfig operation. + DesiredInstanceCount *int64 `type:"integer"` + + // The requested weight for the variant in this deployment, as specified in + // the endpoint configuration for the endpoint. The value is taken from the + // request to the CreateEndpointConfig operation. + DesiredWeight *float64 `type:"float"` + + // The type of instances associated with the variant. + InstanceType *string `type:"string" enum:"ProductionVariantInstanceType"` + + // The name of the variant. + // + // VariantName is a required field + VariantName *string `type:"string" required:"true"` + + // The endpoint variant status which describes the current deployment stage + // status or operational status. + VariantStatus []*ProductionVariantStatus `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PendingProductionVariantSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PendingProductionVariantSummary) GoString() string { + return s.String() +} + +// SetAcceleratorType sets the AcceleratorType field's value. +func (s *PendingProductionVariantSummary) SetAcceleratorType(v string) *PendingProductionVariantSummary { + s.AcceleratorType = &v + return s +} + +// SetCurrentInstanceCount sets the CurrentInstanceCount field's value. +func (s *PendingProductionVariantSummary) SetCurrentInstanceCount(v int64) *PendingProductionVariantSummary { + s.CurrentInstanceCount = &v + return s +} + +// SetCurrentWeight sets the CurrentWeight field's value. +func (s *PendingProductionVariantSummary) SetCurrentWeight(v float64) *PendingProductionVariantSummary { + s.CurrentWeight = &v + return s +} + +// SetDeployedImages sets the DeployedImages field's value. +func (s *PendingProductionVariantSummary) SetDeployedImages(v []*DeployedImage) *PendingProductionVariantSummary { + s.DeployedImages = v + return s +} + +// SetDesiredInstanceCount sets the DesiredInstanceCount field's value. +func (s *PendingProductionVariantSummary) SetDesiredInstanceCount(v int64) *PendingProductionVariantSummary { + s.DesiredInstanceCount = &v + return s +} + +// SetDesiredWeight sets the DesiredWeight field's value. +func (s *PendingProductionVariantSummary) SetDesiredWeight(v float64) *PendingProductionVariantSummary { + s.DesiredWeight = &v + return s +} + +// SetInstanceType sets the InstanceType field's value. +func (s *PendingProductionVariantSummary) SetInstanceType(v string) *PendingProductionVariantSummary { + s.InstanceType = &v + return s +} + +// SetVariantName sets the VariantName field's value. +func (s *PendingProductionVariantSummary) SetVariantName(v string) *PendingProductionVariantSummary { + s.VariantName = &v + return s +} + +// SetVariantStatus sets the VariantStatus field's value. +func (s *PendingProductionVariantSummary) SetVariantStatus(v []*ProductionVariantStatus) *PendingProductionVariantSummary { + s.VariantStatus = v + return s +} + // A SageMaker Model Building Pipeline instance. type Pipeline struct { _ struct{} `type:"structure"` @@ -74636,6 +74864,70 @@ func (s *ProductionVariantCoreDumpConfig) SetKmsKeyId(v string) *ProductionVaria return s } +// Describes the status of the production variant. +type ProductionVariantStatus struct { + _ struct{} `type:"structure"` + + // The start time of the current status change. + StartTime *time.Time `type:"timestamp"` + + // The endpoint variant status which describes the current deployment stage + // status or operational status. + // + // * Creating: Creating inference resources for the production variant. + // + // * Deleting: Terminating inference resources for the production variant. + // + // * Updating: Updating capacity for the production variant. + // + // * ActivatingTraffic: Turning on traffic for the production variant. + // + // * Baking: Waiting period to monitor the CloudWatch alarms in the automatic + // rollback configuration. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"VariantStatus"` + + // A message that describes the status of the production variant. + StatusMessage *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ProductionVariantStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ProductionVariantStatus) GoString() string { + return s.String() +} + +// SetStartTime sets the StartTime field's value. +func (s *ProductionVariantStatus) SetStartTime(v time.Time) *ProductionVariantStatus { + s.StartTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ProductionVariantStatus) SetStatus(v string) *ProductionVariantStatus { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *ProductionVariantStatus) SetStatusMessage(v string) *ProductionVariantStatus { + s.StatusMessage = &v + return s +} + // Describes weight and capacities for a production variant associated with // an endpoint. If you sent a request to the UpdateEndpointWeightsAndCapacities // API and the endpoint status is Updating, you get different desired and current @@ -74665,6 +74957,10 @@ type ProductionVariantSummary struct { // // VariantName is a required field VariantName *string `type:"string" required:"true"` + + // The endpoint variant status which describes the current deployment stage + // status or operational status. + VariantStatus []*ProductionVariantStatus `type:"list"` } // String returns the string representation. @@ -74721,6 +75017,12 @@ func (s *ProductionVariantSummary) SetVariantName(v string) *ProductionVariantSu return s } +// SetVariantStatus sets the VariantStatus field's value. +func (s *ProductionVariantSummary) SetVariantStatus(v []*ProductionVariantStatus) *ProductionVariantSummary { + s.VariantStatus = v + return s +} + // Configuration information for Debugger system monitoring, framework profiling, // and storage paths. type ProfilerConfig struct { @@ -80423,16 +80725,36 @@ func (s *TensorBoardOutputConfig) SetS3OutputPath(v string) *TensorBoardOutputCo return s } -// Currently, the TrafficRoutingConfig API is not supported. +// Defines the traffic routing strategy during an endpoint deployment to shift +// traffic from the old fleet to the new fleet. type TrafficRoutingConfig struct { _ struct{} `type:"structure"` - // Currently, the CapacitySize API is not supported. + // Batch size for the first step to turn on traffic on the new endpoint fleet. + // Value must be less than or equal to 50% of the variant's total instance count. CanarySize *CapacitySize `type:"structure"` + // Batch size for each step to turn on traffic on the new endpoint fleet. Value + // must be 10-50% of the variant's total instance count. + LinearStepSize *CapacitySize `type:"structure"` + + // Traffic routing strategy type. + // + // * ALL_AT_ONCE: Endpoint traffic shifts to the new fleet in a single step. + // + // * CANARY: Endpoint traffic shifts to the new fleet in two steps. The first + // step is the canary, which is a small portion of the traffic. The second + // step is the remainder of the traffic. + // + // * LINEAR: Endpoint traffic shifts to the new fleet in n steps of a configurable + // size. + // // Type is a required field Type *string `type:"string" required:"true" enum:"TrafficRoutingConfigType"` + // The waiting time (in seconds) between incremental steps to turn on traffic + // on the new endpoint fleet. + // // WaitIntervalInSeconds is a required field WaitIntervalInSeconds *int64 `type:"integer" required:"true"` } @@ -80469,6 +80791,11 @@ func (s *TrafficRoutingConfig) Validate() error { invalidParams.AddNested("CanarySize", err.(request.ErrInvalidParams)) } } + if s.LinearStepSize != nil { + if err := s.LinearStepSize.Validate(); err != nil { + invalidParams.AddNested("LinearStepSize", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -80482,6 +80809,12 @@ func (s *TrafficRoutingConfig) SetCanarySize(v *CapacitySize) *TrafficRoutingCon return s } +// SetLinearStepSize sets the LinearStepSize field's value. +func (s *TrafficRoutingConfig) SetLinearStepSize(v *CapacitySize) *TrafficRoutingConfig { + s.LinearStepSize = v + return s +} + // SetType sets the Type field's value. func (s *TrafficRoutingConfig) SetType(v string) *TrafficRoutingConfig { s.Type = &v @@ -84682,7 +85015,8 @@ func (s *UpdateDomainOutput) SetDomainArn(v string) *UpdateDomainOutput { type UpdateEndpointInput struct { _ struct{} `type:"structure"` - // The deployment configuration for the endpoint to be updated. + // The deployment configuration for an endpoint, which contains the desired + // deployment strategy and rollback configurations. DeploymentConfig *DeploymentConfig `type:"structure"` // The name of the new endpoint configuration. @@ -84710,6 +85044,10 @@ type UpdateEndpointInput struct { // updating an endpoint, set RetainAllVariantProperties to false. The default // is false. RetainAllVariantProperties *bool `type:"boolean"` + + // Specifies whether to reuse the last deployment configuration. The default + // value is false (the configuration is not reused). + RetainDeploymentConfig *bool `type:"boolean"` } // String returns the string representation. @@ -84791,6 +85129,12 @@ func (s *UpdateEndpointInput) SetRetainAllVariantProperties(v bool) *UpdateEndpo return s } +// SetRetainDeploymentConfig sets the RetainDeploymentConfig field's value. +func (s *UpdateEndpointInput) SetRetainDeploymentConfig(v bool) *UpdateEndpointInput { + s.RetainDeploymentConfig = &v + return s +} + type UpdateEndpointOutput struct { _ struct{} `type:"structure"` @@ -91865,6 +92209,9 @@ const ( // TrafficRoutingConfigTypeCanary is a TrafficRoutingConfigType enum value TrafficRoutingConfigTypeCanary = "CANARY" + + // TrafficRoutingConfigTypeLinear is a TrafficRoutingConfigType enum value + TrafficRoutingConfigTypeLinear = "LINEAR" ) // TrafficRoutingConfigType_Values returns all elements of the TrafficRoutingConfigType enum @@ -91872,6 +92219,7 @@ func TrafficRoutingConfigType_Values() []string { return []string{ TrafficRoutingConfigTypeAllAtOnce, TrafficRoutingConfigTypeCanary, + TrafficRoutingConfigTypeLinear, } } @@ -92426,3 +92774,31 @@ func VariantPropertyType_Values() []string { VariantPropertyTypeDataCaptureConfig, } } + +const ( + // VariantStatusCreating is a VariantStatus enum value + VariantStatusCreating = "Creating" + + // VariantStatusUpdating is a VariantStatus enum value + VariantStatusUpdating = "Updating" + + // VariantStatusDeleting is a VariantStatus enum value + VariantStatusDeleting = "Deleting" + + // VariantStatusActivatingTraffic is a VariantStatus enum value + VariantStatusActivatingTraffic = "ActivatingTraffic" + + // VariantStatusBaking is a VariantStatus enum value + VariantStatusBaking = "Baking" +) + +// VariantStatus_Values returns all elements of the VariantStatus enum +func VariantStatus_Values() []string { + return []string{ + VariantStatusCreating, + VariantStatusUpdating, + VariantStatusDeleting, + VariantStatusActivatingTraffic, + VariantStatusBaking, + } +} diff --git a/service/wafv2/api.go b/service/wafv2/api.go index 9a9f72f2183..5f18ef6b5f3 100644 --- a/service/wafv2/api.go +++ b/service/wafv2/api.go @@ -5705,6 +5705,179 @@ func (s *ByteMatchStatement) SetTextTransformations(v []*TextTransformation) *By return s } +// Specifies that WAF should run a CAPTCHA check against the request: +// +// * If the request includes a valid, unexpired CAPTCHA token, WAF allows +// the web request inspection to proceed to the next rule, similar to a CountAction. +// +// * If the request doesn't include a valid, unexpired CAPTCHA token, WAF +// discontinues the web ACL evaluation of the request and blocks it from +// going to its intended destination. WAF generates a response that it sends +// back to the client, which includes the following: The header x-amzn-waf-action +// with a value of captcha. The HTTP status code 405 Method Not Allowed. +// If the request contains an Accept header with a value of text/html, the +// response includes a CAPTCHA challenge. +// +// You can configure the expiration time in the CaptchaConfig ImmunityTimeProperty +// setting at the rule and web ACL level. The rule setting overrides the web +// ACL setting. +// +// This action option is available for rules. It isn't available for web ACL +// default actions. +// +// This is used in the context of other settings, for example to specify values +// for RuleAction and web ACL DefaultAction. +type CaptchaAction struct { + _ struct{} `type:"structure"` + + // Defines custom handling for the web request. + // + // For information about customizing web requests and responses, see Customizing + // web requests and responses in WAF (https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html) + // in the WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). + CustomRequestHandling *CustomRequestHandling `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CaptchaAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CaptchaAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CaptchaAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CaptchaAction"} + if s.CustomRequestHandling != nil { + if err := s.CustomRequestHandling.Validate(); err != nil { + invalidParams.AddNested("CustomRequestHandling", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCustomRequestHandling sets the CustomRequestHandling field's value. +func (s *CaptchaAction) SetCustomRequestHandling(v *CustomRequestHandling) *CaptchaAction { + s.CustomRequestHandling = v + return s +} + +// Specifies how WAF should handle CAPTCHA evaluations. This is available at +// the web ACL level and in each rule. +type CaptchaConfig struct { + _ struct{} `type:"structure"` + + // Determines how long a CAPTCHA token remains valid after the client successfully + // solves a CAPTCHA puzzle. + ImmunityTimeProperty *ImmunityTimeProperty `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CaptchaConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CaptchaConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CaptchaConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CaptchaConfig"} + if s.ImmunityTimeProperty != nil { + if err := s.ImmunityTimeProperty.Validate(); err != nil { + invalidParams.AddNested("ImmunityTimeProperty", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetImmunityTimeProperty sets the ImmunityTimeProperty field's value. +func (s *CaptchaConfig) SetImmunityTimeProperty(v *ImmunityTimeProperty) *CaptchaConfig { + s.ImmunityTimeProperty = v + return s +} + +// The result from the inspection of the web request for a valid CAPTCHA token. +type CaptchaResponse struct { + _ struct{} `type:"structure"` + + // The reason for failure, populated when the evaluation of the token fails. + FailureReason *string `type:"string" enum:"FailureReason"` + + // The HTTP response code indicating the status of the CAPTCHA token in the + // web request. If the token is missing, invalid, or expired, this code is 405 + // Method Not Allowed. + ResponseCode *int64 `type:"integer"` + + // The time that the CAPTCHA puzzle was solved for the supplied token. + SolveTimestamp *int64 `type:"long"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CaptchaResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CaptchaResponse) GoString() string { + return s.String() +} + +// SetFailureReason sets the FailureReason field's value. +func (s *CaptchaResponse) SetFailureReason(v string) *CaptchaResponse { + s.FailureReason = &v + return s +} + +// SetResponseCode sets the ResponseCode field's value. +func (s *CaptchaResponse) SetResponseCode(v int64) *CaptchaResponse { + s.ResponseCode = &v + return s +} + +// SetSolveTimestamp sets the SolveTimestamp field's value. +func (s *CaptchaResponse) SetSolveTimestamp(v int64) *CaptchaResponse { + s.SolveTimestamp = &v + return s +} + type CheckCapacityInput struct { _ struct{} `type:"structure"` @@ -5958,7 +6131,7 @@ type CreateIPSetInput struct { // Inter-Domain Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). // // Addresses is a required field - Addresses []*string `type:"list" required:"true"` + Addresses []*string `min:"1" type:"list" required:"true"` // A description of the IP set that helps with identification. Description *string `min:"1" type:"string"` @@ -6017,6 +6190,9 @@ func (s *CreateIPSetInput) Validate() error { if s.Addresses == nil { invalidParams.Add(request.NewErrParamRequired("Addresses")) } + if s.Addresses != nil && len(s.Addresses) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Addresses", 1)) + } if s.Description != nil && len(*s.Description) < 1 { invalidParams.Add(request.NewErrParamMinLen("Description", 1)) } @@ -6536,6 +6712,11 @@ func (s *CreateRuleGroupOutput) SetSummary(v *RuleGroupSummary) *CreateRuleGroup type CreateWebACLInput struct { _ struct{} `type:"structure"` + // Specifies how WAF should handle CAPTCHA evaluations for rules that don't + // have their own CaptchaConfig settings. If you don't specify this, WAF uses + // its default settings for CaptchaConfig. + CaptchaConfig *CaptchaConfig `type:"structure"` + // A map of custom response keys and content bodies. When you create a rule // with a block action, you can send a custom response to the web request. You // define these for the web ACL, and then use them in the rules and default @@ -6639,6 +6820,11 @@ func (s *CreateWebACLInput) Validate() error { if s.VisibilityConfig == nil { invalidParams.Add(request.NewErrParamRequired("VisibilityConfig")) } + if s.CaptchaConfig != nil { + if err := s.CaptchaConfig.Validate(); err != nil { + invalidParams.AddNested("CaptchaConfig", err.(request.ErrInvalidParams)) + } + } if s.CustomResponseBodies != nil { for i, v := range s.CustomResponseBodies { if v == nil { @@ -6686,6 +6872,12 @@ func (s *CreateWebACLInput) Validate() error { return nil } +// SetCaptchaConfig sets the CaptchaConfig field's value. +func (s *CreateWebACLInput) SetCaptchaConfig(v *CaptchaConfig) *CreateWebACLInput { + s.CaptchaConfig = v + return s +} + // SetCustomResponseBodies sets the CustomResponseBodies field's value. func (s *CreateWebACLInput) SetCustomResponseBodies(v map[string]*CustomResponseBody) *CreateWebACLInput { s.CustomResponseBodies = v @@ -8250,13 +8442,14 @@ func (s DisassociateWebACLOutput) GoString() string { return s.String() } -// Specifies a single rule to exclude from the rule group. Excluding a rule -// overrides its action setting for the rule group in the web ACL, setting it -// to COUNT. This effectively excludes the rule from acting on web requests. +// Specifies a single rule in a rule group whose action you want to override +// to Count. When you exclude a rule, WAF evaluates it exactly as it would if +// the rule action setting were Count. This is a useful option for testing the +// rules in a rule group without modifying how they handle your web traffic. type ExcludedRule struct { _ struct{} `type:"structure"` - // The name of the rule to exclude. + // The name of the rule whose action you want to override to Count. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -8578,21 +8771,17 @@ type FirewallManagerRuleGroup struct { // Name is a required field Name *string `min:"1" type:"string" required:"true"` - // The override action to apply to the rules in a rule group. Used only for - // rule statements that reference a rule group, like RuleGroupReferenceStatement - // and ManagedRuleGroupStatement. - // - // Set the override action to none to leave the rule actions in effect. Set - // it to count to only count matches, regardless of the rule action settings. - // - // In a Rule, you must specify either this OverrideAction setting or the rule - // Action setting, but not both: + // The action to use in the place of the action that results from the rule group + // evaluation. Set the override action to none to leave the result of the rule + // group alone. Set it to count to override the result to count only. // - // * If the rule statement references a rule group, use this override action - // setting and not the action setting. + // You can only use this for rule statements that reference a rule group, like + // RuleGroupReferenceStatement and ManagedRuleGroupStatement. // - // * If the rule statement does not reference a rule group, use the rule - // action setting and not this rule override action setting. + // This option is usually set to none. It does not affect how the rules in the + // rule group are evaluated. If you want the rules in the rule group to only + // count matches, do not use this and instead exclude those rules in your rule + // group reference statement settings. // // OverrideAction is a required field OverrideAction *OverrideAction `type:"structure" required:"true"` @@ -10352,7 +10541,7 @@ type IPSet struct { // Inter-Domain Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). // // Addresses is a required field - Addresses []*string `type:"list" required:"true"` + Addresses []*string `min:"1" type:"list" required:"true"` // A description of the IP set that helps with identification. Description *string `min:"1" type:"string"` @@ -10704,6 +10893,58 @@ func (s *IPSetSummary) SetName(v string) *IPSetSummary { return s } +// Determines how long a CAPTCHA token remains valid after the client successfully +// solves a CAPTCHA puzzle. +type ImmunityTimeProperty struct { + _ struct{} `type:"structure"` + + // The amount of time, in seconds, that a CAPTCHA token is valid. The default + // setting is 300. + // + // ImmunityTime is a required field + ImmunityTime *int64 `min:"60" type:"long" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ImmunityTimeProperty) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ImmunityTimeProperty) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ImmunityTimeProperty) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImmunityTimeProperty"} + if s.ImmunityTime == nil { + invalidParams.Add(request.NewErrParamRequired("ImmunityTime")) + } + if s.ImmunityTime != nil && *s.ImmunityTime < 60 { + invalidParams.Add(request.NewErrParamMinValue("ImmunityTime", 60)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetImmunityTime sets the ImmunityTime field's value. +func (s *ImmunityTimeProperty) SetImmunityTime(v int64) *ImmunityTimeProperty { + s.ImmunityTime = &v + return s +} + // The body of a web request, inspected as JSON. The body immediately follows // the request headers. This is used in the FieldToMatch specification. // @@ -11560,7 +11801,9 @@ type ListLoggingConfigurationsInput struct { // --region=us-east-1. // // * API and SDKs - For all calls, use the Region endpoint us-east-1. - Scope *string `type:"string" enum:"Scope"` + // + // Scope is a required field + Scope *string `type:"string" required:"true" enum:"Scope"` } // String returns the string representation. @@ -11590,6 +11833,9 @@ func (s *ListLoggingConfigurationsInput) Validate() error { if s.NextMarker != nil && len(*s.NextMarker) < 1 { invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) } + if s.Scope == nil { + invalidParams.Add(request.NewErrParamRequired("Scope")) + } if invalidParams.Len() > 0 { return invalidParams @@ -12591,9 +12837,10 @@ func (s *LoggingFilter) SetFilters(v []*Filter) *LoggingFilter { type ManagedRuleGroupStatement struct { _ struct{} `type:"structure"` - // The rules whose actions are set to COUNT by the web ACL, regardless of the - // action that is set on the rule. This effectively excludes the rule from acting - // on web requests. + // The rules in the referenced rule group whose actions are set to Count. When + // you exclude a rule, WAF evaluates it exactly as it would if the rule action + // setting were Count. This is a useful option for testing the rules in a rule + // group without modifying how they handle your web traffic. ExcludedRules []*ExcludedRule `type:"list"` // The name of the managed rule group. You use this, along with the vendor name, @@ -13169,8 +13416,8 @@ func (s Method) GoString() string { return s.String() } -// Specifies that WAF should do nothing. This is generally used to try out a -// rule without performing any actions. You set the OverrideAction on the Rule. +// Specifies that WAF should do nothing. This is used for the OverrideAction +// setting on a Rule when the rule uses a rule group reference statement. // // This is used in the context of other settings, for example to specify values // for RuleAction and web ACL DefaultAction. @@ -13310,28 +13557,30 @@ func (s *OrStatement) SetStatements(v []*Statement) *OrStatement { return s } -// The override action to apply to the rules in a rule group. Used only for -// rule statements that reference a rule group, like RuleGroupReferenceStatement -// and ManagedRuleGroupStatement. -// -// Set the override action to none to leave the rule actions in effect. Set -// it to count to only count matches, regardless of the rule action settings. +// The action to use in the place of the action that results from the rule group +// evaluation. Set the override action to none to leave the result of the rule +// group alone. Set it to count to override the result to count only. // -// In a Rule, you must specify either this OverrideAction setting or the rule -// Action setting, but not both: +// You can only use this for rule statements that reference a rule group, like +// RuleGroupReferenceStatement and ManagedRuleGroupStatement. // -// * If the rule statement references a rule group, use this override action -// setting and not the action setting. -// -// * If the rule statement does not reference a rule group, use the rule -// action setting and not this rule override action setting. +// This option is usually set to none. It does not affect how the rules in the +// rule group are evaluated. If you want the rules in the rule group to only +// count matches, do not use this and instead exclude those rules in your rule +// group reference statement settings. type OverrideAction struct { _ struct{} `type:"structure"` - // Override the rule action setting to count. + // Override the rule group evaluation result to count only. + // + // This option is usually set to none. It does not affect how the rules in the + // rule group are evaluated. If you want the rules in the rule group to only + // count matches, do not use this and instead exclude those rules in your rule + // group reference statement settings. Count *CountAction `type:"structure"` - // Don't override the rule action setting. + // Don't override the rule group evaluation result. This is the most common + // setting. None *NoneAction `type:"structure"` } @@ -13949,7 +14198,7 @@ type RateBasedStatementManagedKeysIPSet struct { _ struct{} `type:"structure"` // The IP addresses that are currently blocked. - Addresses []*string `type:"list"` + Addresses []*string `min:"1" type:"list"` // The version of the IP addresses, either IPV4 or IPV6. IPAddressVersion *string `type:"string" enum:"IPAddressVersion"` @@ -14420,27 +14669,27 @@ type Rule struct { // setting and not this action setting. Action *RuleAction `type:"structure"` + // Specifies how WAF should handle CAPTCHA evaluations. If you don't specify + // this, WAF uses the CAPTCHA configuration that's defined for the web ACL. + CaptchaConfig *CaptchaConfig `type:"structure"` + // The name of the rule. You can't change the name of a Rule after you create // it. // // Name is a required field Name *string `min:"1" type:"string" required:"true"` - // The override action to apply to the rules in a rule group. Used only for - // rule statements that reference a rule group, like RuleGroupReferenceStatement - // and ManagedRuleGroupStatement. - // - // Set the override action to none to leave the rule actions in effect. Set - // it to count to only count matches, regardless of the rule action settings. + // The action to use in the place of the action that results from the rule group + // evaluation. Set the override action to none to leave the result of the rule + // group alone. Set it to count to override the result to count only. // - // In a Rule, you must specify either this OverrideAction setting or the rule - // Action setting, but not both: + // You can only use this for rule statements that reference a rule group, like + // RuleGroupReferenceStatement and ManagedRuleGroupStatement. // - // * If the rule statement references a rule group, use this override action - // setting and not the action setting. - // - // * If the rule statement does not reference a rule group, use the rule - // action setting and not this rule override action setting. + // This option is usually set to none. It does not affect how the rules in the + // rule group are evaluated. If you want the rules in the rule group to only + // count matches, do not use this and instead exclude those rules in your rule + // group reference statement settings. OverrideAction *OverrideAction `type:"structure"` // If you define more than one Rule in a WebACL, WAF evaluates each request @@ -14527,6 +14776,11 @@ func (s *Rule) Validate() error { invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) } } + if s.CaptchaConfig != nil { + if err := s.CaptchaConfig.Validate(); err != nil { + invalidParams.AddNested("CaptchaConfig", err.(request.ErrInvalidParams)) + } + } if s.OverrideAction != nil { if err := s.OverrideAction.Validate(); err != nil { invalidParams.AddNested("OverrideAction", err.(request.ErrInvalidParams)) @@ -14565,6 +14819,12 @@ func (s *Rule) SetAction(v *RuleAction) *Rule { return s } +// SetCaptchaConfig sets the CaptchaConfig field's value. +func (s *Rule) SetCaptchaConfig(v *CaptchaConfig) *Rule { + s.CaptchaConfig = v + return s +} + // SetName sets the Name field's value. func (s *Rule) SetName(v string) *Rule { s.Name = &v @@ -14612,6 +14872,9 @@ type RuleAction struct { // Instructs WAF to block the web request. Block *BlockAction `type:"structure"` + // Instructs WAF to run a CAPTCHA check against the web request. + Captcha *CaptchaAction `type:"structure"` + // Instructs WAF to count the web request and allow it. Count *CountAction `type:"structure"` } @@ -14647,6 +14910,11 @@ func (s *RuleAction) Validate() error { invalidParams.AddNested("Block", err.(request.ErrInvalidParams)) } } + if s.Captcha != nil { + if err := s.Captcha.Validate(); err != nil { + invalidParams.AddNested("Captcha", err.(request.ErrInvalidParams)) + } + } if s.Count != nil { if err := s.Count.Validate(); err != nil { invalidParams.AddNested("Count", err.(request.ErrInvalidParams)) @@ -14671,6 +14939,12 @@ func (s *RuleAction) SetBlock(v *BlockAction) *RuleAction { return s } +// SetCaptcha sets the Captcha field's value. +func (s *RuleAction) SetCaptcha(v *CaptchaAction) *RuleAction { + s.Captcha = v + return s +} + // SetCount sets the Count field's value. func (s *RuleAction) SetCount(v *CountAction) *RuleAction { s.Count = v @@ -14871,8 +15145,10 @@ type RuleGroupReferenceStatement struct { // ARN is a required field ARN *string `min:"20" type:"string" required:"true"` - // The names of rules that are in the referenced rule group, but that you want - // WAF to exclude from processing for this rule statement. + // The rules in the referenced rule group whose actions are set to Count. When + // you exclude a rule, WAF evaluates it exactly as it would if the rule action + // setting were Count. This is a useful option for testing the rules in a rule + // group without modifying how they handle your web traffic. ExcludedRules []*ExcludedRule `type:"list"` } @@ -15065,9 +15341,12 @@ func (s *RuleSummary) SetName(v string) *RuleSummary { type SampledHTTPRequest struct { _ struct{} `type:"structure"` - // The action for the Rule that the request matched: ALLOW, BLOCK, or COUNT. + // The action for the Rule that the request matched: Allow, Block, or Count. Action *string `type:"string"` + // The CAPTCHA response for the request. + CaptchaResponse *CaptchaResponse `type:"structure"` + // Labels applied to the web request by matching rules. WAF applies fully qualified // labels to matching web requests. A fully qualified label is the concatenation // of a label namespace and a rule label. The rule's rule group or web ACL defines @@ -15132,6 +15411,12 @@ func (s *SampledHTTPRequest) SetAction(v string) *SampledHTTPRequest { return s } +// SetCaptchaResponse sets the CaptchaResponse field's value. +func (s *SampledHTTPRequest) SetCaptchaResponse(v *CaptchaResponse) *SampledHTTPRequest { + s.CaptchaResponse = v + return s +} + // SetLabels sets the Labels field's value. func (s *SampledHTTPRequest) SetLabels(v []*Label) *SampledHTTPRequest { s.Labels = v @@ -16448,7 +16733,7 @@ type UpdateIPSetInput struct { // Inter-Domain Routing (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). // // Addresses is a required field - Addresses []*string `type:"list" required:"true"` + Addresses []*string `min:"1" type:"list" required:"true"` // A description of the IP set that helps with identification. Description *string `min:"1" type:"string"` @@ -16517,6 +16802,9 @@ func (s *UpdateIPSetInput) Validate() error { if s.Addresses == nil { invalidParams.Add(request.NewErrParamRequired("Addresses")) } + if s.Addresses != nil && len(s.Addresses) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Addresses", 1)) + } if s.Description != nil && len(*s.Description) < 1 { invalidParams.Add(request.NewErrParamMinLen("Description", 1)) } @@ -17248,6 +17536,11 @@ func (s *UpdateRuleGroupOutput) SetNextLockToken(v string) *UpdateRuleGroupOutpu type UpdateWebACLInput struct { _ struct{} `type:"structure"` + // Specifies how WAF should handle CAPTCHA evaluations for rules that don't + // have their own CaptchaConfig settings. If you don't specify this, WAF uses + // its default settings for CaptchaConfig. + CaptchaConfig *CaptchaConfig `type:"structure"` + // A map of custom response keys and content bodies. When you create a rule // with a block action, you can send a custom response to the web request. You // define these for the web ACL, and then use them in the rules and default @@ -17376,6 +17669,11 @@ func (s *UpdateWebACLInput) Validate() error { if s.VisibilityConfig == nil { invalidParams.Add(request.NewErrParamRequired("VisibilityConfig")) } + if s.CaptchaConfig != nil { + if err := s.CaptchaConfig.Validate(); err != nil { + invalidParams.AddNested("CaptchaConfig", err.(request.ErrInvalidParams)) + } + } if s.CustomResponseBodies != nil { for i, v := range s.CustomResponseBodies { if v == nil { @@ -17413,6 +17711,12 @@ func (s *UpdateWebACLInput) Validate() error { return nil } +// SetCaptchaConfig sets the CaptchaConfig field's value. +func (s *UpdateWebACLInput) SetCaptchaConfig(v *CaptchaConfig) *UpdateWebACLInput { + s.CaptchaConfig = v + return s +} + // SetCustomResponseBodies sets the CustomResponseBodies field's value. func (s *UpdateWebACLInput) SetCustomResponseBodies(v map[string]*CustomResponseBody) *UpdateWebACLInput { s.CustomResponseBodies = v @@ -18789,6 +19093,11 @@ type WebACL struct { // web ACLs is 1,500. Capacity *int64 `type:"long"` + // Specifies how WAF should handle CAPTCHA evaluations for rules that don't + // have their own CaptchaConfig settings. If you don't specify this, WAF uses + // its default settings for CaptchaConfig. + CaptchaConfig *CaptchaConfig `type:"structure"` + // A map of custom response keys and content bodies. When you create a rule // with a block action, you can send a custom response to the web request. You // define these for the web ACL, and then use them in the rules and default @@ -18906,6 +19215,12 @@ func (s *WebACL) SetCapacity(v int64) *WebACL { return s } +// SetCaptchaConfig sets the CaptchaConfig field's value. +func (s *WebACL) SetCaptchaConfig(v *CaptchaConfig) *WebACL { + s.CaptchaConfig = v + return s +} + // SetCustomResponseBodies sets the CustomResponseBodies field's value. func (s *WebACL) SetCustomResponseBodies(v map[string]*CustomResponseBody) *WebACL { s.CustomResponseBodies = v @@ -19151,6 +19466,12 @@ const ( // ActionValueCount is a ActionValue enum value ActionValueCount = "COUNT" + + // ActionValueCaptcha is a ActionValue enum value + ActionValueCaptcha = "CAPTCHA" + + // ActionValueExcludedAsCount is a ActionValue enum value + ActionValueExcludedAsCount = "EXCLUDED_AS_COUNT" ) // ActionValue_Values returns all elements of the ActionValue enum @@ -19159,6 +19480,8 @@ func ActionValue_Values() []string { ActionValueAllow, ActionValueBlock, ActionValueCount, + ActionValueCaptcha, + ActionValueExcludedAsCount, } } @@ -20218,6 +20541,22 @@ func CountryCode_Values() []string { } } +const ( + // FailureReasonTokenMissing is a FailureReason enum value + FailureReasonTokenMissing = "TOKEN_MISSING" + + // FailureReasonTokenExpired is a FailureReason enum value + FailureReasonTokenExpired = "TOKEN_EXPIRED" +) + +// FailureReason_Values returns all elements of the FailureReason enum +func FailureReason_Values() []string { + return []string{ + FailureReasonTokenMissing, + FailureReasonTokenExpired, + } +} + const ( // FallbackBehaviorMatch is a FallbackBehavior enum value FallbackBehaviorMatch = "MATCH"