From a55d3cfe1061382667944a5a846b865204e2a878 Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Thu, 10 Feb 2022 11:14:25 -0800 Subject: [PATCH] Release v1.42.51 (2022-02-10) (#4275) Release v1.42.51 (2022-02-10) === ### Service Client Updates * `service/cloudformation`: Updates service API * This SDK release adds AWS CloudFormation Hooks HandlerErrorCodes * `service/lookoutvision`: Updates service API and documentation * `service/pinpoint`: Updates service API and documentation * This SDK release adds a new paramater creation date for GetApp and GetApps Api call * `service/sns`: Updates service documentation * Customer requested typo fix in API documentation. * `service/wafv2`: Updates service API and documentation --- CHANGELOG.md | 13 + aws/endpoints/defaults.go | 3 + aws/version.go | 2 +- .../apis/cloudformation/2010-05-15/api-2.json | 5 +- .../apis/lookoutvision/2020-11-20/api-2.json | 1 - .../apis/lookoutvision/2020-11-20/docs-2.json | 4 +- models/apis/pinpoint/2016-12-01/api-2.json | 3 + models/apis/pinpoint/2016-12-01/docs-2.json | 3 +- models/apis/sns/2010-03-31/docs-2.json | 2 +- models/apis/wafv2/2019-07-29/api-2.json | 181 ++- models/apis/wafv2/2019-07-29/docs-2.json | 130 ++ models/endpoints/endpoints.json | 1 + service/cloudformation/api.go | 12 + service/lookoutforvision/api.go | 13 +- service/pinpoint/api.go | 9 + service/sns/api.go | 2 +- service/wafv2/api.go | 1042 ++++++++++++++++- service/wafv2/wafv2iface/interface.go | 12 + 18 files changed, 1394 insertions(+), 44 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f3adba42b07..db4d0c613a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,16 @@ +Release v1.42.51 (2022-02-10) +=== + +### Service Client Updates +* `service/cloudformation`: Updates service API + * This SDK release adds AWS CloudFormation Hooks HandlerErrorCodes +* `service/lookoutvision`: Updates service API and documentation +* `service/pinpoint`: Updates service API and documentation + * This SDK release adds a new paramater creation date for GetApp and GetApps Api call +* `service/sns`: Updates service documentation + * Customer requested typo fix in API documentation. +* `service/wafv2`: Updates service API and documentation + Release v1.42.50 (2022-02-09) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index 4ecbeedddd7..a49650c6a87 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -20669,6 +20669,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-northeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-northeast-3", + }: endpoint{}, endpointKey{ Region: "ap-south-1", }: endpoint{}, diff --git a/aws/version.go b/aws/version.go index 0a57a3146f2..dabc0cb48f9 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.42.50" +const SDKVersion = "1.42.51" diff --git a/models/apis/cloudformation/2010-05-15/api-2.json b/models/apis/cloudformation/2010-05-15/api-2.json index 6e8a9d5e5c5..90d29331c3f 100644 --- a/models/apis/cloudformation/2010-05-15/api-2.json +++ b/models/apis/cloudformation/2010-05-15/api-2.json @@ -2115,7 +2115,10 @@ "ServiceInternalError", "NetworkFailure", "InternalFailure", - "InvalidTypeConfiguration" + "InvalidTypeConfiguration", + "HandlerInternalFailure", + "NonCompliant", + "Unknown" ] }, "HookFailureMode":{ diff --git a/models/apis/lookoutvision/2020-11-20/api-2.json b/models/apis/lookoutvision/2020-11-20/api-2.json index 260c4a8503c..27205b9b33e 100644 --- a/models/apis/lookoutvision/2020-11-20/api-2.json +++ b/models/apis/lookoutvision/2020-11-20/api-2.json @@ -854,7 +854,6 @@ "GreengrassConfiguration":{ "type":"structure", "required":[ - "CompilerOptions", "S3OutputLocation", "ComponentName" ], diff --git a/models/apis/lookoutvision/2020-11-20/docs-2.json b/models/apis/lookoutvision/2020-11-20/docs-2.json index e7674170b00..1ca2aea9cc6 100644 --- a/models/apis/lookoutvision/2020-11-20/docs-2.json +++ b/models/apis/lookoutvision/2020-11-20/docs-2.json @@ -19,7 +19,7 @@ "ListProjects": "

Lists the Amazon Lookout for Vision projects in your AWS account.

The ListProjects operation is eventually consistent. Recent calls to CreateProject and DeleteProject might take a while to appear in the response from ListProjects.

This operation requires permissions to perform the lookoutvision:ListProjects operation.

", "ListTagsForResource": "

Returns a list of tags attached to the specified Amazon Lookout for Vision model.

This operation requires permissions to perform the lookoutvision:ListTagsForResource operation.

", "StartModel": "

Starts the running of the version of an Amazon Lookout for Vision model. Starting a model takes a while to complete. To check the current state of the model, use DescribeModel.

A model is ready to use when its status is HOSTED.

Once the model is running, you can detect custom labels in new images by calling DetectAnomalies.

You are charged for the amount of time that the model is running. To stop a running model, call StopModel.

This operation requires permissions to perform the lookoutvision:StartModel operation.

", - "StartModelPackagingJob": "

Starts an Amazon Lookout for Vision model packaging job. A model packaging job creates an AWS IoT Greengrass component for a Lookout for Vision model. You can use the component to deploy your model to an edge device managed by Greengrass.

Use the DescribeModelPackagingJob API to determine the current status of the job. The model packaging job is complete if the value of Status is SUCCEEDED.

To deploy the component to the target device, use the component name and component version with the AWS IoT Greengrass CreateDeployment API.

This operation requires the following permissions:

For more information, see Using your Amazon Lookout for Vision model on an edge device in the Amazon Lookout for Vision Developer Guide.

", + "StartModelPackagingJob": "

Starts an Amazon Lookout for Vision model packaging job. A model packaging job creates an AWS IoT Greengrass component for a Lookout for Vision model. You can use the component to deploy your model to an edge device managed by Greengrass.

Use the DescribeModelPackagingJob API to determine the current status of the job. The model packaging job is complete if the value of Status is SUCCEEDED.

To deploy the component to the target device, use the component name and component version with the AWS IoT Greengrass CreateDeployment API.

This operation requires the following permissions:

For more information, see Using your Amazon Lookout for Vision model on an edge device in the Amazon Lookout for Vision Developer Guide.

", "StopModel": "

Stops the hosting of a running model. The operation might take a while to complete. To check the current status, call DescribeModel.

After the model hosting stops, the Status of the model is TRAINED.

This operation requires permissions to perform the lookoutvision:StopModel operation.

", "TagResource": "

Adds one or more key-value tags to an Amazon Lookout for Vision model. For more information, see Tagging a model in the Amazon Lookout for Vision Developer Guide.

This operation requires permissions to perform the lookoutvision:TagResource operation.

", "UntagResource": "

Removes one or more tags from an Amazon Lookout for Vision model. For more information, see Tagging a model in the Amazon Lookout for Vision Developer Guide.

This operation requires permissions to perform the lookoutvision:UntagResource operation.

", @@ -61,7 +61,7 @@ "CompilerOptions": { "base": null, "refs": { - "GreengrassConfiguration$CompilerOptions": "

Additional compiler options for the Greengrass component. Currently, only NVIDIA Graphics Processing Units (GPU) are supported.

For more information, see Compiler options in the Amazon Lookout for Vision Developer Guide.

" + "GreengrassConfiguration$CompilerOptions": "

Additional compiler options for the Greengrass component. Currently, only NVIDIA Graphics Processing Units (GPU) are supported. If you specify TargetPlatform, you must specify CompilerOptions. If you specify TargetDevice, don't specify CompilerOptions.

For more information, see Compiler options in the Amazon Lookout for Vision Developer Guide.

" } }, "ComponentDescription": { diff --git a/models/apis/pinpoint/2016-12-01/api-2.json b/models/apis/pinpoint/2016-12-01/api-2.json index d75ed8fdc22..e800851a6ca 100644 --- a/models/apis/pinpoint/2016-12-01/api-2.json +++ b/models/apis/pinpoint/2016-12-01/api-2.json @@ -5014,6 +5014,9 @@ "tags": { "shape": "MapOf__string", "locationName": "tags" + }, + "CreationDate": { + "shape": "__string" } }, "required": [ diff --git a/models/apis/pinpoint/2016-12-01/docs-2.json b/models/apis/pinpoint/2016-12-01/docs-2.json index c484df3e358..62c9bca53f2 100644 --- a/models/apis/pinpoint/2016-12-01/docs-2.json +++ b/models/apis/pinpoint/2016-12-01/docs-2.json @@ -2063,6 +2063,7 @@ "ApplicationResponse$Arn" : "

The Amazon Resource Name (ARN) of the application.

", "ApplicationResponse$Id" : "

The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

", "ApplicationResponse$Name" : "

The display name of the application. This name is displayed as the Project name on the Amazon Pinpoint console.

", + "ApplicationResponse$CreationDate" : "

The date and time when the Application was created.

", "ApplicationSettingsResource$ApplicationId" : "

The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

", "ApplicationSettingsResource$LastModifiedDate" : "

The date and time, in ISO 8601 format, when the application's settings were last modified.

", "ApplicationsResponse$NextToken" : "

The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

", @@ -2568,4 +2569,4 @@ } } } -} \ No newline at end of file +} diff --git a/models/apis/sns/2010-03-31/docs-2.json b/models/apis/sns/2010-03-31/docs-2.json index 9ab8446cebf..135b7f1e699 100644 --- a/models/apis/sns/2010-03-31/docs-2.json +++ b/models/apis/sns/2010-03-31/docs-2.json @@ -29,7 +29,7 @@ "ListTagsForResource": "

List all tags added to the specified Amazon SNS topic. For an overview, see Amazon SNS Tags in the Amazon Simple Notification Service Developer Guide.

", "ListTopics": "

Returns a list of the requester's topics. Each call returns a limited list of topics, up to 100. If there are more topics, a NextToken is also returned. Use the NextToken parameter in a new ListTopics call to get further results.

This action is throttled at 30 transactions per second (TPS).

", "OptInPhoneNumber": "

Use this request to opt in a phone number that is opted out, which enables you to resume sending SMS messages to the number.

You can opt in a phone number only once every 30 days.

", - "Publish": "

Sends a message to an Amazon SNS topic, a text message (SMS message) directly to a phone number, or a message to a mobile platform endpoint (when you specify the TargetArn).

If you send a message to a topic, Amazon SNS delivers the message to each endpoint that is subscribed to the topic. The format of the message depends on the notification protocol for each subscribed endpoint.

When a messageId is returned, the message is saved and Amazon SNS immediately deliverers it to subscribers.

To use the Publish action for publishing a message to a mobile endpoint, such as an app on a Kindle device or mobile phone, you must specify the EndpointArn for the TargetArn parameter. The EndpointArn is returned when making a call with the CreatePlatformEndpoint action.

For more information about formatting messages, see Send Custom Platform-Specific Payloads in Messages to Mobile Devices.

You can publish messages only to topics and endpoints in the same Amazon Web Services Region.

", + "Publish": "

Sends a message to an Amazon SNS topic, a text message (SMS message) directly to a phone number, or a message to a mobile platform endpoint (when you specify the TargetArn).

If you send a message to a topic, Amazon SNS delivers the message to each endpoint that is subscribed to the topic. The format of the message depends on the notification protocol for each subscribed endpoint.

When a messageId is returned, the message is saved and Amazon SNS immediately delivers it to subscribers.

To use the Publish action for publishing a message to a mobile endpoint, such as an app on a Kindle device or mobile phone, you must specify the EndpointArn for the TargetArn parameter. The EndpointArn is returned when making a call with the CreatePlatformEndpoint action.

For more information about formatting messages, see Send Custom Platform-Specific Payloads in Messages to Mobile Devices.

You can publish messages only to topics and endpoints in the same Amazon Web Services Region.

", "PublishBatch": "

Publishes up to ten messages to the specified topic. This is a batch version of Publish. For FIFO topics, multiple messages within a single batch are published in the order they are sent, and messages are deduplicated within the batch and across batches for 5 minutes.

The result of publishing each message is reported individually in the response. Because the batch request can result in a combination of successful and unsuccessful actions, you should check for batch errors even when the call returns an HTTP status code of 200.

The maximum allowed individual message size and the maximum total payload size (the sum of the individual lengths of all of the batched messages) are both 256 KB (262,144 bytes).

Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

&AttributeName.1=first

&AttributeName.2=second

If you send a batch message to a topic, Amazon SNS publishes the batch message to each endpoint that is subscribed to the topic. The format of the batch message depends on the notification protocol for each subscribed endpoint.

When a messageId is returned, the batch message is saved and Amazon SNS immediately delivers the message to subscribers.

", "RemovePermission": "

Removes a statement from a topic's access control policy.

", "SetEndpointAttributes": "

Sets the attributes for an endpoint for a device on one of the supported push notification services, such as GCM (Firebase Cloud Messaging) and APNS. For more information, see Using Amazon SNS Mobile Push Notifications.

", diff --git a/models/apis/wafv2/2019-07-29/api-2.json b/models/apis/wafv2/2019-07-29/api-2.json index d1365c580ef..5884c7206ed 100755 --- a/models/apis/wafv2/2019-07-29/api-2.json +++ b/models/apis/wafv2/2019-07-29/api-2.json @@ -285,6 +285,21 @@ {"shape":"WAFInvalidOperationException"} ] }, + "GenerateMobileSdkReleaseUrl":{ + "name":"GenerateMobileSdkReleaseUrl", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GenerateMobileSdkReleaseUrlRequest"}, + "output":{"shape":"GenerateMobileSdkReleaseUrlResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFInvalidOperationException"} + ] + }, "GetIPSet":{ "name":"GetIPSet", "http":{ @@ -330,6 +345,21 @@ {"shape":"WAFInvalidOperationException"} ] }, + "GetMobileSdkRelease":{ + "name":"GetMobileSdkRelease", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetMobileSdkReleaseRequest"}, + "output":{"shape":"GetMobileSdkReleaseResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFInvalidOperationException"} + ] + }, "GetPermissionPolicy":{ "name":"GetPermissionPolicy", "http":{ @@ -504,6 +534,20 @@ {"shape":"WAFInvalidOperationException"} ] }, + "ListMobileSdkReleases":{ + "name":"ListMobileSdkReleases", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListMobileSdkReleasesRequest"}, + "output":{"shape":"ListMobileSdkReleasesResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFInvalidOperationException"} + ] + }, "ListRegexPatternSets":{ "name":"ListRegexPatternSets", "http":{ @@ -1507,6 +1551,7 @@ "members":{ } }, + "DownloadUrl":{"type":"string"}, "EntityDescription":{ "type":"string", "max":256, @@ -1552,6 +1597,12 @@ "NO_MATCH" ] }, + "FieldIdentifier":{ + "type":"string", + "max":512, + "min":1, + "pattern":".*\\S.*" + }, "FieldToMatch":{ "type":"structure", "members":{ @@ -1656,6 +1707,23 @@ "ANY" ] }, + "GenerateMobileSdkReleaseUrlRequest":{ + "type":"structure", + "required":[ + "Platform", + "ReleaseVersion" + ], + "members":{ + "Platform":{"shape":"Platform"}, + "ReleaseVersion":{"shape":"VersionKeyString"} + } + }, + "GenerateMobileSdkReleaseUrlResponse":{ + "type":"structure", + "members":{ + "Url":{"shape":"DownloadUrl"} + } + }, "GeoMatchStatement":{ "type":"structure", "members":{ @@ -1716,6 +1784,23 @@ "LockToken":{"shape":"LockToken"} } }, + "GetMobileSdkReleaseRequest":{ + "type":"structure", + "required":[ + "Platform", + "ReleaseVersion" + ], + "members":{ + "Platform":{"shape":"Platform"}, + "ReleaseVersion":{"shape":"VersionKeyString"} + } + }, + "GetMobileSdkReleaseResponse":{ + "type":"structure", + "members":{ + "MobileSdkRelease":{"shape":"MobileSdkRelease"} + } + }, "GetPermissionPolicyRequest":{ "type":"structure", "required":["ResourceArn"], @@ -1843,7 +1928,8 @@ "type":"structure", "members":{ "WebACL":{"shape":"WebACL"}, - "LockToken":{"shape":"LockToken"} + "LockToken":{"shape":"LockToken"}, + "ApplicationIntegrationURL":{"shape":"OutputUrl"} } }, "HTTPHeader":{ @@ -2137,6 +2223,22 @@ "max":500, "min":1 }, + "ListMobileSdkReleasesRequest":{ + "type":"structure", + "required":["Platform"], + "members":{ + "Platform":{"shape":"Platform"}, + "NextMarker":{"shape":"NextMarker"}, + "Limit":{"shape":"PaginationLimit"} + } + }, + "ListMobileSdkReleasesResponse":{ + "type":"structure", + "members":{ + "ReleaseSummaries":{"shape":"ReleaseSummaries"}, + "NextMarker":{"shape":"NextMarker"} + } + }, "ListRegexPatternSetsRequest":{ "type":"structure", "required":["Scope"], @@ -2256,6 +2358,26 @@ "DefaultBehavior":{"shape":"FilterBehavior"} } }, + "LoginPathString":{ + "type":"string", + "max":256, + "min":1, + "pattern":".*\\S.*" + }, + "ManagedRuleGroupConfig":{ + "type":"structure", + "members":{ + "LoginPath":{"shape":"LoginPathString"}, + "PayloadType":{"shape":"PayloadType"}, + "UsernameField":{"shape":"UsernameField"}, + "PasswordField":{"shape":"PasswordField"} + } + }, + "ManagedRuleGroupConfigs":{ + "type":"list", + "member":{"shape":"ManagedRuleGroupConfig"}, + "min":1 + }, "ManagedRuleGroupStatement":{ "type":"structure", "required":[ @@ -2267,7 +2389,8 @@ "Name":{"shape":"EntityName"}, "Version":{"shape":"VersionKeyString"}, "ExcludedRules":{"shape":"ExcludedRules"}, - "ScopeDownStatement":{"shape":"Statement"} + "ScopeDownStatement":{"shape":"Statement"}, + "ManagedRuleGroupConfigs":{"shape":"ManagedRuleGroupConfigs"} } }, "ManagedRuleGroupSummaries":{ @@ -2347,6 +2470,15 @@ "min":1, "pattern":"^[\\w#:\\.\\-/]+$" }, + "MobileSdkRelease":{ + "type":"structure", + "members":{ + "ReleaseVersion":{"shape":"VersionKeyString"}, + "Timestamp":{"shape":"Timestamp"}, + "ReleaseNotes":{"shape":"ReleaseNotes"}, + "Tags":{"shape":"TagList"} + } + }, "NextMarker":{ "type":"string", "max":256, @@ -2372,6 +2504,7 @@ "Statements":{"shape":"Statements"} } }, + "OutputUrl":{"type":"string"}, "OverrideAction":{ "type":"structure", "members":{ @@ -2443,13 +2576,36 @@ "EXPIRE_TIMESTAMP", "CHANGE_PROPAGATION_STATUS", "ASSOCIABLE_RESOURCE", - "LOG_DESTINATION" + "LOG_DESTINATION", + "MANAGED_RULE_GROUP_CONFIG", + "PAYLOAD_TYPE" ] }, "ParameterExceptionParameter":{ "type":"string", "min":1 }, + "PasswordField":{ + "type":"structure", + "required":["Identifier"], + "members":{ + "Identifier":{"shape":"FieldIdentifier"} + } + }, + "PayloadType":{ + "type":"string", + "enum":[ + "JSON", + "FORM_ENCODED" + ] + }, + "Platform":{ + "type":"string", + "enum":[ + "IOS", + "ANDROID" + ] + }, "PolicyString":{ "type":"string", "max":395000, @@ -2632,6 +2788,18 @@ "type":"list", "member":{"shape":"Regex"} }, + "ReleaseNotes":{"type":"string"}, + "ReleaseSummaries":{ + "type":"list", + "member":{"shape":"ReleaseSummary"} + }, + "ReleaseSummary":{ + "type":"structure", + "members":{ + "ReleaseVersion":{"shape":"VersionKeyString"}, + "Timestamp":{"shape":"Timestamp"} + } + }, "ResourceArn":{ "type":"string", "max":2048, @@ -3141,6 +3309,13 @@ "members":{ } }, + "UsernameField":{ + "type":"structure", + "required":["Identifier"], + "members":{ + "Identifier":{"shape":"FieldIdentifier"} + } + }, "VendorName":{ "type":"string", "max":128, diff --git a/models/apis/wafv2/2019-07-29/docs-2.json b/models/apis/wafv2/2019-07-29/docs-2.json index 4a0e511edae..a7e684a2972 100755 --- a/models/apis/wafv2/2019-07-29/docs-2.json +++ b/models/apis/wafv2/2019-07-29/docs-2.json @@ -17,9 +17,11 @@ "DeleteWebACL": "

Deletes the specified WebACL.

You can only use this if ManagedByFirewallManager is false in the specified WebACL.

", "DescribeManagedRuleGroup": "

Provides high-level information for a managed rule group, including descriptions of the rules.

", "DisassociateWebACL": "

Disassociates a web ACL from a regional application resource. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, or an AppSync GraphQL API.

For Amazon CloudFront, don't use this call. Instead, use your CloudFront distribution configuration. To disassociate a web ACL, provide an empty web ACL ID in the CloudFront call UpdateDistribution. For information, see UpdateDistribution.

", + "GenerateMobileSdkReleaseUrl": "

Generates a presigned download URL for the specified release of the mobile SDK.

The mobile SDK is not generally available. Customers who have access to the mobile SDK can use it to establish and manage Security Token Service (STS) security tokens for use in HTTP(S) requests from a mobile device to WAF.

", "GetIPSet": "

Retrieves the specified IPSet.

", "GetLoggingConfiguration": "

Returns the LoggingConfiguration for the specified web ACL.

", "GetManagedRuleSet": "

Retrieves the specified managed rule set.

This is intended for use only by vendors of managed rule sets. Vendors are Amazon Web Services and Amazon Web Services Marketplace sellers.

Vendors, you can use the managed rule set APIs to provide controlled rollout of your versioned managed rule group offerings for your customers. The APIs are ListManagedRuleSets, GetManagedRuleSet, PutManagedRuleSetVersions, and UpdateManagedRuleSetVersionExpiryDate.

", + "GetMobileSdkRelease": "

Retrieves information for the specified mobile SDK release, including release notes and tags.

The mobile SDK is not generally available. Customers who have access to the mobile SDK can use it to establish and manage Security Token Service (STS) security tokens for use in HTTP(S) requests from a mobile device to WAF.

", "GetPermissionPolicy": "

Returns the IAM policy that is attached to the specified rule group.

You must be the owner of the rule group to perform this operation.

", "GetRateBasedStatementManagedKeys": "

Retrieves the keys that are currently blocked by a rate-based rule instance. The maximum number of managed keys that can be blocked for a single rate-based rule instance is 10,000. If more than 10,000 addresses exceed the rate limit, those with the highest rates are blocked.

For a rate-based rule that you've defined inside a rule group, provide the name of the rule group reference statement in your request, in addition to the rate-based rule name and the web ACL name.

WAF monitors web requests and manages keys independently for each unique combination of web ACL, optional rule group, and rate-based rule. For example, if you define a rate-based rule inside a rule group, and then use the rule group in a web ACL, WAF monitors web requests and manages keys for that web ACL, rule group reference statement, and rate-based rule instance. If you use the same rule group in a second web ACL, WAF monitors web requests and manages keys for this second usage completely independent of your first.

", "GetRegexPatternSet": "

Retrieves the specified RegexPatternSet.

", @@ -32,6 +34,7 @@ "ListIPSets": "

Retrieves an array of IPSetSummary objects for the IP sets that you manage.

", "ListLoggingConfigurations": "

Retrieves an array of your LoggingConfiguration objects.

", "ListManagedRuleSets": "

Retrieves the managed rule sets that you own.

This is intended for use only by vendors of managed rule sets. Vendors are Amazon Web Services and Amazon Web Services Marketplace sellers.

Vendors, you can use the managed rule set APIs to provide controlled rollout of your versioned managed rule group offerings for your customers. The APIs are ListManagedRuleSets, GetManagedRuleSet, PutManagedRuleSetVersions, and UpdateManagedRuleSetVersionExpiryDate.

", + "ListMobileSdkReleases": "

Retrieves a list of the available releases for the mobile SDK and the specified device platform.

The mobile SDK is not generally available. Customers who have access to the mobile SDK can use it to establish and manage Security Token Service (STS) security tokens for use in HTTP(S) requests from a mobile device to WAF.

", "ListRegexPatternSets": "

Retrieves an array of RegexPatternSetSummary objects for the regex pattern sets that you manage.

", "ListResourcesForWebACL": "

Retrieves an array of the Amazon Resource Names (ARNs) for the regional resources that are associated with the specified web ACL. If you want the list of Amazon CloudFront resources, use the CloudFront call ListDistributionsByWebACLId.

", "ListRuleGroups": "

Retrieves an array of RuleGroupSummary objects for the rule groups that you manage.

", @@ -420,6 +423,12 @@ "refs": { } }, + "DownloadUrl": { + "base": null, + "refs": { + "GenerateMobileSdkReleaseUrlResponse$Url": "

The presigned download URL for the specified SDK release.

" + } + }, "EntityDescription": { "base": null, "refs": { @@ -577,6 +586,13 @@ "IPSetForwardedIPConfig$FallbackBehavior": "

The match status to assign to the web request if the request doesn't have a valid IP address in the specified position.

If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.

You can specify the following fallback behaviors:

" } }, + "FieldIdentifier": { + "base": null, + "refs": { + "PasswordField$Identifier": "

The name of the password field. For example /form/password.

", + "UsernameField$Identifier": "

The name of the username field. For example /form/username.

" + } + }, "FieldToMatch": { "base": "

The part of a web request that you want WAF to inspect. Include the single FieldToMatch type that you want to inspect, with additional specifications as needed, according to the type. You specify a single request component in FieldToMatch for each rule statement that requires it. To inspect more than one component of a web request, create a separate rule statement for each component.

JSON specification for a QueryString field to match:

\"FieldToMatch\": { \"QueryString\": {} }

Example JSON for a Method field to match specification:

\"FieldToMatch\": { \"Method\": { \"Name\": \"DELETE\" } }

", "refs": { @@ -660,6 +676,16 @@ "IPSetForwardedIPConfig$Position": "

The position in the header to search for the IP address. The header can contain IP addresses of the original client and also of proxies. For example, the header value could be 10.1.1.1, 127.0.0.0, 10.10.10.10 where the first IP address identifies the original client and the rest identify proxies that the request went through.

The options for this setting are the following:

" } }, + "GenerateMobileSdkReleaseUrlRequest": { + "base": null, + "refs": { + } + }, + "GenerateMobileSdkReleaseUrlResponse": { + "base": null, + "refs": { + } + }, "GeoMatchStatement": { "base": "

A rule statement used to identify web requests based on country of origin.

", "refs": { @@ -696,6 +722,16 @@ "refs": { } }, + "GetMobileSdkReleaseRequest": { + "base": null, + "refs": { + } + }, + "GetMobileSdkReleaseResponse": { + "base": null, + "refs": { + } + }, "GetPermissionPolicyRequest": { "base": null, "refs": { @@ -1026,6 +1062,16 @@ "GetSampledRequestsRequest$MaxItems": "

The number of requests that you want WAF to return from among the first 5,000 requests that your Amazon Web Services resource received during the time range. If your resource received fewer requests than the value of MaxItems, GetSampledRequests returns information about all of them.

" } }, + "ListMobileSdkReleasesRequest": { + "base": null, + "refs": { + } + }, + "ListMobileSdkReleasesResponse": { + "base": null, + "refs": { + } + }, "ListRegexPatternSetsRequest": { "base": null, "refs": { @@ -1136,6 +1182,24 @@ "LoggingConfiguration$LoggingFilter": "

Filtering that specifies which web requests are kept in the logs and which are dropped. You can filter on the rule action and on the web request labels that were applied by matching rules during web ACL evaluation.

" } }, + "LoginPathString": { + "base": null, + "refs": { + "ManagedRuleGroupConfig$LoginPath": "

The login endpoint for your application. For example https://example.com/web/login.

" + } + }, + "ManagedRuleGroupConfig": { + "base": "

Additional information that's used by a managed rule group. Most managed rule groups don't require this.

Use this for the account takeover prevention managed rule group AWSManagedRulesATPRuleSet, to provide information about the sign-in page of your application.

", + "refs": { + "ManagedRuleGroupConfigs$member": null + } + }, + "ManagedRuleGroupConfigs": { + "base": null, + "refs": { + "ManagedRuleGroupStatement$ManagedRuleGroupConfigs": "

Additional information that's used by a managed rule group. Most managed rule groups don't require this.

Use this for the account takeover prevention managed rule group AWSManagedRulesATPRuleSet, to provide information about the sign-in page of your application.

" + } + }, "ManagedRuleGroupStatement": { "base": "

A rule statement used to run the rules that are defined in a managed rule group. To use this, provide the vendor name and the name of the rule group in this statement. You can retrieve the required names by calling ListAvailableManagedRuleGroups.

You cannot nest a ManagedRuleGroupStatement, for example for use inside a NotStatement or OrStatement. It can only be referenced as a top-level statement within a rule.

", "refs": { @@ -1204,6 +1268,12 @@ "VisibilityConfig$MetricName": "

A name of the Amazon CloudWatch metric. The name can contain only the characters: A-Z, a-z, 0-9, - (hyphen), and _ (underscore). The name can be from one to 128 characters long. It can't contain whitespace or metric names reserved for WAF, for example \"All\" and \"Default_Action.\"

" } }, + "MobileSdkRelease": { + "base": "

Information for a release of the mobile SDK, including release notes and tags.

The mobile SDK is not generally available. Customers who have access to the mobile SDK can use it to establish and manage Security Token Service (STS) security tokens for use in HTTP(S) requests from a mobile device to WAF.

", + "refs": { + "GetMobileSdkReleaseResponse$MobileSdkRelease": "

Information for a specified SDK release, including release notes and tags.

" + } + }, "NextMarker": { "base": null, "refs": { @@ -1217,6 +1287,8 @@ "ListLoggingConfigurationsResponse$NextMarker": "

When you request a list of objects with a Limit setting, if the number of objects that are still available for retrieval exceeds the limit, WAF returns a NextMarker value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

", "ListManagedRuleSetsRequest$NextMarker": "

When you request a list of objects with a Limit setting, if the number of objects that are still available for retrieval exceeds the limit, WAF returns a NextMarker value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

", "ListManagedRuleSetsResponse$NextMarker": "

When you request a list of objects with a Limit setting, if the number of objects that are still available for retrieval exceeds the limit, WAF returns a NextMarker value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

", + "ListMobileSdkReleasesRequest$NextMarker": "

When you request a list of objects with a Limit setting, if the number of objects that are still available for retrieval exceeds the limit, WAF returns a NextMarker value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

", + "ListMobileSdkReleasesResponse$NextMarker": "

When you request a list of objects with a Limit setting, if the number of objects that are still available for retrieval exceeds the limit, WAF returns a NextMarker value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

", "ListRegexPatternSetsRequest$NextMarker": "

When you request a list of objects with a Limit setting, if the number of objects that are still available for retrieval exceeds the limit, WAF returns a NextMarker value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

", "ListRegexPatternSetsResponse$NextMarker": "

When you request a list of objects with a Limit setting, if the number of objects that are still available for retrieval exceeds the limit, WAF returns a NextMarker value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

", "ListRuleGroupsRequest$NextMarker": "

When you request a list of objects with a Limit setting, if the number of objects that are still available for retrieval exceeds the limit, WAF returns a NextMarker value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

", @@ -1245,6 +1317,12 @@ "Statement$OrStatement": "

A logical rule statement used to combine other rule statements with OR logic. You provide more than one Statement within the OrStatement.

" } }, + "OutputUrl": { + "base": null, + "refs": { + "GetWebACLResponse$ApplicationIntegrationURL": "

The URL to use in SDK integrations with Amazon Web Services managed rule groups. For example, you can use the integration SDKs with the account takeover prevention managed rule group AWSManagedRulesATPRuleSet. This is only populated if you are using a rule group in your web ACL that integrates with your applications in this way. For more information, see WAF application integration in the WAF Developer Guide.

" + } + }, "OverrideAction": { "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": { @@ -1260,6 +1338,7 @@ "ListIPSetsRequest$Limit": "

The maximum number of objects that you want WAF to return for this request. If more objects are available, in the response, WAF provides a NextMarker value that you can use in a subsequent call to get the next batch of objects.

", "ListLoggingConfigurationsRequest$Limit": "

The maximum number of objects that you want WAF to return for this request. If more objects are available, in the response, WAF provides a NextMarker value that you can use in a subsequent call to get the next batch of objects.

", "ListManagedRuleSetsRequest$Limit": "

The maximum number of objects that you want WAF to return for this request. If more objects are available, in the response, WAF provides a NextMarker value that you can use in a subsequent call to get the next batch of objects.

", + "ListMobileSdkReleasesRequest$Limit": "

The maximum number of objects that you want WAF to return for this request. If more objects are available, in the response, WAF provides a NextMarker value that you can use in a subsequent call to get the next batch of objects.

", "ListRegexPatternSetsRequest$Limit": "

The maximum number of objects that you want WAF to return for this request. If more objects are available, in the response, WAF provides a NextMarker value that you can use in a subsequent call to get the next batch of objects.

", "ListRuleGroupsRequest$Limit": "

The maximum number of objects that you want WAF to return for this request. If more objects are available, in the response, WAF provides a NextMarker value that you can use in a subsequent call to get the next batch of objects.

", "ListTagsForResourceRequest$Limit": "

The maximum number of objects that you want WAF to return for this request. If more objects are available, in the response, WAF provides a NextMarker value that you can use in a subsequent call to get the next batch of objects.

", @@ -1278,6 +1357,26 @@ "WAFInvalidParameterException$Parameter": "

The invalid parameter that resulted in the exception.

" } }, + "PasswordField": { + "base": "

Details about your login page password field, used in a ManagedRuleGroupConfig.

", + "refs": { + "ManagedRuleGroupConfig$PasswordField": "

Details about your login page password field.

" + } + }, + "PayloadType": { + "base": null, + "refs": { + "ManagedRuleGroupConfig$PayloadType": "

The payload type for your login endpoint, either JSON or form encoded.

" + } + }, + "Platform": { + "base": null, + "refs": { + "GenerateMobileSdkReleaseUrlRequest$Platform": "

The device platform.

", + "GetMobileSdkReleaseRequest$Platform": "

The device platform.

", + "ListMobileSdkReleasesRequest$Platform": "

The device platform to retrieve the list for.

" + } + }, "PolicyString": { "base": null, "refs": { @@ -1422,6 +1521,24 @@ "UpdateRegexPatternSetRequest$RegularExpressionList": "

" } }, + "ReleaseNotes": { + "base": null, + "refs": { + "MobileSdkRelease$ReleaseNotes": "

Notes describing the release.

" + } + }, + "ReleaseSummaries": { + "base": null, + "refs": { + "ListMobileSdkReleasesResponse$ReleaseSummaries": "

High level information for the available SDK releases.

" + } + }, + "ReleaseSummary": { + "base": "

High level information for an SDK release.

", + "refs": { + "ReleaseSummaries$member": null + } + }, "ResourceArn": { "base": null, "refs": { @@ -1715,6 +1832,7 @@ "CreateRegexPatternSetRequest$Tags": "

An array of key:value pairs to associate with the resource.

", "CreateRuleGroupRequest$Tags": "

An array of key:value pairs to associate with the resource.

", "CreateWebACLRequest$Tags": "

An array of key:value pairs to associate with the resource.

", + "MobileSdkRelease$Tags": "

Tags that are associated with the release.

", "TagInfoForResource$TagList": "

The array of Tag objects defined for the resource.

", "TagResourceRequest$Tags": "

An array of key:value pairs to associate with the resource.

" } @@ -1791,6 +1909,8 @@ "ManagedRuleSetVersion$PublishTimestamp": "

The time that you first published this version.

Times are in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, \"2016-09-27T14:50Z\".

", "ManagedRuleSetVersion$LastUpdateTimestamp": "

The last time that you updated this version.

Times are in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, \"2016-09-27T14:50Z\".

", "ManagedRuleSetVersion$ExpiryTimestamp": "

The time that this version is set to expire.

Times are in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, \"2016-09-27T14:50Z\".

", + "MobileSdkRelease$Timestamp": "

The timestamp of the release.

", + "ReleaseSummary$Timestamp": "

The timestamp of the release.

", "SampledHTTPRequest$Timestamp": "

The time at which WAF received the request from your Amazon Web Services resource, in Unix time format (in seconds).

", "TimeWindow$StartTime": "

The beginning of the time range from which you want GetSampledRequests to return a sample of the requests that your Amazon Web Services resource received. You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, \"2016-09-27T14:50Z\". You can specify any time range in the previous three hours.

", "TimeWindow$EndTime": "

The end of the time range from which you want GetSampledRequests to return a sample of the requests that your Amazon Web Services resource received. You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, \"2016-09-27T14:50Z\". You can specify any time range in the previous three hours.

", @@ -1870,6 +1990,12 @@ "FieldToMatch$UriPath": "

Inspect the request URI path. This is the part of a web request that identifies a resource, for example, /images/daily-ad.jpg.

" } }, + "UsernameField": { + "base": "

Details about your login page username field, used in a ManagedRuleGroupConfig.

", + "refs": { + "ManagedRuleGroupConfig$UsernameField": "

Details about your login page username field.

" + } + }, "VendorName": { "base": null, "refs": { @@ -1884,11 +2010,15 @@ "refs": { "DescribeManagedRuleGroupRequest$VersionName": "

The version of the rule group. You can only use a version that is not scheduled for expiration. If you don't provide this, WAF uses the vendor's default version.

", "DescribeManagedRuleGroupResponse$VersionName": "

The managed rule group's version.

", + "GenerateMobileSdkReleaseUrlRequest$ReleaseVersion": "

The release version. For the latest available version, specify LATEST.

", + "GetMobileSdkReleaseRequest$ReleaseVersion": "

The release version. For the latest available version, specify LATEST.

", "ManagedRuleGroupStatement$Version": "

The version of the managed rule group to use. If you specify this, the version setting is fixed until you change it. If you don't specify this, WAF uses the vendor's default version, and then keeps the version at the vendor's default when the vendor updates the managed rule group settings.

", "ManagedRuleGroupVersion$Name": "

The version name.

", "ManagedRuleSet$RecommendedVersion": "

The version that you would like your customers to use.

", + "MobileSdkRelease$ReleaseVersion": "

The release version.

", "PublishedVersions$key": null, "PutManagedRuleSetVersionsRequest$RecommendedVersion": "

The version of the named managed rule group that you'd like your customers to choose, from among your version offerings.

", + "ReleaseSummary$ReleaseVersion": "

The release version.

", "UpdateManagedRuleSetVersionExpiryDateRequest$VersionToExpire": "

The version that you want to remove from your list of offerings for the named managed rule group.

", "UpdateManagedRuleSetVersionExpiryDateResponse$ExpiringVersion": "

The version that is set to expire.

", "VersionsToPublish$key": null diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 92dd063f3f8..f8660ca857e 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -12046,6 +12046,7 @@ "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, + "ap-northeast-3" : { }, "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, diff --git a/service/cloudformation/api.go b/service/cloudformation/api.go index e697b4aee89..2e9e6ac092b 100644 --- a/service/cloudformation/api.go +++ b/service/cloudformation/api.go @@ -23041,6 +23041,15 @@ const ( // HandlerErrorCodeInvalidTypeConfiguration is a HandlerErrorCode enum value HandlerErrorCodeInvalidTypeConfiguration = "InvalidTypeConfiguration" + + // HandlerErrorCodeHandlerInternalFailure is a HandlerErrorCode enum value + HandlerErrorCodeHandlerInternalFailure = "HandlerInternalFailure" + + // HandlerErrorCodeNonCompliant is a HandlerErrorCode enum value + HandlerErrorCodeNonCompliant = "NonCompliant" + + // HandlerErrorCodeUnknown is a HandlerErrorCode enum value + HandlerErrorCodeUnknown = "Unknown" ) // HandlerErrorCode_Values returns all elements of the HandlerErrorCode enum @@ -23061,6 +23070,9 @@ func HandlerErrorCode_Values() []string { HandlerErrorCodeNetworkFailure, HandlerErrorCodeInternalFailure, HandlerErrorCodeInvalidTypeConfiguration, + HandlerErrorCodeHandlerInternalFailure, + HandlerErrorCodeNonCompliant, + HandlerErrorCodeUnknown, } } diff --git a/service/lookoutforvision/api.go b/service/lookoutforvision/api.go index 42bd1d2ea5c..0160c00a368 100644 --- a/service/lookoutforvision/api.go +++ b/service/lookoutforvision/api.go @@ -2082,7 +2082,7 @@ func (c *LookoutForVision) StartModelPackagingJobRequest(input *StartModelPackag // // This operation requires the following permissions: // -// * lookoutvision:StartModelPackagingJobs +// * lookoutvision:StartModelPackagingJob // // * s3:PutObject // @@ -4345,13 +4345,13 @@ type GreengrassConfiguration struct { _ struct{} `type:"structure"` // Additional compiler options for the Greengrass component. Currently, only - // NVIDIA Graphics Processing Units (GPU) are supported. + // NVIDIA Graphics Processing Units (GPU) are supported. If you specify TargetPlatform, + // you must specify CompilerOptions. If you specify TargetDevice, don't specify + // CompilerOptions. // // For more information, see Compiler options in the Amazon Lookout for Vision // Developer Guide. - // - // CompilerOptions is a required field - CompilerOptions *string `min:"3" type:"string" required:"true"` + CompilerOptions *string `min:"3" type:"string"` // A description for the AWS IoT Greengrass component. ComponentDescription *string `min:"1" type:"string"` @@ -4404,9 +4404,6 @@ func (s GreengrassConfiguration) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *GreengrassConfiguration) Validate() error { invalidParams := request.ErrInvalidParams{Context: "GreengrassConfiguration"} - if s.CompilerOptions == nil { - invalidParams.Add(request.NewErrParamRequired("CompilerOptions")) - } if s.CompilerOptions != nil && len(*s.CompilerOptions) < 3 { invalidParams.Add(request.NewErrParamMinLen("CompilerOptions", 3)) } diff --git a/service/pinpoint/api.go b/service/pinpoint/api.go index 9af25dbf985..1f5a2427cc2 100644 --- a/service/pinpoint/api.go +++ b/service/pinpoint/api.go @@ -13986,6 +13986,9 @@ type ApplicationResponse struct { // Arn is a required field Arn *string `type:"string" required:"true"` + // The date and time when the Application was created. + CreationDate *string `type:"string"` + // The unique identifier for the application. This identifier is displayed as // the Project ID on the Amazon Pinpoint console. // @@ -14028,6 +14031,12 @@ func (s *ApplicationResponse) SetArn(v string) *ApplicationResponse { return s } +// SetCreationDate sets the CreationDate field's value. +func (s *ApplicationResponse) SetCreationDate(v string) *ApplicationResponse { + s.CreationDate = &v + return s +} + // SetId sets the Id field's value. func (s *ApplicationResponse) SetId(v string) *ApplicationResponse { s.Id = &v diff --git a/service/sns/api.go b/service/sns/api.go index 844606701ea..172c10a34ac 100644 --- a/service/sns/api.go +++ b/service/sns/api.go @@ -3140,7 +3140,7 @@ func (c *SNS) PublishRequest(input *PublishInput) (req *request.Request, output // on the notification protocol for each subscribed endpoint. // // When a messageId is returned, the message is saved and Amazon SNS immediately -// deliverers it to subscribers. +// delivers it to subscribers. // // To use the Publish action for publishing a message to a mobile endpoint, // such as an app on a Kindle device or mobile phone, you must specify the EndpointArn diff --git a/service/wafv2/api.go b/service/wafv2/api.go index af86685cd9c..3c61abd9c69 100644 --- a/service/wafv2/api.go +++ b/service/wafv2/api.go @@ -1792,6 +1792,112 @@ func (c *WAFV2) DisassociateWebACLWithContext(ctx aws.Context, input *Disassocia return out, req.Send() } +const opGenerateMobileSdkReleaseUrl = "GenerateMobileSdkReleaseUrl" + +// GenerateMobileSdkReleaseUrlRequest generates a "aws/request.Request" representing the +// client's request for the GenerateMobileSdkReleaseUrl operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GenerateMobileSdkReleaseUrl for more information on using the GenerateMobileSdkReleaseUrl +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GenerateMobileSdkReleaseUrlRequest method. +// req, resp := client.GenerateMobileSdkReleaseUrlRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GenerateMobileSdkReleaseUrl +func (c *WAFV2) GenerateMobileSdkReleaseUrlRequest(input *GenerateMobileSdkReleaseUrlInput) (req *request.Request, output *GenerateMobileSdkReleaseUrlOutput) { + op := &request.Operation{ + Name: opGenerateMobileSdkReleaseUrl, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GenerateMobileSdkReleaseUrlInput{} + } + + output = &GenerateMobileSdkReleaseUrlOutput{} + req = c.newRequest(op, input, output) + return +} + +// GenerateMobileSdkReleaseUrl API operation for AWS WAFV2. +// +// Generates a presigned download URL for the specified release of the mobile +// SDK. +// +// The mobile SDK is not generally available. Customers who have access to the +// mobile SDK can use it to establish and manage Security Token Service (STS) +// security tokens for use in HTTP(S) requests from a mobile device to WAF. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS WAFV2's +// API operation GenerateMobileSdkReleaseUrl for usage and error information. +// +// Returned Error Types: +// * WAFInternalErrorException +// Your request is valid, but WAF couldn’t perform the operation because of +// a system problem. Retry your request. +// +// * WAFNonexistentItemException +// WAF couldn’t perform the operation because your resource doesn’t exist. +// +// * WAFInvalidParameterException +// The operation failed because WAF didn't recognize a parameter in the request. +// For example: +// +// * You specified a parameter name or value that isn't valid. +// +// * Your nested statement isn't valid. You might have tried to nest a statement +// that can’t be nested. +// +// * You tried to update a WebACL with a DefaultAction that isn't among the +// types available at DefaultAction. +// +// * Your request references an ARN that is malformed, or corresponds to +// a resource with which a web ACL can't be associated. +// +// * WAFInvalidOperationException +// The operation isn't valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GenerateMobileSdkReleaseUrl +func (c *WAFV2) GenerateMobileSdkReleaseUrl(input *GenerateMobileSdkReleaseUrlInput) (*GenerateMobileSdkReleaseUrlOutput, error) { + req, out := c.GenerateMobileSdkReleaseUrlRequest(input) + return out, req.Send() +} + +// GenerateMobileSdkReleaseUrlWithContext is the same as GenerateMobileSdkReleaseUrl with the addition of +// the ability to pass a context and additional request options. +// +// See GenerateMobileSdkReleaseUrl for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WAFV2) GenerateMobileSdkReleaseUrlWithContext(ctx aws.Context, input *GenerateMobileSdkReleaseUrlInput, opts ...request.Option) (*GenerateMobileSdkReleaseUrlOutput, error) { + req, out := c.GenerateMobileSdkReleaseUrlRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetIPSet = "GetIPSet" // GetIPSetRequest generates a "aws/request.Request" representing the @@ -2103,6 +2209,112 @@ func (c *WAFV2) GetManagedRuleSetWithContext(ctx aws.Context, input *GetManagedR return out, req.Send() } +const opGetMobileSdkRelease = "GetMobileSdkRelease" + +// GetMobileSdkReleaseRequest generates a "aws/request.Request" representing the +// client's request for the GetMobileSdkRelease operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetMobileSdkRelease for more information on using the GetMobileSdkRelease +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetMobileSdkReleaseRequest method. +// req, resp := client.GetMobileSdkReleaseRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetMobileSdkRelease +func (c *WAFV2) GetMobileSdkReleaseRequest(input *GetMobileSdkReleaseInput) (req *request.Request, output *GetMobileSdkReleaseOutput) { + op := &request.Operation{ + Name: opGetMobileSdkRelease, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetMobileSdkReleaseInput{} + } + + output = &GetMobileSdkReleaseOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetMobileSdkRelease API operation for AWS WAFV2. +// +// Retrieves information for the specified mobile SDK release, including release +// notes and tags. +// +// The mobile SDK is not generally available. Customers who have access to the +// mobile SDK can use it to establish and manage Security Token Service (STS) +// security tokens for use in HTTP(S) requests from a mobile device to WAF. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS WAFV2's +// API operation GetMobileSdkRelease for usage and error information. +// +// Returned Error Types: +// * WAFInternalErrorException +// Your request is valid, but WAF couldn’t perform the operation because of +// a system problem. Retry your request. +// +// * WAFNonexistentItemException +// WAF couldn’t perform the operation because your resource doesn’t exist. +// +// * WAFInvalidParameterException +// The operation failed because WAF didn't recognize a parameter in the request. +// For example: +// +// * You specified a parameter name or value that isn't valid. +// +// * Your nested statement isn't valid. You might have tried to nest a statement +// that can’t be nested. +// +// * You tried to update a WebACL with a DefaultAction that isn't among the +// types available at DefaultAction. +// +// * Your request references an ARN that is malformed, or corresponds to +// a resource with which a web ACL can't be associated. +// +// * WAFInvalidOperationException +// The operation isn't valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/GetMobileSdkRelease +func (c *WAFV2) GetMobileSdkRelease(input *GetMobileSdkReleaseInput) (*GetMobileSdkReleaseOutput, error) { + req, out := c.GetMobileSdkReleaseRequest(input) + return out, req.Send() +} + +// GetMobileSdkReleaseWithContext is the same as GetMobileSdkRelease with the addition of +// the ability to pass a context and additional request options. +// +// See GetMobileSdkRelease for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WAFV2) GetMobileSdkReleaseWithContext(ctx aws.Context, input *GetMobileSdkReleaseInput, opts ...request.Option) (*GetMobileSdkReleaseOutput, error) { + req, out := c.GetMobileSdkReleaseRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetPermissionPolicy = "GetPermissionPolicy" // GetPermissionPolicyRequest generates a "aws/request.Request" representing the @@ -3335,6 +3547,109 @@ func (c *WAFV2) ListManagedRuleSetsWithContext(ctx aws.Context, input *ListManag return out, req.Send() } +const opListMobileSdkReleases = "ListMobileSdkReleases" + +// ListMobileSdkReleasesRequest generates a "aws/request.Request" representing the +// client's request for the ListMobileSdkReleases operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListMobileSdkReleases for more information on using the ListMobileSdkReleases +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListMobileSdkReleasesRequest method. +// req, resp := client.ListMobileSdkReleasesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListMobileSdkReleases +func (c *WAFV2) ListMobileSdkReleasesRequest(input *ListMobileSdkReleasesInput) (req *request.Request, output *ListMobileSdkReleasesOutput) { + op := &request.Operation{ + Name: opListMobileSdkReleases, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListMobileSdkReleasesInput{} + } + + output = &ListMobileSdkReleasesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListMobileSdkReleases API operation for AWS WAFV2. +// +// Retrieves a list of the available releases for the mobile SDK and the specified +// device platform. +// +// The mobile SDK is not generally available. Customers who have access to the +// mobile SDK can use it to establish and manage Security Token Service (STS) +// security tokens for use in HTTP(S) requests from a mobile device to WAF. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS WAFV2's +// API operation ListMobileSdkReleases for usage and error information. +// +// Returned Error Types: +// * WAFInternalErrorException +// Your request is valid, but WAF couldn’t perform the operation because of +// a system problem. Retry your request. +// +// * WAFInvalidParameterException +// The operation failed because WAF didn't recognize a parameter in the request. +// For example: +// +// * You specified a parameter name or value that isn't valid. +// +// * Your nested statement isn't valid. You might have tried to nest a statement +// that can’t be nested. +// +// * You tried to update a WebACL with a DefaultAction that isn't among the +// types available at DefaultAction. +// +// * Your request references an ARN that is malformed, or corresponds to +// a resource with which a web ACL can't be associated. +// +// * WAFInvalidOperationException +// The operation isn't valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/ListMobileSdkReleases +func (c *WAFV2) ListMobileSdkReleases(input *ListMobileSdkReleasesInput) (*ListMobileSdkReleasesOutput, error) { + req, out := c.ListMobileSdkReleasesRequest(input) + return out, req.Send() +} + +// ListMobileSdkReleasesWithContext is the same as ListMobileSdkReleases with the addition of +// the ability to pass a context and additional request options. +// +// See ListMobileSdkReleases for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WAFV2) ListMobileSdkReleasesWithContext(ctx aws.Context, input *ListMobileSdkReleasesInput, opts ...request.Option) (*ListMobileSdkReleasesOutput, error) { + req, out := c.ListMobileSdkReleasesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListRegexPatternSets = "ListRegexPatternSets" // ListRegexPatternSetsRequest generates a "aws/request.Request" representing the @@ -8993,6 +9308,100 @@ func (s *ForwardedIPConfig) SetHeaderName(v string) *ForwardedIPConfig { return s } +type GenerateMobileSdkReleaseUrlInput struct { + _ struct{} `type:"structure"` + + // The device platform. + // + // Platform is a required field + Platform *string `type:"string" required:"true" enum:"Platform"` + + // The release version. For the latest available version, specify LATEST. + // + // ReleaseVersion is a required field + ReleaseVersion *string `min:"1" type:"string" 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 GenerateMobileSdkReleaseUrlInput) 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 GenerateMobileSdkReleaseUrlInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GenerateMobileSdkReleaseUrlInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GenerateMobileSdkReleaseUrlInput"} + if s.Platform == nil { + invalidParams.Add(request.NewErrParamRequired("Platform")) + } + if s.ReleaseVersion == nil { + invalidParams.Add(request.NewErrParamRequired("ReleaseVersion")) + } + if s.ReleaseVersion != nil && len(*s.ReleaseVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ReleaseVersion", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPlatform sets the Platform field's value. +func (s *GenerateMobileSdkReleaseUrlInput) SetPlatform(v string) *GenerateMobileSdkReleaseUrlInput { + s.Platform = &v + return s +} + +// SetReleaseVersion sets the ReleaseVersion field's value. +func (s *GenerateMobileSdkReleaseUrlInput) SetReleaseVersion(v string) *GenerateMobileSdkReleaseUrlInput { + s.ReleaseVersion = &v + return s +} + +type GenerateMobileSdkReleaseUrlOutput struct { + _ struct{} `type:"structure"` + + // The presigned download URL for the specified SDK release. + Url *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 GenerateMobileSdkReleaseUrlOutput) 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 GenerateMobileSdkReleaseUrlOutput) GoString() string { + return s.String() +} + +// SetUrl sets the Url field's value. +func (s *GenerateMobileSdkReleaseUrlOutput) SetUrl(v string) *GenerateMobileSdkReleaseUrlOutput { + s.Url = &v + return s +} + // A rule statement used to identify web requests based on country of origin. type GeoMatchStatement struct { _ struct{} `type:"structure"` @@ -9427,6 +9836,100 @@ func (s *GetManagedRuleSetOutput) SetManagedRuleSet(v *ManagedRuleSet) *GetManag return s } +type GetMobileSdkReleaseInput struct { + _ struct{} `type:"structure"` + + // The device platform. + // + // Platform is a required field + Platform *string `type:"string" required:"true" enum:"Platform"` + + // The release version. For the latest available version, specify LATEST. + // + // ReleaseVersion is a required field + ReleaseVersion *string `min:"1" type:"string" 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 GetMobileSdkReleaseInput) 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 GetMobileSdkReleaseInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetMobileSdkReleaseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetMobileSdkReleaseInput"} + if s.Platform == nil { + invalidParams.Add(request.NewErrParamRequired("Platform")) + } + if s.ReleaseVersion == nil { + invalidParams.Add(request.NewErrParamRequired("ReleaseVersion")) + } + if s.ReleaseVersion != nil && len(*s.ReleaseVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ReleaseVersion", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPlatform sets the Platform field's value. +func (s *GetMobileSdkReleaseInput) SetPlatform(v string) *GetMobileSdkReleaseInput { + s.Platform = &v + return s +} + +// SetReleaseVersion sets the ReleaseVersion field's value. +func (s *GetMobileSdkReleaseInput) SetReleaseVersion(v string) *GetMobileSdkReleaseInput { + s.ReleaseVersion = &v + return s +} + +type GetMobileSdkReleaseOutput struct { + _ struct{} `type:"structure"` + + // Information for a specified SDK release, including release notes and tags. + MobileSdkRelease *MobileSdkRelease `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 GetMobileSdkReleaseOutput) 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 GetMobileSdkReleaseOutput) GoString() string { + return s.String() +} + +// SetMobileSdkRelease sets the MobileSdkRelease field's value. +func (s *GetMobileSdkReleaseOutput) SetMobileSdkRelease(v *MobileSdkRelease) *GetMobileSdkReleaseOutput { + s.MobileSdkRelease = v + return s +} + type GetPermissionPolicyInput struct { _ struct{} `type:"structure"` @@ -10325,6 +10828,14 @@ func (s *GetWebACLInput) SetScope(v string) *GetWebACLInput { type GetWebACLOutput struct { _ struct{} `type:"structure"` + // The URL to use in SDK integrations with Amazon Web Services managed rule + // groups. For example, you can use the integration SDKs with the account takeover + // prevention managed rule group AWSManagedRulesATPRuleSet. This is only populated + // if you are using a rule group in your web ACL that integrates with your applications + // in this way. For more information, see WAF application integration (https://docs.aws.amazon.com/waf/latest/developerguide/waf-application-integration.html) + // in the WAF Developer Guide. + ApplicationIntegrationURL *string `type:"string"` + // A token used for optimistic locking. WAF returns a token to your get and // list requests, to mark the state of the entity at the time of the request. // To make changes to the entity associated with the token, you provide the @@ -10358,6 +10869,12 @@ func (s GetWebACLOutput) GoString() string { return s.String() } +// SetApplicationIntegrationURL sets the ApplicationIntegrationURL field's value. +func (s *GetWebACLOutput) SetApplicationIntegrationURL(v string) *GetWebACLOutput { + s.ApplicationIntegrationURL = &v + return s +} + // SetLockToken sets the LockToken field's value. func (s *GetWebACLOutput) SetLockToken(v string) *GetWebACLOutput { s.LockToken = &v @@ -11930,8 +12447,126 @@ type ListManagedRuleSetsInput struct { // // * API and SDKs - For all calls, use the Region endpoint us-east-1. // - // Scope is a required field - Scope *string `type:"string" required:"true" enum:"Scope"` + // Scope is a required field + Scope *string `type:"string" required:"true" enum:"Scope"` +} + +// 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 ListManagedRuleSetsInput) 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 ListManagedRuleSetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListManagedRuleSetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListManagedRuleSetsInput"} + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + if s.NextMarker != nil && len(*s.NextMarker) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) + } + if s.Scope == nil { + invalidParams.Add(request.NewErrParamRequired("Scope")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLimit sets the Limit field's value. +func (s *ListManagedRuleSetsInput) SetLimit(v int64) *ListManagedRuleSetsInput { + s.Limit = &v + return s +} + +// SetNextMarker sets the NextMarker field's value. +func (s *ListManagedRuleSetsInput) SetNextMarker(v string) *ListManagedRuleSetsInput { + s.NextMarker = &v + return s +} + +// SetScope sets the Scope field's value. +func (s *ListManagedRuleSetsInput) SetScope(v string) *ListManagedRuleSetsInput { + s.Scope = &v + return s +} + +type ListManagedRuleSetsOutput struct { + _ struct{} `type:"structure"` + + // Your managed rule sets. + ManagedRuleSets []*ManagedRuleSetSummary `type:"list"` + + // When you request a list of objects with a Limit setting, if the number of + // objects that are still available for retrieval exceeds the limit, WAF returns + // a NextMarker value in the response. To retrieve the next batch of objects, + // provide the marker from the prior call in your next request. + NextMarker *string `min:"1" 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 ListManagedRuleSetsOutput) 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 ListManagedRuleSetsOutput) GoString() string { + return s.String() +} + +// SetManagedRuleSets sets the ManagedRuleSets field's value. +func (s *ListManagedRuleSetsOutput) SetManagedRuleSets(v []*ManagedRuleSetSummary) *ListManagedRuleSetsOutput { + s.ManagedRuleSets = v + return s +} + +// SetNextMarker sets the NextMarker field's value. +func (s *ListManagedRuleSetsOutput) SetNextMarker(v string) *ListManagedRuleSetsOutput { + s.NextMarker = &v + return s +} + +type ListMobileSdkReleasesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of objects that you want WAF to return for this request. + // If more objects are available, in the response, WAF provides a NextMarker + // value that you can use in a subsequent call to get the next batch of objects. + Limit *int64 `min:"1" type:"integer"` + + // When you request a list of objects with a Limit setting, if the number of + // objects that are still available for retrieval exceeds the limit, WAF returns + // a NextMarker value in the response. To retrieve the next batch of objects, + // provide the marker from the prior call in your next request. + NextMarker *string `min:"1" type:"string"` + + // The device platform to retrieve the list for. + // + // Platform is a required field + Platform *string `type:"string" required:"true" enum:"Platform"` } // String returns the string representation. @@ -11939,7 +12574,7 @@ type ListManagedRuleSetsInput struct { // 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 ListManagedRuleSetsInput) String() string { +func (s ListMobileSdkReleasesInput) String() string { return awsutil.Prettify(s) } @@ -11948,21 +12583,21 @@ func (s ListManagedRuleSetsInput) String() string { // 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 ListManagedRuleSetsInput) GoString() string { +func (s ListMobileSdkReleasesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListManagedRuleSetsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListManagedRuleSetsInput"} +func (s *ListMobileSdkReleasesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListMobileSdkReleasesInput"} if s.Limit != nil && *s.Limit < 1 { invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) } if s.NextMarker != nil && len(*s.NextMarker) < 1 { invalidParams.Add(request.NewErrParamMinLen("NextMarker", 1)) } - if s.Scope == nil { - invalidParams.Add(request.NewErrParamRequired("Scope")) + if s.Platform == nil { + invalidParams.Add(request.NewErrParamRequired("Platform")) } if invalidParams.Len() > 0 { @@ -11972,34 +12607,34 @@ func (s *ListManagedRuleSetsInput) Validate() error { } // SetLimit sets the Limit field's value. -func (s *ListManagedRuleSetsInput) SetLimit(v int64) *ListManagedRuleSetsInput { +func (s *ListMobileSdkReleasesInput) SetLimit(v int64) *ListMobileSdkReleasesInput { s.Limit = &v return s } // SetNextMarker sets the NextMarker field's value. -func (s *ListManagedRuleSetsInput) SetNextMarker(v string) *ListManagedRuleSetsInput { +func (s *ListMobileSdkReleasesInput) SetNextMarker(v string) *ListMobileSdkReleasesInput { s.NextMarker = &v return s } -// SetScope sets the Scope field's value. -func (s *ListManagedRuleSetsInput) SetScope(v string) *ListManagedRuleSetsInput { - s.Scope = &v +// SetPlatform sets the Platform field's value. +func (s *ListMobileSdkReleasesInput) SetPlatform(v string) *ListMobileSdkReleasesInput { + s.Platform = &v return s } -type ListManagedRuleSetsOutput struct { +type ListMobileSdkReleasesOutput struct { _ struct{} `type:"structure"` - // Your managed rule sets. - ManagedRuleSets []*ManagedRuleSetSummary `type:"list"` - // When you request a list of objects with a Limit setting, if the number of // objects that are still available for retrieval exceeds the limit, WAF returns // a NextMarker value in the response. To retrieve the next batch of objects, // provide the marker from the prior call in your next request. NextMarker *string `min:"1" type:"string"` + + // High level information for the available SDK releases. + ReleaseSummaries []*ReleaseSummary `type:"list"` } // String returns the string representation. @@ -12007,7 +12642,7 @@ type ListManagedRuleSetsOutput struct { // 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 ListManagedRuleSetsOutput) String() string { +func (s ListMobileSdkReleasesOutput) String() string { return awsutil.Prettify(s) } @@ -12016,19 +12651,19 @@ func (s ListManagedRuleSetsOutput) String() string { // 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 ListManagedRuleSetsOutput) GoString() string { +func (s ListMobileSdkReleasesOutput) GoString() string { return s.String() } -// SetManagedRuleSets sets the ManagedRuleSets field's value. -func (s *ListManagedRuleSetsOutput) SetManagedRuleSets(v []*ManagedRuleSetSummary) *ListManagedRuleSetsOutput { - s.ManagedRuleSets = v +// SetNextMarker sets the NextMarker field's value. +func (s *ListMobileSdkReleasesOutput) SetNextMarker(v string) *ListMobileSdkReleasesOutput { + s.NextMarker = &v return s } -// SetNextMarker sets the NextMarker field's value. -func (s *ListManagedRuleSetsOutput) SetNextMarker(v string) *ListManagedRuleSetsOutput { - s.NextMarker = &v +// SetReleaseSummaries sets the ReleaseSummaries field's value. +func (s *ListMobileSdkReleasesOutput) SetReleaseSummaries(v []*ReleaseSummary) *ListMobileSdkReleasesOutput { + s.ReleaseSummaries = v return s } @@ -12831,6 +13466,92 @@ func (s *LoggingFilter) SetFilters(v []*Filter) *LoggingFilter { return s } +// Additional information that's used by a managed rule group. Most managed +// rule groups don't require this. +// +// Use this for the account takeover prevention managed rule group AWSManagedRulesATPRuleSet, +// to provide information about the sign-in page of your application. +type ManagedRuleGroupConfig struct { + _ struct{} `type:"structure"` + + // The login endpoint for your application. For example https://example.com/web/login. + LoginPath *string `min:"1" type:"string"` + + // Details about your login page password field. + PasswordField *PasswordField `type:"structure"` + + // The payload type for your login endpoint, either JSON or form encoded. + PayloadType *string `type:"string" enum:"PayloadType"` + + // Details about your login page username field. + UsernameField *UsernameField `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 ManagedRuleGroupConfig) 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 ManagedRuleGroupConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ManagedRuleGroupConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ManagedRuleGroupConfig"} + if s.LoginPath != nil && len(*s.LoginPath) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LoginPath", 1)) + } + if s.PasswordField != nil { + if err := s.PasswordField.Validate(); err != nil { + invalidParams.AddNested("PasswordField", err.(request.ErrInvalidParams)) + } + } + if s.UsernameField != nil { + if err := s.UsernameField.Validate(); err != nil { + invalidParams.AddNested("UsernameField", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLoginPath sets the LoginPath field's value. +func (s *ManagedRuleGroupConfig) SetLoginPath(v string) *ManagedRuleGroupConfig { + s.LoginPath = &v + return s +} + +// SetPasswordField sets the PasswordField field's value. +func (s *ManagedRuleGroupConfig) SetPasswordField(v *PasswordField) *ManagedRuleGroupConfig { + s.PasswordField = v + return s +} + +// SetPayloadType sets the PayloadType field's value. +func (s *ManagedRuleGroupConfig) SetPayloadType(v string) *ManagedRuleGroupConfig { + s.PayloadType = &v + return s +} + +// SetUsernameField sets the UsernameField field's value. +func (s *ManagedRuleGroupConfig) SetUsernameField(v *UsernameField) *ManagedRuleGroupConfig { + s.UsernameField = v + return s +} + // A rule statement used to run the rules that are defined in a managed rule // group. To use this, provide the vendor name and the name of the rule group // in this statement. You can retrieve the required names by calling ListAvailableManagedRuleGroups. @@ -12847,6 +13568,13 @@ type ManagedRuleGroupStatement struct { // group without modifying how they handle your web traffic. ExcludedRules []*ExcludedRule `type:"list"` + // Additional information that's used by a managed rule group. Most managed + // rule groups don't require this. + // + // Use this for the account takeover prevention managed rule group AWSManagedRulesATPRuleSet, + // to provide information about the sign-in page of your application. + ManagedRuleGroupConfigs []*ManagedRuleGroupConfig `min:"1" type:"list"` + // The name of the managed rule group. You use this, along with the vendor name, // to identify the rule group. // @@ -12894,6 +13622,9 @@ func (s ManagedRuleGroupStatement) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ManagedRuleGroupStatement) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ManagedRuleGroupStatement"} + if s.ManagedRuleGroupConfigs != nil && len(s.ManagedRuleGroupConfigs) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ManagedRuleGroupConfigs", 1)) + } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } @@ -12919,6 +13650,16 @@ func (s *ManagedRuleGroupStatement) Validate() error { } } } + if s.ManagedRuleGroupConfigs != nil { + for i, v := range s.ManagedRuleGroupConfigs { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ManagedRuleGroupConfigs", i), err.(request.ErrInvalidParams)) + } + } + } if s.ScopeDownStatement != nil { if err := s.ScopeDownStatement.Validate(); err != nil { invalidParams.AddNested("ScopeDownStatement", err.(request.ErrInvalidParams)) @@ -12937,6 +13678,12 @@ func (s *ManagedRuleGroupStatement) SetExcludedRules(v []*ExcludedRule) *Managed return s } +// SetManagedRuleGroupConfigs sets the ManagedRuleGroupConfigs field's value. +func (s *ManagedRuleGroupStatement) SetManagedRuleGroupConfigs(v []*ManagedRuleGroupConfig) *ManagedRuleGroupStatement { + s.ManagedRuleGroupConfigs = v + return s +} + // SetName sets the Name field's value. func (s *ManagedRuleGroupStatement) SetName(v string) *ManagedRuleGroupStatement { s.Name = &v @@ -13420,6 +14167,70 @@ func (s Method) GoString() string { return s.String() } +// Information for a release of the mobile SDK, including release notes and +// tags. +// +// The mobile SDK is not generally available. Customers who have access to the +// mobile SDK can use it to establish and manage Security Token Service (STS) +// security tokens for use in HTTP(S) requests from a mobile device to WAF. +type MobileSdkRelease struct { + _ struct{} `type:"structure"` + + // Notes describing the release. + ReleaseNotes *string `type:"string"` + + // The release version. + ReleaseVersion *string `min:"1" type:"string"` + + // Tags that are associated with the release. + Tags []*Tag `min:"1" type:"list"` + + // The timestamp of the release. + Timestamp *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 MobileSdkRelease) 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 MobileSdkRelease) GoString() string { + return s.String() +} + +// SetReleaseNotes sets the ReleaseNotes field's value. +func (s *MobileSdkRelease) SetReleaseNotes(v string) *MobileSdkRelease { + s.ReleaseNotes = &v + return s +} + +// SetReleaseVersion sets the ReleaseVersion field's value. +func (s *MobileSdkRelease) SetReleaseVersion(v string) *MobileSdkRelease { + s.ReleaseVersion = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *MobileSdkRelease) SetTags(v []*Tag) *MobileSdkRelease { + s.Tags = v + return s +} + +// SetTimestamp sets the Timestamp field's value. +func (s *MobileSdkRelease) SetTimestamp(v time.Time) *MobileSdkRelease { + s.Timestamp = &v + return s +} + // 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. // @@ -13633,6 +14444,56 @@ func (s *OverrideAction) SetNone(v *NoneAction) *OverrideAction { return s } +// Details about your login page password field, used in a ManagedRuleGroupConfig. +type PasswordField struct { + _ struct{} `type:"structure"` + + // The name of the password field. For example /form/password. + // + // Identifier is a required field + Identifier *string `min:"1" type:"string" 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 PasswordField) 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 PasswordField) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PasswordField) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PasswordField"} + if s.Identifier == nil { + invalidParams.Add(request.NewErrParamRequired("Identifier")) + } + if s.Identifier != nil && len(*s.Identifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Identifier", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIdentifier sets the Identifier field's value. +func (s *PasswordField) SetIdentifier(v string) *PasswordField { + s.Identifier = &v + return s +} + type PutLoggingConfigurationInput struct { _ struct{} `type:"structure"` @@ -14655,6 +15516,47 @@ func (s *RegexPatternSetSummary) SetName(v string) *RegexPatternSetSummary { return s } +// High level information for an SDK release. +type ReleaseSummary struct { + _ struct{} `type:"structure"` + + // The release version. + ReleaseVersion *string `min:"1" type:"string"` + + // The timestamp of the release. + Timestamp *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 ReleaseSummary) 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 ReleaseSummary) GoString() string { + return s.String() +} + +// SetReleaseVersion sets the ReleaseVersion field's value. +func (s *ReleaseSummary) SetReleaseVersion(v string) *ReleaseSummary { + s.ReleaseVersion = &v + return s +} + +// SetTimestamp sets the Timestamp field's value. +func (s *ReleaseSummary) SetTimestamp(v time.Time) *ReleaseSummary { + s.Timestamp = &v + return s +} + // A single rule, which you can use in a WebACL or RuleGroup to identify web // requests that you want to allow, block, or count. Each rule includes one // top-level Statement that WAF uses to identify matching web requests, and @@ -17839,6 +18741,56 @@ func (s UriPath) GoString() string { return s.String() } +// Details about your login page username field, used in a ManagedRuleGroupConfig. +type UsernameField struct { + _ struct{} `type:"structure"` + + // The name of the username field. For example /form/username. + // + // Identifier is a required field + Identifier *string `min:"1" type:"string" 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 UsernameField) 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 UsernameField) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UsernameField) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UsernameField"} + if s.Identifier == nil { + invalidParams.Add(request.NewErrParamRequired("Identifier")) + } + if s.Identifier != nil && len(*s.Identifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Identifier", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIdentifier sets the Identifier field's value. +func (s *UsernameField) SetIdentifier(v string) *UsernameField { + s.Identifier = &v + return s +} + // A version of the named managed rule group, that the rule group's vendor publishes // for use by customers. // @@ -20922,6 +21874,12 @@ const ( // ParameterExceptionFieldLogDestination is a ParameterExceptionField enum value ParameterExceptionFieldLogDestination = "LOG_DESTINATION" + + // ParameterExceptionFieldManagedRuleGroupConfig is a ParameterExceptionField enum value + ParameterExceptionFieldManagedRuleGroupConfig = "MANAGED_RULE_GROUP_CONFIG" + + // ParameterExceptionFieldPayloadType is a ParameterExceptionField enum value + ParameterExceptionFieldPayloadType = "PAYLOAD_TYPE" ) // ParameterExceptionField_Values returns all elements of the ParameterExceptionField enum @@ -20984,6 +21942,40 @@ func ParameterExceptionField_Values() []string { ParameterExceptionFieldChangePropagationStatus, ParameterExceptionFieldAssociableResource, ParameterExceptionFieldLogDestination, + ParameterExceptionFieldManagedRuleGroupConfig, + ParameterExceptionFieldPayloadType, + } +} + +const ( + // PayloadTypeJson is a PayloadType enum value + PayloadTypeJson = "JSON" + + // PayloadTypeFormEncoded is a PayloadType enum value + PayloadTypeFormEncoded = "FORM_ENCODED" +) + +// PayloadType_Values returns all elements of the PayloadType enum +func PayloadType_Values() []string { + return []string{ + PayloadTypeJson, + PayloadTypeFormEncoded, + } +} + +const ( + // PlatformIos is a Platform enum value + PlatformIos = "IOS" + + // PlatformAndroid is a Platform enum value + PlatformAndroid = "ANDROID" +) + +// Platform_Values returns all elements of the Platform enum +func Platform_Values() []string { + return []string{ + PlatformIos, + PlatformAndroid, } } diff --git a/service/wafv2/wafv2iface/interface.go b/service/wafv2/wafv2iface/interface.go index 60b8979c968..54f7a24554f 100644 --- a/service/wafv2/wafv2iface/interface.go +++ b/service/wafv2/wafv2iface/interface.go @@ -120,6 +120,10 @@ type WAFV2API interface { DisassociateWebACLWithContext(aws.Context, *wafv2.DisassociateWebACLInput, ...request.Option) (*wafv2.DisassociateWebACLOutput, error) DisassociateWebACLRequest(*wafv2.DisassociateWebACLInput) (*request.Request, *wafv2.DisassociateWebACLOutput) + GenerateMobileSdkReleaseUrl(*wafv2.GenerateMobileSdkReleaseUrlInput) (*wafv2.GenerateMobileSdkReleaseUrlOutput, error) + GenerateMobileSdkReleaseUrlWithContext(aws.Context, *wafv2.GenerateMobileSdkReleaseUrlInput, ...request.Option) (*wafv2.GenerateMobileSdkReleaseUrlOutput, error) + GenerateMobileSdkReleaseUrlRequest(*wafv2.GenerateMobileSdkReleaseUrlInput) (*request.Request, *wafv2.GenerateMobileSdkReleaseUrlOutput) + GetIPSet(*wafv2.GetIPSetInput) (*wafv2.GetIPSetOutput, error) GetIPSetWithContext(aws.Context, *wafv2.GetIPSetInput, ...request.Option) (*wafv2.GetIPSetOutput, error) GetIPSetRequest(*wafv2.GetIPSetInput) (*request.Request, *wafv2.GetIPSetOutput) @@ -132,6 +136,10 @@ type WAFV2API interface { GetManagedRuleSetWithContext(aws.Context, *wafv2.GetManagedRuleSetInput, ...request.Option) (*wafv2.GetManagedRuleSetOutput, error) GetManagedRuleSetRequest(*wafv2.GetManagedRuleSetInput) (*request.Request, *wafv2.GetManagedRuleSetOutput) + GetMobileSdkRelease(*wafv2.GetMobileSdkReleaseInput) (*wafv2.GetMobileSdkReleaseOutput, error) + GetMobileSdkReleaseWithContext(aws.Context, *wafv2.GetMobileSdkReleaseInput, ...request.Option) (*wafv2.GetMobileSdkReleaseOutput, error) + GetMobileSdkReleaseRequest(*wafv2.GetMobileSdkReleaseInput) (*request.Request, *wafv2.GetMobileSdkReleaseOutput) + GetPermissionPolicy(*wafv2.GetPermissionPolicyInput) (*wafv2.GetPermissionPolicyOutput, error) GetPermissionPolicyWithContext(aws.Context, *wafv2.GetPermissionPolicyInput, ...request.Option) (*wafv2.GetPermissionPolicyOutput, error) GetPermissionPolicyRequest(*wafv2.GetPermissionPolicyInput) (*request.Request, *wafv2.GetPermissionPolicyOutput) @@ -180,6 +188,10 @@ type WAFV2API interface { ListManagedRuleSetsWithContext(aws.Context, *wafv2.ListManagedRuleSetsInput, ...request.Option) (*wafv2.ListManagedRuleSetsOutput, error) ListManagedRuleSetsRequest(*wafv2.ListManagedRuleSetsInput) (*request.Request, *wafv2.ListManagedRuleSetsOutput) + ListMobileSdkReleases(*wafv2.ListMobileSdkReleasesInput) (*wafv2.ListMobileSdkReleasesOutput, error) + ListMobileSdkReleasesWithContext(aws.Context, *wafv2.ListMobileSdkReleasesInput, ...request.Option) (*wafv2.ListMobileSdkReleasesOutput, error) + ListMobileSdkReleasesRequest(*wafv2.ListMobileSdkReleasesInput) (*request.Request, *wafv2.ListMobileSdkReleasesOutput) + ListRegexPatternSets(*wafv2.ListRegexPatternSetsInput) (*wafv2.ListRegexPatternSetsOutput, error) ListRegexPatternSetsWithContext(aws.Context, *wafv2.ListRegexPatternSetsInput, ...request.Option) (*wafv2.ListRegexPatternSetsOutput, error) ListRegexPatternSetsRequest(*wafv2.ListRegexPatternSetsInput) (*request.Request, *wafv2.ListRegexPatternSetsOutput)