From a20a8a16041b61bcc573c5d3a7b91cc7135c3fb3 Mon Sep 17 00:00:00 2001 From: awssdkgo Date: Fri, 30 Apr 2021 18:17:52 +0000 Subject: [PATCH] Release v1.38.30 (2021-04-30) === ### Service Client Updates * `service/cloudfront`: Updates service API and documentation * CloudFront now supports CloudFront Functions, a native feature of CloudFront that enables you to write lightweight functions in JavaScript for high-scale, latency-sensitive CDN customizations. * `service/customer-profiles`: Updates service API and documentation * `service/forecast`: Updates service API and documentation * `service/marketplace-catalog`: Updates service API and documentation * `service/personalize`: Updates service documentation * `service/robomaker`: Updates service API ### SDK Enhancements * `private/protocol/xml/xmlutil`: XML encoding has been updated to include encoding line feed character. ([#3881](https://github.com/aws/aws-sdk-go/pull/3881)) --- CHANGELOG.md | 15 + CHANGELOG_PENDING.md | 1 - aws/version.go | 2 +- models/apis/cloudfront/2020-05-31/api-2.json | 603 +++- models/apis/cloudfront/2020-05-31/docs-2.json | 324 ++- .../customer-profiles/2020-08-15/api-2.json | 160 ++ .../customer-profiles/2020-08-15/docs-2.json | 155 +- models/apis/forecast/2018-06-26/api-2.json | 21 + models/apis/forecast/2018-06-26/docs-2.json | 13 +- .../marketplace-catalog/2018-09-17/api-2.json | 75 +- .../2018-09-17/docs-2.json | 75 +- .../apis/personalize/2018-05-22/docs-2.json | 2 +- models/apis/robomaker/2018-06-29/api-2.json | 5 +- service/cloudfront/api.go | 2524 +++++++++++++++-- .../cloudfront/cloudfrontiface/interface.go | 32 + service/cloudfront/errors.go | 78 +- service/customerprofiles/api.go | 874 +++++- .../customerprofilesiface/interface.go | 8 + service/forecastservice/api.go | 168 +- .../forecastserviceiface/interface.go | 4 + service/marketplacecatalog/api.go | 62 +- service/personalize/api.go | 2 +- service/robomaker/api.go | 4 + 23 files changed, 4822 insertions(+), 385 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a0048e7cf..bb96110605 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,18 @@ +Release v1.38.30 (2021-04-30) +=== + +### Service Client Updates +* `service/cloudfront`: Updates service API and documentation + * CloudFront now supports CloudFront Functions, a native feature of CloudFront that enables you to write lightweight functions in JavaScript for high-scale, latency-sensitive CDN customizations. +* `service/customer-profiles`: Updates service API and documentation +* `service/forecast`: Updates service API and documentation +* `service/marketplace-catalog`: Updates service API and documentation +* `service/personalize`: Updates service documentation +* `service/robomaker`: Updates service API + +### SDK Enhancements +* `private/protocol/xml/xmlutil`: XML encoding has been updated to include encoding line feed character. ([#3881](https://github.com/aws/aws-sdk-go/pull/3881)) + Release v1.38.29 (2021-04-29) === diff --git a/CHANGELOG_PENDING.md b/CHANGELOG_PENDING.md index 518875deb1..8a1927a39c 100644 --- a/CHANGELOG_PENDING.md +++ b/CHANGELOG_PENDING.md @@ -1,6 +1,5 @@ ### SDK Features ### SDK Enhancements -* `private/protocol/xml/xmlutil`: XML encoding has been updated to include encoding line feed character. ([#3881](https://github.com/aws/aws-sdk-go/pull/3881)) ### SDK Bugs diff --git a/aws/version.go b/aws/version.go index 229c12a4d0..bff12b92c7 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.38.29" +const SDKVersion = "1.38.30" diff --git a/models/apis/cloudfront/2020-05-31/api-2.json b/models/apis/cloudfront/2020-05-31/api-2.json index 5d246821bd..98413eb779 100644 --- a/models/apis/cloudfront/2020-05-31/api-2.json +++ b/models/apis/cloudfront/2020-05-31/api-2.json @@ -99,6 +99,9 @@ {"shape":"TooManyDistributionsWithSingleFunctionARN"}, {"shape":"TooManyLambdaFunctionAssociations"}, {"shape":"InvalidLambdaFunctionAssociation"}, + {"shape":"TooManyDistributionsWithFunctionAssociations"}, + {"shape":"TooManyFunctionAssociations"}, + {"shape":"InvalidFunctionAssociation"}, {"shape":"InvalidOriginReadTimeout"}, {"shape":"InvalidOriginKeepaliveTimeout"}, {"shape":"NoSuchFieldLevelEncryptionConfig"}, @@ -110,7 +113,9 @@ {"shape":"TooManyDistributionsAssociatedToOriginRequestPolicy"}, {"shape":"TooManyDistributionsAssociatedToKeyGroup"}, {"shape":"TooManyKeyGroupsAssociatedToDistribution"}, - {"shape":"TrustedKeyGroupDoesNotExist"} + {"shape":"TrustedKeyGroupDoesNotExist"}, + {"shape":"NoSuchRealtimeLogConfig"}, + {"shape":"RealtimeLogConfigOwnerMismatch"} ] }, "CreateDistributionWithTags":{ @@ -164,6 +169,9 @@ {"shape":"TooManyDistributionsWithSingleFunctionARN"}, {"shape":"TooManyLambdaFunctionAssociations"}, {"shape":"InvalidLambdaFunctionAssociation"}, + {"shape":"TooManyDistributionsWithFunctionAssociations"}, + {"shape":"TooManyFunctionAssociations"}, + {"shape":"InvalidFunctionAssociation"}, {"shape":"InvalidOriginReadTimeout"}, {"shape":"InvalidOriginKeepaliveTimeout"}, {"shape":"NoSuchFieldLevelEncryptionConfig"}, @@ -175,7 +183,9 @@ {"shape":"TooManyDistributionsAssociatedToOriginRequestPolicy"}, {"shape":"TooManyDistributionsAssociatedToKeyGroup"}, {"shape":"TooManyKeyGroupsAssociatedToDistribution"}, - {"shape":"TrustedKeyGroupDoesNotExist"} + {"shape":"TrustedKeyGroupDoesNotExist"}, + {"shape":"NoSuchRealtimeLogConfig"}, + {"shape":"RealtimeLogConfigOwnerMismatch"} ] }, "CreateFieldLevelEncryptionConfig":{ @@ -218,6 +228,26 @@ {"shape":"TooManyFieldLevelEncryptionFieldPatterns"} ] }, + "CreateFunction":{ + "name":"CreateFunction2020_05_31", + "http":{ + "method":"POST", + "requestUri":"/2020-05-31/function", + "responseCode":201 + }, + "input":{ + "shape":"CreateFunctionRequest", + "locationName":"CreateFunctionRequest", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2020-05-31/"} + }, + "output":{"shape":"CreateFunctionResult"}, + "errors":[ + {"shape":"TooManyFunctions"}, + {"shape":"FunctionAlreadyExists"}, + {"shape":"FunctionSizeLimitExceeded"}, + {"shape":"InvalidArgument"} + ] + }, "CreateInvalidation":{ "name":"CreateInvalidation2020_05_31", "http":{ @@ -263,7 +293,8 @@ "output":{"shape":"CreateMonitoringSubscriptionResult"}, "errors":[ {"shape":"AccessDenied"}, - {"shape":"NoSuchDistribution"} + {"shape":"NoSuchDistribution"}, + {"shape":"UnsupportedOperation"} ] }, "CreateOriginRequestPolicy":{ @@ -451,6 +482,21 @@ {"shape":"FieldLevelEncryptionProfileInUse"} ] }, + "DeleteFunction":{ + "name":"DeleteFunction2020_05_31", + "http":{ + "method":"DELETE", + "requestUri":"/2020-05-31/function/{Name}", + "responseCode":204 + }, + "input":{"shape":"DeleteFunctionRequest"}, + "errors":[ + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchFunctionExists"}, + {"shape":"FunctionInUse"}, + {"shape":"PreconditionFailed"} + ] + }, "DeleteKeyGroup":{ "name":"DeleteKeyGroup2020_05_31", "http":{ @@ -476,7 +522,8 @@ "output":{"shape":"DeleteMonitoringSubscriptionResult"}, "errors":[ {"shape":"AccessDenied"}, - {"shape":"NoSuchDistribution"} + {"shape":"NoSuchDistribution"}, + {"shape":"UnsupportedOperation"} ] }, "DeleteOriginRequestPolicy":{ @@ -547,6 +594,18 @@ {"shape":"PreconditionFailed"} ] }, + "DescribeFunction":{ + "name":"DescribeFunction2020_05_31", + "http":{ + "method":"GET", + "requestUri":"/2020-05-31/function/{Name}/describe" + }, + "input":{"shape":"DescribeFunctionRequest"}, + "output":{"shape":"DescribeFunctionResult"}, + "errors":[ + {"shape":"NoSuchFunctionExists"} + ] + }, "GetCachePolicy":{ "name":"GetCachePolicy2020_05_31", "http":{ @@ -677,6 +736,18 @@ {"shape":"NoSuchFieldLevelEncryptionProfile"} ] }, + "GetFunction":{ + "name":"GetFunction2020_05_31", + "http":{ + "method":"GET", + "requestUri":"/2020-05-31/function/{Name}" + }, + "input":{"shape":"GetFunctionRequest"}, + "output":{"shape":"GetFunctionResult"}, + "errors":[ + {"shape":"NoSuchFunctionExists"} + ] + }, "GetInvalidation":{ "name":"GetInvalidation2020_05_31", "http":{ @@ -725,7 +796,8 @@ "output":{"shape":"GetMonitoringSubscriptionResult"}, "errors":[ {"shape":"AccessDenied"}, - {"shape":"NoSuchDistribution"} + {"shape":"NoSuchDistribution"}, + {"shape":"UnsupportedOperation"} ] }, "GetOriginRequestPolicy":{ @@ -956,6 +1028,18 @@ {"shape":"InvalidArgument"} ] }, + "ListFunctions":{ + "name":"ListFunctions2020_05_31", + "http":{ + "method":"GET", + "requestUri":"/2020-05-31/function" + }, + "input":{"shape":"ListFunctionsRequest"}, + "output":{"shape":"ListFunctionsResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ] + }, "ListInvalidations":{ "name":"ListInvalidations2020_05_31", "http":{ @@ -1049,6 +1133,21 @@ {"shape":"NoSuchResource"} ] }, + "PublishFunction":{ + "name":"PublishFunction2020_05_31", + "http":{ + "method":"POST", + "requestUri":"/2020-05-31/function/{Name}/publish" + }, + "input":{"shape":"PublishFunctionRequest"}, + "output":{"shape":"PublishFunctionResult"}, + "errors":[ + {"shape":"InvalidArgument"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchFunctionExists"}, + {"shape":"PreconditionFailed"} + ] + }, "TagResource":{ "name":"TagResource2020_05_31", "http":{ @@ -1064,6 +1163,25 @@ {"shape":"NoSuchResource"} ] }, + "TestFunction":{ + "name":"TestFunction2020_05_31", + "http":{ + "method":"POST", + "requestUri":"/2020-05-31/function/{Name}/test" + }, + "input":{ + "shape":"TestFunctionRequest", + "locationName":"TestFunctionRequest", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2020-05-31/"} + }, + "output":{"shape":"TestFunctionResult"}, + "errors":[ + {"shape":"InvalidArgument"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchFunctionExists"}, + {"shape":"TestFunctionFailed"} + ] + }, "UntagResource":{ "name":"UntagResource2020_05_31", "http":{ @@ -1169,6 +1287,9 @@ {"shape":"TooManyDistributionsWithSingleFunctionARN"}, {"shape":"TooManyLambdaFunctionAssociations"}, {"shape":"InvalidLambdaFunctionAssociation"}, + {"shape":"TooManyDistributionsWithFunctionAssociations"}, + {"shape":"TooManyFunctionAssociations"}, + {"shape":"InvalidFunctionAssociation"}, {"shape":"InvalidOriginReadTimeout"}, {"shape":"InvalidOriginKeepaliveTimeout"}, {"shape":"NoSuchFieldLevelEncryptionConfig"}, @@ -1180,7 +1301,9 @@ {"shape":"TooManyDistributionsAssociatedToOriginRequestPolicy"}, {"shape":"TooManyDistributionsAssociatedToKeyGroup"}, {"shape":"TooManyKeyGroupsAssociatedToDistribution"}, - {"shape":"TrustedKeyGroupDoesNotExist"} + {"shape":"TrustedKeyGroupDoesNotExist"}, + {"shape":"NoSuchRealtimeLogConfig"}, + {"shape":"RealtimeLogConfigOwnerMismatch"} ] }, "UpdateFieldLevelEncryptionConfig":{ @@ -1228,6 +1351,26 @@ {"shape":"TooManyFieldLevelEncryptionFieldPatterns"} ] }, + "UpdateFunction":{ + "name":"UpdateFunction2020_05_31", + "http":{ + "method":"PUT", + "requestUri":"/2020-05-31/function/{Name}" + }, + "input":{ + "shape":"UpdateFunctionRequest", + "locationName":"UpdateFunctionRequest", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2020-05-31/"} + }, + "output":{"shape":"UpdateFunctionResult"}, + "errors":[ + {"shape":"InvalidArgument"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchFunctionExists"}, + {"shape":"PreconditionFailed"}, + {"shape":"FunctionSizeLimitExceeded"} + ] + }, "UpdateKeyGroup":{ "name":"UpdateKeyGroup2020_05_31", "http":{ @@ -1442,6 +1585,7 @@ "SmoothStreaming":{"shape":"boolean"}, "Compress":{"shape":"boolean"}, "LambdaFunctionAssociations":{"shape":"LambdaFunctionAssociations"}, + "FunctionAssociations":{"shape":"FunctionAssociations"}, "FieldLevelEncryptionId":{"shape":"string"}, "RealtimeLogConfigArn":{"shape":"string"}, "CachePolicyId":{"shape":"string"}, @@ -1949,6 +2093,36 @@ }, "payload":"FieldLevelEncryptionProfile" }, + "CreateFunctionRequest":{ + "type":"structure", + "required":[ + "Name", + "FunctionConfig", + "FunctionCode" + ], + "members":{ + "Name":{"shape":"FunctionName"}, + "FunctionConfig":{"shape":"FunctionConfig"}, + "FunctionCode":{"shape":"FunctionBlob"} + } + }, + "CreateFunctionResult":{ + "type":"structure", + "members":{ + "FunctionSummary":{"shape":"FunctionSummary"}, + "Location":{ + "shape":"string", + "location":"header", + "locationName":"Location" + }, + "ETag":{ + "shape":"string", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FunctionSummary" + }, "CreateInvalidationRequest":{ "type":"structure", "required":[ @@ -2238,6 +2412,7 @@ "SmoothStreaming":{"shape":"boolean"}, "Compress":{"shape":"boolean"}, "LambdaFunctionAssociations":{"shape":"LambdaFunctionAssociations"}, + "FunctionAssociations":{"shape":"FunctionAssociations"}, "FieldLevelEncryptionId":{"shape":"string"}, "RealtimeLogConfigArn":{"shape":"string"}, "CachePolicyId":{"shape":"string"}, @@ -2340,6 +2515,25 @@ } } }, + "DeleteFunctionRequest":{ + "type":"structure", + "required":[ + "IfMatch", + "Name" + ], + "members":{ + "Name":{ + "shape":"string", + "location":"uri", + "locationName":"Name" + }, + "IfMatch":{ + "shape":"string", + "location":"header", + "locationName":"If-Match" + } + } + }, "DeleteKeyGroupRequest":{ "type":"structure", "required":["Id"], @@ -2427,6 +2621,34 @@ } } }, + "DescribeFunctionRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"string", + "location":"uri", + "locationName":"Name" + }, + "Stage":{ + "shape":"FunctionStage", + "location":"querystring", + "locationName":"Stage" + } + } + }, + "DescribeFunctionResult":{ + "type":"structure", + "members":{ + "FunctionSummary":{"shape":"FunctionSummary"}, + "ETag":{ + "shape":"string", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FunctionSummary" + }, "Distribution":{ "type":"structure", "required":[ @@ -2848,6 +3070,151 @@ "QueryStringCacheKeys":{"shape":"QueryStringCacheKeys"} } }, + "FunctionARN":{ + "type":"string", + "max":108, + "pattern":"arn:aws:cloudfront::[0-9]{12}:function\\/[a-zA-Z0-9-_]{1,64}$" + }, + "FunctionAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "FunctionAssociation":{ + "type":"structure", + "required":[ + "FunctionARN", + "EventType" + ], + "members":{ + "FunctionARN":{"shape":"FunctionARN"}, + "EventType":{"shape":"EventType"} + } + }, + "FunctionAssociationList":{ + "type":"list", + "member":{ + "shape":"FunctionAssociation", + "locationName":"FunctionAssociation" + } + }, + "FunctionAssociations":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{"shape":"integer"}, + "Items":{"shape":"FunctionAssociationList"} + } + }, + "FunctionBlob":{ + "type":"blob", + "max":40960, + "min":1, + "sensitive":true + }, + "FunctionConfig":{ + "type":"structure", + "required":[ + "Comment", + "Runtime" + ], + "members":{ + "Comment":{"shape":"string"}, + "Runtime":{"shape":"FunctionRuntime"} + } + }, + "FunctionEventObject":{ + "type":"blob", + "max":40960, + "sensitive":true + }, + "FunctionExecutionLogList":{ + "type":"list", + "member":{"shape":"string"} + }, + "FunctionInUse":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "FunctionList":{ + "type":"structure", + "required":[ + "MaxItems", + "Quantity" + ], + "members":{ + "NextMarker":{"shape":"string"}, + "MaxItems":{"shape":"integer"}, + "Quantity":{"shape":"integer"}, + "Items":{"shape":"FunctionSummaryList"} + } + }, + "FunctionMetadata":{ + "type":"structure", + "required":[ + "FunctionARN", + "LastModifiedTime" + ], + "members":{ + "FunctionARN":{"shape":"string"}, + "Stage":{"shape":"FunctionStage"}, + "CreatedTime":{"shape":"timestamp"}, + "LastModifiedTime":{"shape":"timestamp"} + } + }, + "FunctionName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9-_]{1,64}$" + }, + "FunctionRuntime":{ + "type":"string", + "enum":["cloudfront-js-1.0"] + }, + "FunctionSizeLimitExceeded":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":413}, + "exception":true + }, + "FunctionStage":{ + "type":"string", + "enum":[ + "DEVELOPMENT", + "LIVE" + ] + }, + "FunctionSummary":{ + "type":"structure", + "required":[ + "Name", + "FunctionConfig", + "FunctionMetadata" + ], + "members":{ + "Name":{"shape":"FunctionName"}, + "Status":{"shape":"string"}, + "FunctionConfig":{"shape":"FunctionConfig"}, + "FunctionMetadata":{"shape":"FunctionMetadata"} + } + }, + "FunctionSummaryList":{ + "type":"list", + "member":{ + "shape":"FunctionSummary", + "locationName":"FunctionSummary" + } + }, "GeoRestriction":{ "type":"structure", "required":[ @@ -3098,6 +3465,39 @@ }, "payload":"FieldLevelEncryption" }, + "GetFunctionRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"string", + "location":"uri", + "locationName":"Name" + }, + "Stage":{ + "shape":"FunctionStage", + "location":"querystring", + "locationName":"Stage" + } + } + }, + "GetFunctionResult":{ + "type":"structure", + "members":{ + "FunctionCode":{"shape":"FunctionBlob"}, + "ETag":{ + "shape":"string", + "location":"header", + "locationName":"ETag" + }, + "ContentType":{ + "shape":"string", + "location":"header", + "locationName":"Content-Type" + } + }, + "payload":"FunctionCode" + }, "GetInvalidationRequest":{ "type":"structure", "required":[ @@ -3433,6 +3833,14 @@ "error":{"httpStatusCode":400}, "exception":true }, + "InvalidFunctionAssociation":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, "InvalidGeoRestrictionParameter":{ "type":"structure", "members":{ @@ -4027,6 +4435,33 @@ }, "payload":"FieldLevelEncryptionProfileList" }, + "ListFunctionsRequest":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"string", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"string", + "location":"querystring", + "locationName":"MaxItems" + }, + "Stage":{ + "shape":"FunctionStage", + "location":"querystring", + "locationName":"Stage" + } + } + }, + "ListFunctionsResult":{ + "type":"structure", + "members":{ + "FunctionList":{"shape":"FunctionList"} + }, + "payload":"FunctionList" + }, "ListInvalidationsRequest":{ "type":"structure", "required":["DistributionId"], @@ -4295,6 +4730,14 @@ "error":{"httpStatusCode":404}, "exception":true }, + "NoSuchFunctionExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":404}, + "exception":true + }, "NoSuchInvalidation":{ "type":"structure", "members":{ @@ -4766,6 +5209,32 @@ "locationName":"PublicKeySummary" } }, + "PublishFunctionRequest":{ + "type":"structure", + "required":[ + "Name", + "IfMatch" + ], + "members":{ + "Name":{ + "shape":"string", + "location":"uri", + "locationName":"Name" + }, + "IfMatch":{ + "shape":"string", + "location":"header", + "locationName":"If-Match" + } + } + }, + "PublishFunctionResult":{ + "type":"structure", + "members":{ + "FunctionSummary":{"shape":"FunctionSummary"} + }, + "payload":"FunctionSummary" + }, "QueryArgProfile":{ "type":"structure", "required":[ @@ -4875,6 +5344,14 @@ "type":"list", "member":{"shape":"RealtimeLogConfig"} }, + "RealtimeLogConfigOwnerMismatch":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":401}, + "exception":true + }, "RealtimeLogConfigs":{ "type":"structure", "required":[ @@ -5197,6 +5674,53 @@ "Items":{"shape":"TagList"} } }, + "TestFunctionFailed":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":500}, + "exception":true + }, + "TestFunctionRequest":{ + "type":"structure", + "required":[ + "Name", + "IfMatch", + "EventObject" + ], + "members":{ + "Name":{ + "shape":"string", + "location":"uri", + "locationName":"Name" + }, + "IfMatch":{ + "shape":"string", + "location":"header", + "locationName":"If-Match" + }, + "Stage":{"shape":"FunctionStage"}, + "EventObject":{"shape":"FunctionEventObject"} + } + }, + "TestFunctionResult":{ + "type":"structure", + "members":{ + "TestResult":{"shape":"TestResult"} + }, + "payload":"TestResult" + }, + "TestResult":{ + "type":"structure", + "members":{ + "FunctionSummary":{"shape":"FunctionSummary"}, + "ComputeUtilization":{"shape":"string"}, + "FunctionExecutionLogs":{"shape":"FunctionExecutionLogList"}, + "FunctionErrorMessage":{"shape":"string"}, + "FunctionOutput":{"shape":"string"} + } + }, "TooManyCacheBehaviors":{ "type":"structure", "members":{ @@ -5301,6 +5825,14 @@ "error":{"httpStatusCode":400}, "exception":true }, + "TooManyDistributionsWithFunctionAssociations":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, "TooManyDistributionsWithLambdaAssociations":{ "type":"structure", "members":{ @@ -5365,6 +5897,22 @@ "error":{"httpStatusCode":400}, "exception":true }, + "TooManyFunctionAssociations":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFunctions":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, "TooManyHeadersInCachePolicy":{ "type":"structure", "members":{ @@ -5572,6 +6120,14 @@ "Items":{"shape":"AwsAccountNumberList"} } }, + "UnsupportedOperation":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, "UntagResourceRequest":{ "type":"structure", "required":[ @@ -5777,6 +6333,41 @@ }, "payload":"FieldLevelEncryptionProfile" }, + "UpdateFunctionRequest":{ + "type":"structure", + "required":[ + "IfMatch", + "FunctionConfig", + "FunctionCode", + "Name" + ], + "members":{ + "Name":{ + "shape":"string", + "location":"uri", + "locationName":"Name" + }, + "IfMatch":{ + "shape":"string", + "location":"header", + "locationName":"If-Match" + }, + "FunctionConfig":{"shape":"FunctionConfig"}, + "FunctionCode":{"shape":"FunctionBlob"} + } + }, + "UpdateFunctionResult":{ + "type":"structure", + "members":{ + "FunctionSummary":{"shape":"FunctionSummary"}, + "ETag":{ + "shape":"string", + "location":"header", + "locationName":"ETtag" + } + }, + "payload":"FunctionSummary" + }, "UpdateKeyGroupRequest":{ "type":"structure", "required":[ diff --git a/models/apis/cloudfront/2020-05-31/docs-2.json b/models/apis/cloudfront/2020-05-31/docs-2.json index ca14306639..03fcf160f5 100644 --- a/models/apis/cloudfront/2020-05-31/docs-2.json +++ b/models/apis/cloudfront/2020-05-31/docs-2.json @@ -8,6 +8,7 @@ "CreateDistributionWithTags": "

Create a new distribution with tags.

", "CreateFieldLevelEncryptionConfig": "

Create a new field-level encryption configuration.

", "CreateFieldLevelEncryptionProfile": "

Create a field-level encryption profile.

", + "CreateFunction": "

Creates a CloudFront function.

To create a function, you provide the function code and some configuration information about the function. The response contains an Amazon Resource Name (ARN) that uniquely identifies the function.

When you create a function, it’s in the DEVELOPMENT stage. In this stage, you can test the function with TestFunction, and update it with UpdateFunction.

When you’re ready to use your function with a CloudFront distribution, use PublishFunction to copy the function from the DEVELOPMENT stage to LIVE. When it’s live, you can attach the function to a distribution’s cache behavior, using the function’s ARN.

", "CreateInvalidation": "

Create a new invalidation.

", "CreateKeyGroup": "

Creates a key group that you can use with CloudFront signed URLs and signed cookies.

To create a key group, you must specify at least one public key for the key group. After you create a key group, you can reference it from one or more cache behaviors. When you reference a key group in a cache behavior, CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or cookies must be signed with a private key whose corresponding public key is in the key group. The signed URL or cookie contains information about which public key CloudFront should use to verify the signature. For more information, see Serving private content in the Amazon CloudFront Developer Guide.

", "CreateMonitoringSubscription": "

Enables additional CloudWatch metrics for the specified CloudFront distribution. The additional metrics incur an additional cost.

For more information, see Viewing additional CloudFront distribution metrics in the Amazon CloudFront Developer Guide.

", @@ -21,12 +22,14 @@ "DeleteDistribution": "

Delete a distribution.

", "DeleteFieldLevelEncryptionConfig": "

Remove a field-level encryption configuration.

", "DeleteFieldLevelEncryptionProfile": "

Remove a field-level encryption profile.

", + "DeleteFunction": "

Deletes a CloudFront function.

You cannot delete a function if it’s associated with a cache behavior. First, update your distributions to remove the function association from all cache behaviors, then delete the function.

To delete a function, you must provide the function’s name and version (ETag value). To get these values, you can use ListFunctions and DescribeFunction.

", "DeleteKeyGroup": "

Deletes a key group.

You cannot delete a key group that is referenced in a cache behavior. First update your distributions to remove the key group from all cache behaviors, then delete the key group.

To delete a key group, you must provide the key group’s identifier and version. To get these values, use ListKeyGroups followed by GetKeyGroup or GetKeyGroupConfig.

", "DeleteMonitoringSubscription": "

Disables additional CloudWatch metrics for the specified CloudFront distribution.

", "DeleteOriginRequestPolicy": "

Deletes an origin request policy.

You cannot delete an origin request policy if it’s attached to any cache behaviors. First update your distributions to remove the origin request policy from all cache behaviors, then delete the origin request policy.

To delete an origin request policy, you must provide the policy’s identifier and version. To get the identifier, you can use ListOriginRequestPolicies or GetOriginRequestPolicy.

", "DeletePublicKey": "

Remove a public key you previously added to CloudFront.

", "DeleteRealtimeLogConfig": "

Deletes a real-time log configuration.

You cannot delete a real-time log configuration if it’s attached to a cache behavior. First update your distributions to remove the real-time log configuration from all cache behaviors, then delete the real-time log configuration.

To delete a real-time log configuration, you can provide the configuration’s name or its Amazon Resource Name (ARN). You must provide at least one. If you provide both, CloudFront uses the name to identify the real-time log configuration to delete.

", "DeleteStreamingDistribution": "

Delete a streaming distribution. To delete an RTMP distribution using the CloudFront API, perform the following steps.

To delete an RTMP distribution using the CloudFront API:

  1. Disable the RTMP distribution.

  2. Submit a GET Streaming Distribution Config request to get the current configuration and the Etag header for the distribution.

  3. Update the XML document that was returned in the response to your GET Streaming Distribution Config request to change the value of Enabled to false.

  4. Submit a PUT Streaming Distribution Config request to update the configuration for your distribution. In the request body, include the XML document that you updated in Step 3. Then set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Streaming Distribution Config request in Step 2.

  5. Review the response to the PUT Streaming Distribution Config request to confirm that the distribution was successfully disabled.

  6. Submit a GET Streaming Distribution Config request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

  7. Submit a DELETE Streaming Distribution request. Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Streaming Distribution Config request in Step 2.

  8. Review the response to your DELETE Streaming Distribution request to confirm that the distribution was successfully deleted.

For information about deleting a distribution using the CloudFront console, see Deleting a Distribution in the Amazon CloudFront Developer Guide.

", + "DescribeFunction": "

Gets configuration information and metadata about a CloudFront function, but not the function’s code. To get a function’s code, use GetFunction.

To get configuration information and metadata about a function, you must provide the function’s name and stage. To get these values, you can use ListFunctions.

", "GetCachePolicy": "

Gets a cache policy, including the following metadata:

To get a cache policy, you must provide the policy’s identifier. If the cache policy is attached to a distribution’s cache behavior, you can get the policy’s identifier using ListDistributions or GetDistribution. If the cache policy is not attached to a cache behavior, you can get the identifier using ListCachePolicies.

", "GetCachePolicyConfig": "

Gets a cache policy configuration.

To get a cache policy configuration, you must provide the policy’s identifier. If the cache policy is attached to a distribution’s cache behavior, you can get the policy’s identifier using ListDistributions or GetDistribution. If the cache policy is not attached to a cache behavior, you can get the identifier using ListCachePolicies.

", "GetCloudFrontOriginAccessIdentity": "

Get the information about an origin access identity.

", @@ -37,6 +40,7 @@ "GetFieldLevelEncryptionConfig": "

Get the field-level encryption configuration information.

", "GetFieldLevelEncryptionProfile": "

Get the field-level encryption profile information.

", "GetFieldLevelEncryptionProfileConfig": "

Get the field-level encryption profile configuration information.

", + "GetFunction": "

Gets the code of a CloudFront function. To get configuration information and metadata about a function, use DescribeFunction.

To get a function’s code, you must provide the function’s name and stage. To get these values, you can use ListFunctions.

", "GetInvalidation": "

Get the information about an invalidation.

", "GetKeyGroup": "

Gets a key group, including the date and time when the key group was last modified.

To get a key group, you must provide the key group’s identifier. If the key group is referenced in a distribution’s cache behavior, you can get the key group’s identifier using ListDistributions or GetDistribution. If the key group is not referenced in a cache behavior, you can get the identifier using ListKeyGroups.

", "GetKeyGroupConfig": "

Gets a key group configuration.

To get a key group configuration, you must provide the key group’s identifier. If the key group is referenced in a distribution’s cache behavior, you can get the key group’s identifier using ListDistributions or GetDistribution. If the key group is not referenced in a cache behavior, you can get the identifier using ListKeyGroups.

", @@ -58,6 +62,7 @@ "ListDistributionsByWebACLId": "

List the distributions that are associated with a specified AWS WAF web ACL.

", "ListFieldLevelEncryptionConfigs": "

List all field-level encryption configurations that have been created in CloudFront for this account.

", "ListFieldLevelEncryptionProfiles": "

Request a list of field-level encryption profiles that have been created in CloudFront for this account.

", + "ListFunctions": "

Gets a list of all CloudFront functions in your AWS account.

You can optionally apply a filter to return only the functions that are in the specified stage, either DEVELOPMENT or LIVE.

You can optionally specify the maximum number of items to receive in the response. If the total number of items in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the next page of items, send a subsequent request that specifies the NextMarker value from the current response as the Marker value in the subsequent request.

", "ListInvalidations": "

Lists invalidation batches.

", "ListKeyGroups": "

Gets a list of key groups.

You can optionally specify the maximum number of items to receive in the response. If the total number of items in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the next page of items, send a subsequent request that specifies the NextMarker value from the current response as the Marker value in the subsequent request.

", "ListOriginRequestPolicies": "

Gets a list of origin request policies.

You can optionally apply a filter to return only the managed policies created by AWS, or only the custom policies created in your AWS account.

You can optionally specify the maximum number of items to receive in the response. If the total number of items in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the next page of items, send a subsequent request that specifies the NextMarker value from the current response as the Marker value in the subsequent request.

", @@ -65,13 +70,16 @@ "ListRealtimeLogConfigs": "

Gets a list of real-time log configurations.

You can optionally specify the maximum number of items to receive in the response. If the total number of items in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the next page of items, send a subsequent request that specifies the NextMarker value from the current response as the Marker value in the subsequent request.

", "ListStreamingDistributions": "

List streaming distributions.

", "ListTagsForResource": "

List tags for a CloudFront resource.

", + "PublishFunction": "

Publishes a CloudFront function by copying the function code from the DEVELOPMENT stage to LIVE. This automatically updates all cache behaviors that are using this function to use the newly published copy in the LIVE stage.

When a function is published to the LIVE stage, you can attach the function to a distribution’s cache behavior, using the function’s Amazon Resource Name (ARN).

To publish a function, you must provide the function’s name and version (ETag value). To get these values, you can use ListFunctions and DescribeFunction.

", "TagResource": "

Add tags to a CloudFront resource.

", + "TestFunction": "

Tests a CloudFront function.

To test a function, you provide an event object that represents an HTTP request or response that your CloudFront distribution could receive in production. CloudFront runs the function, passing it the event object that you provided, and returns the function’s result (the modified event object) in the response. The response also contains function logs and error messages, if any exist. For more information about testing functions, see Testing functions in the Amazon CloudFront Developer Guide.

To test a function, you provide the function’s name and version (ETag value) along with the event object. To get the function’s name and version, you can use ListFunctions and DescribeFunction.

", "UntagResource": "

Remove tags from a CloudFront resource.

", "UpdateCachePolicy": "

Updates a cache policy configuration.

When you update a cache policy configuration, all the fields are updated with the values provided in the request. You cannot update some fields independent of others. To update a cache policy configuration:

  1. Use GetCachePolicyConfig to get the current configuration.

  2. Locally modify the fields in the cache policy configuration that you want to update.

  3. Call UpdateCachePolicy by providing the entire cache policy configuration, including the fields that you modified and those that you didn’t.

", "UpdateCloudFrontOriginAccessIdentity": "

Update an origin access identity.

", "UpdateDistribution": "

Updates the configuration for a web distribution.

When you update a distribution, there are more required fields than when you create a distribution. When you update your distribution by using this API action, follow the steps here to get the current configuration and then make your updates, to make sure that you include all of the required fields. To view a summary, see Required Fields for Create Distribution and Update Distribution in the Amazon CloudFront Developer Guide.

The update process includes getting the current distribution configuration, updating the XML document that is returned to make your changes, and then submitting an UpdateDistribution request to make the updates.

For information about updating a distribution using the CloudFront console instead, see Creating a Distribution in the Amazon CloudFront Developer Guide.

To update a web distribution using the CloudFront API

  1. Submit a GetDistributionConfig request to get the current configuration and an Etag header for the distribution.

    If you update the distribution again, you must get a new Etag header.

  2. Update the XML document that was returned in the response to your GetDistributionConfig request to include your changes.

    When you edit the XML file, be aware of the following:

    • You must strip out the ETag parameter that is returned.

    • Additional fields are required when you update a distribution. There may be fields included in the XML file for features that you haven't configured for your distribution. This is expected and required to successfully update the distribution.

    • You can't change the value of CallerReference. If you try to change this value, CloudFront returns an IllegalUpdate error.

    • The new configuration replaces the existing configuration; the values that you specify in an UpdateDistribution request are not merged into your existing configuration. When you add, delete, or replace values in an element that allows multiple values (for example, CNAME), you must specify all of the values that you want to appear in the updated distribution. In addition, you must update the corresponding Quantity element.

  3. Submit an UpdateDistribution request to update the configuration for your distribution:

    • In the request body, include the XML document that you updated in Step 2. The request body must include an XML document with a DistributionConfig element.

    • Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GetDistributionConfig request in Step 1.

  4. Review the response to the UpdateDistribution request to confirm that the configuration was successfully updated.

  5. Optional: Submit a GetDistribution request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

", "UpdateFieldLevelEncryptionConfig": "

Update a field-level encryption configuration.

", "UpdateFieldLevelEncryptionProfile": "

Update a field-level encryption profile.

", + "UpdateFunction": "

Updates a CloudFront function.

You can update a function’s code or the comment that describes the function. You cannot update a function’s name.

To update a function, you provide the function’s name and version (ETag value) along with the updated function code. To get the name and version, you can use ListFunctions and DescribeFunction.

", "UpdateKeyGroup": "

Updates a key group.

When you update a key group, all the fields are updated with the values provided in the request. You cannot update some fields independent of others. To update a key group:

  1. Get the current key group with GetKeyGroup or GetKeyGroupConfig.

  2. Locally modify the fields in the key group that you want to update. For example, add or remove public key IDs.

  3. Call UpdateKeyGroup with the entire key group object, including the fields that you modified and those that you didn’t.

", "UpdateOriginRequestPolicy": "

Updates an origin request policy configuration.

When you update an origin request policy configuration, all the fields are updated with the values provided in the request. You cannot update some fields independent of others. To update an origin request policy configuration:

  1. Use GetOriginRequestPolicyConfig to get the current configuration.

  2. Locally modify the fields in the origin request policy configuration that you want to update.

  3. Call UpdateOriginRequestPolicy by providing the entire origin request policy configuration, including the fields that you modified and those that you didn’t.

", "UpdatePublicKey": "

Update public key information. Note that the only value you can change is the comment.

", @@ -321,7 +329,7 @@ "CommentType": { "base": null, "refs": { - "DistributionConfig$Comment": "

Any comments you want to include about the distribution.

If you don't want to specify a comment, include an empty Comment element.

To delete an existing comment, update the distribution configuration and include an empty Comment element.

To add or change a comment, update the distribution configuration and specify the new comment.

" + "DistributionConfig$Comment": "

An optional comment to describe the distribution. The comment cannot be longer than 128 characters.

" } }, "ContentTypeProfile": { @@ -429,6 +437,16 @@ "refs": { } }, + "CreateFunctionRequest": { + "base": null, + "refs": { + } + }, + "CreateFunctionResult": { + "base": null, + "refs": { + } + }, "CreateInvalidationRequest": { "base": "

The request to create an invalidation.

", "refs": { @@ -572,6 +590,11 @@ "refs": { } }, + "DeleteFunctionRequest": { + "base": null, + "refs": { + } + }, "DeleteKeyGroupRequest": { "base": null, "refs": { @@ -607,6 +630,16 @@ "refs": { } }, + "DescribeFunctionRequest": { + "base": null, + "refs": { + } + }, + "DescribeFunctionResult": { + "base": null, + "refs": { + } + }, "Distribution": { "base": "

A distribution tells CloudFront where you want content to be delivered from, and the details about how to track and manage content delivery.

", "refs": { @@ -712,6 +745,7 @@ "EventType": { "base": null, "refs": { + "FunctionAssociation$EventType": "

The event type of the function, either viewer-request or viewer-response. You cannot use origin-facing event types (origin-request and origin-response) with a CloudFront function.

", "LambdaFunctionAssociation$EventType": "

Specifies the event type that triggers a Lambda function invocation. You can specify the following values:

" } }, @@ -839,8 +873,128 @@ "ForwardedValues": { "base": "

This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field.

If you want to include values in the cache key, use a cache policy. For more information, see Creating cache policies in the Amazon CloudFront Developer Guide.

If you want to send values to the origin but not include them in the cache key, use an origin request policy. For more information, see Creating origin request policies in the Amazon CloudFront Developer Guide.

A complex type that specifies how CloudFront handles query strings, cookies, and HTTP headers.

", "refs": { - "CacheBehavior$ForwardedValues": "

This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field. For more information, see Working with policies in the Amazon CloudFront Developer Guide.

If you want to include values in the cache key, use a cache policy. For more information, see Creating cache policies or Using the managed cache policies in the Amazon CloudFront Developer Guide.

If you want to send values to the origin but not include them in the cache key, use an origin request policy. For more information, see Creating origin request policies or Using the managed origin request policies in the Amazon CloudFront Developer Guide.

A complex type that specifies how CloudFront handles query strings, cookies, and HTTP headers.

", - "DefaultCacheBehavior$ForwardedValues": "

This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field. For more information, see Working with policies in the Amazon CloudFront Developer Guide.

If you want to include values in the cache key, use a cache policy. For more information, see Creating cache policies or Using the managed cache policies in the Amazon CloudFront Developer Guide.

If you want to send values to the origin but not include them in the cache key, use an origin request policy. For more information, see Creating origin request policies or Using the managed origin request policies in the Amazon CloudFront Developer Guide.

A complex type that specifies how CloudFront handles query strings, cookies, and HTTP headers.

" + "CacheBehavior$ForwardedValues": "

This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field. For more information, see Working with policies in the Amazon CloudFront Developer Guide.

If you want to include values in the cache key, use a cache policy. For more information, see Creating cache policies or Using the managed cache policies in the Amazon CloudFront Developer Guide.

If you want to send values to the origin but not include them in the cache key, use an origin request policy. For more information, see Creating origin request policies or Using the managed origin request policies in the Amazon CloudFront Developer Guide.

A CacheBehavior must include either a CachePolicyId or ForwardedValues. We recommend that you use a CachePolicyId.

A complex type that specifies how CloudFront handles query strings, cookies, and HTTP headers.

", + "DefaultCacheBehavior$ForwardedValues": "

This field is deprecated. We recommend that you use a cache policy or an origin request policy instead of this field. For more information, see Working with policies in the Amazon CloudFront Developer Guide.

If you want to include values in the cache key, use a cache policy. For more information, see Creating cache policies or Using the managed cache policies in the Amazon CloudFront Developer Guide.

If you want to send values to the origin but not include them in the cache key, use an origin request policy. For more information, see Creating origin request policies or Using the managed origin request policies in the Amazon CloudFront Developer Guide.

A DefaultCacheBehavior must include either a CachePolicyId or ForwardedValues. We recommend that you use a CachePolicyId.

A complex type that specifies how CloudFront handles query strings, cookies, and HTTP headers.

" + } + }, + "FunctionARN": { + "base": null, + "refs": { + "FunctionAssociation$FunctionARN": "

The Amazon Resource Name (ARN) of the function.

" + } + }, + "FunctionAlreadyExists": { + "base": "

A function with the same name already exists in this AWS account. To create a function, you must provide a unique name. To update an existing function, use UpdateFunction.

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

A CloudFront function that is associated with a cache behavior in a CloudFront distribution.

", + "refs": { + "FunctionAssociationList$member": null + } + }, + "FunctionAssociationList": { + "base": null, + "refs": { + "FunctionAssociations$Items": "

The CloudFront functions that are associated with a cache behavior in a CloudFront distribution. CloudFront functions must be published to the LIVE stage to associate them with a cache behavior.

" + } + }, + "FunctionAssociations": { + "base": "

A list of CloudFront functions that are associated with a cache behavior in a CloudFront distribution. CloudFront functions must be published to the LIVE stage to associate them with a cache behavior.

", + "refs": { + "CacheBehavior$FunctionAssociations": "

A list of CloudFront functions that are associated with this cache behavior. CloudFront functions must be published to the LIVE stage to associate them with a cache behavior.

", + "DefaultCacheBehavior$FunctionAssociations": "

A list of CloudFront functions that are associated with this cache behavior. CloudFront functions must be published to the LIVE stage to associate them with a cache behavior.

" + } + }, + "FunctionBlob": { + "base": null, + "refs": { + "CreateFunctionRequest$FunctionCode": "

The function code. For more information about writing a CloudFront function, see Writing function code for CloudFront Functions in the Amazon CloudFront Developer Guide.

", + "GetFunctionResult$FunctionCode": "

The function code of a CloudFront function.

", + "UpdateFunctionRequest$FunctionCode": "

The function code. For more information about writing a CloudFront function, see Writing function code for CloudFront Functions in the Amazon CloudFront Developer Guide.

" + } + }, + "FunctionConfig": { + "base": "

Contains configuration information about a CloudFront function.

", + "refs": { + "CreateFunctionRequest$FunctionConfig": "

Configuration information about the function, including an optional comment and the function’s runtime.

", + "FunctionSummary$FunctionConfig": "

Contains configuration information about a CloudFront function.

", + "UpdateFunctionRequest$FunctionConfig": "

Configuration information about the function.

" + } + }, + "FunctionEventObject": { + "base": null, + "refs": { + "TestFunctionRequest$EventObject": "

The event object to test the function with. For more information about the structure of the event object, see Testing functions in the Amazon CloudFront Developer Guide.

" + } + }, + "FunctionExecutionLogList": { + "base": null, + "refs": { + "TestResult$FunctionExecutionLogs": "

Contains the log lines that the function wrote (if any) when running the test.

" + } + }, + "FunctionInUse": { + "base": "

Cannot delete the function because it’s attached to one or more cache behaviors.

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

A list of CloudFront functions.

", + "refs": { + "ListFunctionsResult$FunctionList": "

A list of CloudFront functions.

" + } + }, + "FunctionMetadata": { + "base": "

Contains metadata about a CloudFront function.

", + "refs": { + "FunctionSummary$FunctionMetadata": "

Contains metadata about a CloudFront function.

" + } + }, + "FunctionName": { + "base": null, + "refs": { + "CreateFunctionRequest$Name": "

A name to identify the function.

", + "FunctionSummary$Name": "

The name of the CloudFront function.

" + } + }, + "FunctionRuntime": { + "base": null, + "refs": { + "FunctionConfig$Runtime": "

The function’s runtime environment. The only valid value is cloudfront-js-1.0.

" + } + }, + "FunctionSizeLimitExceeded": { + "base": "

The function is too large. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.

", + "refs": { + } + }, + "FunctionStage": { + "base": null, + "refs": { + "DescribeFunctionRequest$Stage": "

The function’s stage, either DEVELOPMENT or LIVE.

", + "FunctionMetadata$Stage": "

The stage that the function is in, either DEVELOPMENT or LIVE.

When a function is in the DEVELOPMENT stage, you can test the function with TestFunction, and update it with UpdateFunction.

When a function is in the LIVE stage, you can attach the function to a distribution’s cache behavior, using the function’s ARN.

", + "GetFunctionRequest$Stage": "

The function’s stage, either DEVELOPMENT or LIVE.

", + "ListFunctionsRequest$Stage": "

An optional filter to return only the functions that are in the specified stage, either DEVELOPMENT or LIVE.

", + "TestFunctionRequest$Stage": "

The stage of the function that you are testing, either DEVELOPMENT or LIVE.

" + } + }, + "FunctionSummary": { + "base": "

Contains configuration information and metadata about a CloudFront function.

", + "refs": { + "CreateFunctionResult$FunctionSummary": "

Contains configuration information and metadata about a CloudFront function.

", + "DescribeFunctionResult$FunctionSummary": "

Contains configuration information and metadata about a CloudFront function.

", + "FunctionSummaryList$member": null, + "PublishFunctionResult$FunctionSummary": "

Contains configuration information and metadata about a CloudFront function.

", + "TestResult$FunctionSummary": "

Contains configuration information and metadata about the CloudFront function that was tested.

", + "UpdateFunctionResult$FunctionSummary": "

Contains configuration information and metadata about a CloudFront function.

" + } + }, + "FunctionSummaryList": { + "base": null, + "refs": { + "FunctionList$Items": "

Contains the functions in the list.

" } }, "GeoRestriction": { @@ -955,6 +1109,16 @@ "refs": { } }, + "GetFunctionRequest": { + "base": null, + "refs": { + } + }, + "GetFunctionResult": { + "base": null, + "refs": { + } + }, "GetInvalidationRequest": { "base": "

The request to get an invalidation's information.

", "refs": { @@ -1132,6 +1296,11 @@ "refs": { } }, + "InvalidFunctionAssociation": { + "base": "

A CloudFront function association is invalid.

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

The specified geo restriction parameter is not valid.

", "refs": { @@ -1462,6 +1631,16 @@ "refs": { } }, + "ListFunctionsRequest": { + "base": null, + "refs": { + } + }, + "ListFunctionsResult": { + "base": null, + "refs": { + } + }, "ListInvalidationsRequest": { "base": "

The request to list invalidations.

", "refs": { @@ -1601,6 +1780,11 @@ "refs": { } }, + "NoSuchFunctionExists": { + "base": "

The function does not exist.

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

The specified invalidation does not exist.

", "refs": { @@ -1842,7 +2026,7 @@ } }, "PreconditionFailed": { - "base": "

The precondition given in one or more of the request header fields evaluated to false.

", + "base": "

The precondition in one or more of the request fields evaluated to false.

", "refs": { } }, @@ -1906,6 +2090,16 @@ "PublicKeyList$Items": "

A list of public keys.

" } }, + "PublishFunctionRequest": { + "base": null, + "refs": { + } + }, + "PublishFunctionResult": { + "base": null, + "refs": { + } + }, "QueryArgProfile": { "base": "

Query argument-profile mapping for field-level encryption.

", "refs": { @@ -1986,6 +2180,11 @@ "RealtimeLogConfigs$Items": "

Contains the list of real-time log configurations.

" } }, + "RealtimeLogConfigOwnerMismatch": { + "base": "

The specified real-time log configuration belongs to a different AWS account.

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

A list of real-time log configurations.

", "refs": { @@ -2189,6 +2388,27 @@ "TagResourceRequest$Tags": "

A complex type that contains zero or more Tag elements.

" } }, + "TestFunctionFailed": { + "base": "

The CloudFront function failed.

", + "refs": { + } + }, + "TestFunctionRequest": { + "base": null, + "refs": { + } + }, + "TestFunctionResult": { + "base": null, + "refs": { + } + }, + "TestResult": { + "base": "

Contains the result of testing a CloudFront function with TestFunction.

", + "refs": { + "TestFunctionResult$TestResult": "

An object that represents the result of running the function with the provided event object.

" + } + }, "TooManyCacheBehaviors": { "base": "

You cannot create more cache behaviors for the distribution.

", "refs": { @@ -2254,6 +2474,11 @@ "refs": { } }, + "TooManyDistributionsWithFunctionAssociations": { + "base": "

You have reached the maximum number of distributions that are associated with a CloudFront function. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.

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

Processing your request would cause the maximum number of distributions with Lambda function associations per owner to be exceeded.

", "refs": { @@ -2294,6 +2519,16 @@ "refs": { } }, + "TooManyFunctionAssociations": { + "base": "

You have reached the maximum number of CloudFront function associations for this distribution. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.

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

You have reached the maximum number of CloudFront functions for this AWS account. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.

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

The number of headers in the cache policy exceeds the maximum. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.

", "refs": { @@ -2426,6 +2661,11 @@ "StreamingDistributionSummary$TrustedSigners": "

A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items.If you don't want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it's currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.

For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" } }, + "UnsupportedOperation": { + "base": "

This operation is not supported in this region.

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

The request to remove tags from a CloudFront resource.

", "refs": { @@ -2481,6 +2721,16 @@ "refs": { } }, + "UpdateFunctionRequest": { + "base": null, + "refs": { + } + }, + "UpdateFunctionResult": { + "base": null, + "refs": { + } + }, "UpdateKeyGroupRequest": { "base": null, "refs": { @@ -2614,6 +2864,9 @@ "FieldLevelEncryptionProfileList$MaxItems": "

The maximum number of field-level encryption profiles you want in the response body.

", "FieldLevelEncryptionProfileList$Quantity": "

The number of field-level encryption profiles.

", "FieldPatterns$Quantity": "

The number of field-level encryption field patterns.

", + "FunctionAssociations$Quantity": "

The number of CloudFront functions in the list.

", + "FunctionList$MaxItems": "

The maximum number of functions requested.

", + "FunctionList$Quantity": "

The number of functions returned in the response.

", "GeoRestriction$Quantity": "

When geo restriction is enabled, this is the number of countries in your whitelist or blacklist. Otherwise, when it is not enabled, Quantity is 0, and you can omit Items.

", "Headers$Quantity": "

The number of header names in the Items list.

", "InvalidationList$MaxItems": "

The value that you provided for the MaxItems request parameter.

", @@ -2676,11 +2929,11 @@ "CacheBehavior$TargetOriginId": "

The value of ID for the origin that you want CloudFront to route requests to when they match this cache behavior.

", "CacheBehavior$FieldLevelEncryptionId": "

The value of ID for the field-level encryption configuration that you want CloudFront to use for encrypting specific fields of data for this cache behavior.

", "CacheBehavior$RealtimeLogConfigArn": "

The Amazon Resource Name (ARN) of the real-time log configuration that is attached to this cache behavior. For more information, see Real-time logs in the Amazon CloudFront Developer Guide.

", - "CacheBehavior$CachePolicyId": "

The unique identifier of the cache policy that is attached to this cache behavior. For more information, see Creating cache policies or Using the managed cache policies in the Amazon CloudFront Developer Guide.

", + "CacheBehavior$CachePolicyId": "

The unique identifier of the cache policy that is attached to this cache behavior. For more information, see Creating cache policies or Using the managed cache policies in the Amazon CloudFront Developer Guide.

A CacheBehavior must include either a CachePolicyId or ForwardedValues. We recommend that you use a CachePolicyId.

", "CacheBehavior$OriginRequestPolicyId": "

The unique identifier of the origin request policy that is attached to this cache behavior. For more information, see Creating origin request policies or Using the managed origin request policies in the Amazon CloudFront Developer Guide.

", "CachePolicy$Id": "

The unique identifier for the cache policy.

", "CachePolicyAlreadyExists$Message": null, - "CachePolicyConfig$Comment": "

A comment to describe the cache policy.

", + "CachePolicyConfig$Comment": "

A comment to describe the cache policy. The comment cannot be longer than 128 characters.

", "CachePolicyConfig$Name": "

A unique name to identify the cache policy.

", "CachePolicyInUse$Message": null, "CachePolicyList$NextMarker": "

If there are more items in the list than are in this response, this element is present. It contains the value that you should use in the Marker field of a subsequent request to continue listing cache policies where you left off.

", @@ -2689,7 +2942,7 @@ "CloudFrontOriginAccessIdentity$S3CanonicalUserId": "

The Amazon S3 canonical user ID for the origin access identity, used when giving the origin access identity read permission to an object in Amazon S3.

", "CloudFrontOriginAccessIdentityAlreadyExists$Message": null, "CloudFrontOriginAccessIdentityConfig$CallerReference": "

A unique value (for example, a date-time stamp) that ensures that the request can't be replayed.

If the value of CallerReference is new (regardless of the content of the CloudFrontOriginAccessIdentityConfig object), a new origin access identity is created.

If the CallerReference is a value already sent in a previous identity request, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request.

If the CallerReference is a value you already sent in a previous request to create an identity, but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.

", - "CloudFrontOriginAccessIdentityConfig$Comment": "

Any comments you want to include about the origin access identity.

", + "CloudFrontOriginAccessIdentityConfig$Comment": "

An optional comment to describe the origin access identity. The comment cannot be longer than 128 characters.

", "CloudFrontOriginAccessIdentityInUse$Message": null, "CloudFrontOriginAccessIdentityList$Marker": "

Use this when paginating results to indicate where to begin in your list of origin access identities. The results include identities in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last identity on that page).

", "CloudFrontOriginAccessIdentityList$NextMarker": "

If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your origin access identities where they left off.

", @@ -2711,6 +2964,8 @@ "CreateFieldLevelEncryptionConfigResult$ETag": "

The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.

", "CreateFieldLevelEncryptionProfileResult$Location": "

The fully qualified URI of the new profile resource just created.

", "CreateFieldLevelEncryptionProfileResult$ETag": "

The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL.

", + "CreateFunctionResult$Location": "

The URL of the CloudFront function. Use the URL to manage the function with the CloudFront API.

", + "CreateFunctionResult$ETag": "

The version identifier for the current version of the CloudFront function.

", "CreateInvalidationRequest$DistributionId": "

The distribution's id.

", "CreateInvalidationResult$Location": "

The fully qualified URI of the distribution and invalidation batch request, including the Invalidation ID.

", "CreateKeyGroupResult$Location": "

The URL of the key group.

", @@ -2730,7 +2985,7 @@ "DefaultCacheBehavior$TargetOriginId": "

The value of ID for the origin that you want CloudFront to route requests to when they use the default cache behavior.

", "DefaultCacheBehavior$FieldLevelEncryptionId": "

The value of ID for the field-level encryption configuration that you want CloudFront to use for encrypting specific fields of data for the default cache behavior.

", "DefaultCacheBehavior$RealtimeLogConfigArn": "

The Amazon Resource Name (ARN) of the real-time log configuration that is attached to this cache behavior. For more information, see Real-time logs in the Amazon CloudFront Developer Guide.

", - "DefaultCacheBehavior$CachePolicyId": "

The unique identifier of the cache policy that is attached to the default cache behavior. For more information, see Creating cache policies or Using the managed cache policies in the Amazon CloudFront Developer Guide.

", + "DefaultCacheBehavior$CachePolicyId": "

The unique identifier of the cache policy that is attached to the default cache behavior. For more information, see Creating cache policies or Using the managed cache policies in the Amazon CloudFront Developer Guide.

A DefaultCacheBehavior must include either a CachePolicyId or ForwardedValues. We recommend that you use a CachePolicyId.

", "DefaultCacheBehavior$OriginRequestPolicyId": "

The unique identifier of the origin request policy that is attached to the default cache behavior. For more information, see Creating origin request policies or Using the managed origin request policies in the Amazon CloudFront Developer Guide.

", "DeleteCachePolicyRequest$Id": "

The unique identifier for the cache policy that you are deleting. To get the identifier, you can use ListCachePolicies.

", "DeleteCachePolicyRequest$IfMatch": "

The version of the cache policy that you are deleting. The version is the cache policy’s ETag value, which you can get using ListCachePolicies, GetCachePolicy, or GetCachePolicyConfig.

", @@ -2742,6 +2997,8 @@ "DeleteFieldLevelEncryptionConfigRequest$IfMatch": "

The value of the ETag header that you received when retrieving the configuration identity to delete. For example: E2QWRUHAPOMQZL.

", "DeleteFieldLevelEncryptionProfileRequest$Id": "

Request the ID of the profile you want to delete from CloudFront.

", "DeleteFieldLevelEncryptionProfileRequest$IfMatch": "

The value of the ETag header that you received when retrieving the profile to delete. For example: E2QWRUHAPOMQZL.

", + "DeleteFunctionRequest$Name": "

The name of the function that you are deleting.

", + "DeleteFunctionRequest$IfMatch": "

The current version (ETag value) of the function that you are deleting, which you can get using DescribeFunction.

", "DeleteKeyGroupRequest$Id": "

The identifier of the key group that you are deleting. To get the identifier, use ListKeyGroups.

", "DeleteKeyGroupRequest$IfMatch": "

The version of the key group that you are deleting. The version is the key group’s ETag value. To get the ETag, use GetKeyGroup or GetKeyGroupConfig.

", "DeleteMonitoringSubscriptionRequest$DistributionId": "

The ID of the distribution that you are disabling metrics for.

", @@ -2753,6 +3010,8 @@ "DeleteRealtimeLogConfigRequest$ARN": "

The Amazon Resource Name (ARN) of the real-time log configuration to delete.

", "DeleteStreamingDistributionRequest$Id": "

The distribution ID.

", "DeleteStreamingDistributionRequest$IfMatch": "

The value of the ETag header that you received when you disabled the streaming distribution. For example: E2QWRUHAPOMQZL.

", + "DescribeFunctionRequest$Name": "

The name of the function that you are getting information about.

", + "DescribeFunctionResult$ETag": "

The version identifier for the current version of the CloudFront function.

", "Distribution$Id": "

The identifier for the distribution. For example: EDFDVBD632BHDS5.

", "Distribution$ARN": "

The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, where 123456789012 is your AWS account ID.

", "Distribution$Status": "

This response element indicates the current status of the distribution. When the status is Deployed, the distribution's information is fully propagated to all CloudFront edge locations.

", @@ -2778,7 +3037,7 @@ "EndPoint$StreamType": "

The type of data stream where you are sending real-time log data. The only valid value is Kinesis.

", "FieldLevelEncryption$Id": "

The configuration ID for a field-level encryption configuration which includes a set of profiles that specify certain selected data fields to be encrypted by specific public keys.

", "FieldLevelEncryptionConfig$CallerReference": "

A unique number that ensures the request can't be replayed.

", - "FieldLevelEncryptionConfig$Comment": "

An optional comment about the configuration.

", + "FieldLevelEncryptionConfig$Comment": "

An optional comment about the configuration. The comment cannot be longer than 128 characters.

", "FieldLevelEncryptionConfigAlreadyExists$Message": null, "FieldLevelEncryptionConfigInUse$Message": null, "FieldLevelEncryptionList$NextMarker": "

If there are more elements to be listed, this element is present and contains the value that you can use for the Marker request parameter to continue listing your configurations where you left off.

", @@ -2786,17 +3045,25 @@ "FieldLevelEncryptionProfileAlreadyExists$Message": null, "FieldLevelEncryptionProfileConfig$Name": "

Profile name for the field-level encryption profile.

", "FieldLevelEncryptionProfileConfig$CallerReference": "

A unique number that ensures that the request can't be replayed.

", - "FieldLevelEncryptionProfileConfig$Comment": "

An optional comment for the field-level encryption profile.

", + "FieldLevelEncryptionProfileConfig$Comment": "

An optional comment for the field-level encryption profile. The comment cannot be longer than 128 characters.

", "FieldLevelEncryptionProfileInUse$Message": null, "FieldLevelEncryptionProfileList$NextMarker": "

If there are more elements to be listed, this element is present and contains the value that you can use for the Marker request parameter to continue listing your profiles where you left off.

", "FieldLevelEncryptionProfileSizeExceeded$Message": null, "FieldLevelEncryptionProfileSummary$Id": "

ID for the field-level encryption profile summary.

", "FieldLevelEncryptionProfileSummary$Name": "

Name for the field-level encryption profile summary.

", - "FieldLevelEncryptionProfileSummary$Comment": "

An optional comment for the field-level encryption profile summary.

", + "FieldLevelEncryptionProfileSummary$Comment": "

An optional comment for the field-level encryption profile summary. The comment cannot be longer than 128 characters.

", "FieldLevelEncryptionSummary$Id": "

The unique ID of a field-level encryption item.

", - "FieldLevelEncryptionSummary$Comment": "

An optional comment about the field-level encryption item.

", + "FieldLevelEncryptionSummary$Comment": "

An optional comment about the field-level encryption item. The comment cannot be longer than 128 characters.

", "FieldList$member": null, "FieldPatternList$member": null, + "FunctionAlreadyExists$Message": null, + "FunctionConfig$Comment": "

A comment to describe the function.

", + "FunctionExecutionLogList$member": null, + "FunctionInUse$Message": null, + "FunctionList$NextMarker": "

If there are more items in the list than are in this response, this element is present. It contains the value that you should use in the Marker field of a subsequent request to continue listing functions where you left off.

", + "FunctionMetadata$FunctionARN": "

The Amazon Resource Name (ARN) of the function. The ARN uniquely identifies the function.

", + "FunctionSizeLimitExceeded$Message": null, + "FunctionSummary$Status": "

The status of the CloudFront function.

", "GetCachePolicyConfigRequest$Id": "

The unique identifier for the cache policy. If the cache policy is attached to a distribution’s cache behavior, you can get the policy’s identifier using ListDistributions or GetDistribution. If the cache policy is not attached to a cache behavior, you can get the identifier using ListCachePolicies.

", "GetCachePolicyConfigResult$ETag": "

The current version of the cache policy.

", "GetCachePolicyRequest$Id": "

The unique identifier for the cache policy. If the cache policy is attached to a distribution’s cache behavior, you can get the policy’s identifier using ListDistributions or GetDistribution. If the cache policy is not attached to a cache behavior, you can get the identifier using ListCachePolicies.

", @@ -2817,6 +3084,9 @@ "GetFieldLevelEncryptionProfileResult$ETag": "

The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL.

", "GetFieldLevelEncryptionRequest$Id": "

Request the ID for the field-level encryption configuration information.

", "GetFieldLevelEncryptionResult$ETag": "

The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.

", + "GetFunctionRequest$Name": "

The name of the function whose code you are getting.

", + "GetFunctionResult$ETag": "

The version identifier for the current version of the CloudFront function.

", + "GetFunctionResult$ContentType": "

The content type (media type) of the response.

", "GetInvalidationRequest$DistributionId": "

The distribution's ID.

", "GetInvalidationRequest$Id": "

The identifier for the invalidation request, for example, IDFDVBD632BHDS5.

", "GetKeyGroupConfigRequest$Id": "

The identifier of the key group whose configuration you are getting. To get the identifier, use ListKeyGroups.

", @@ -2847,6 +3117,7 @@ "InvalidDefaultRootObject$Message": null, "InvalidErrorCode$Message": null, "InvalidForwardCookies$Message": null, + "InvalidFunctionAssociation$Message": null, "InvalidGeoRestrictionParameter$Message": null, "InvalidHeadersForS3Origin$Message": null, "InvalidIfMatchVersion$Message": null, @@ -2877,7 +3148,7 @@ "KeyGroup$Id": "

The identifier for the key group.

", "KeyGroupAlreadyExists$Message": null, "KeyGroupConfig$Name": "

A name to identify the key group.

", - "KeyGroupConfig$Comment": "

A comment to describe the key group.

", + "KeyGroupConfig$Comment": "

A comment to describe the key group. The comment cannot be longer than 128 characters.

", "KeyGroupList$NextMarker": "

If there are more items in the list than are in this response, this element is present. It contains the value that you should use in the Marker field of a subsequent request to continue listing key groups.

", "KeyPairIdList$member": null, "KinesisStreamConfig$RoleARN": "

The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that CloudFront can use to send real-time log data to your Kinesis data stream.

For more information the IAM role, see Real-time log configuration IAM role in the Amazon CloudFront Developer Guide.

", @@ -2908,6 +3179,8 @@ "ListFieldLevelEncryptionConfigsRequest$MaxItems": "

The maximum number of field-level encryption configurations you want in the response body.

", "ListFieldLevelEncryptionProfilesRequest$Marker": "

Use this when paginating results to indicate where to begin in your list of profiles. The results include profiles in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page's response (which is also the ID of the last profile on that page).

", "ListFieldLevelEncryptionProfilesRequest$MaxItems": "

The maximum number of field-level encryption profiles you want in the response body.

", + "ListFunctionsRequest$Marker": "

Use this field when paginating results to indicate where to begin in your list of functions. The response includes functions in the list that occur after the marker. To get the next page of the list, set this field’s value to the value of NextMarker from the current page’s response.

", + "ListFunctionsRequest$MaxItems": "

The maximum number of functions that you want in the response.

", "ListInvalidationsRequest$DistributionId": "

The distribution's ID.

", "ListInvalidationsRequest$Marker": "

Use this parameter when paginating results to indicate where to begin in your list of invalidation batches. Because the results are returned in decreasing order from most recent to oldest, the most recent results are on the first page, the second page will contain earlier results, and so on. To get the next page of results, set Marker to the value of the NextMarker from the current page's response. This value is the same as the ID of the last invalidation batch on that page.

", "ListInvalidationsRequest$MaxItems": "

The maximum number of invalidation batches that you want in the response body.

", @@ -2930,6 +3203,7 @@ "NoSuchDistribution$Message": null, "NoSuchFieldLevelEncryptionConfig$Message": null, "NoSuchFieldLevelEncryptionProfile$Message": null, + "NoSuchFunctionExists$Message": null, "NoSuchInvalidation$Message": null, "NoSuchOrigin$Message": null, "NoSuchOriginRequestPolicy$Message": null, @@ -2946,7 +3220,7 @@ "OriginGroupMember$OriginId": "

The ID for an origin in an origin group.

", "OriginRequestPolicy$Id": "

The unique identifier for the origin request policy.

", "OriginRequestPolicyAlreadyExists$Message": null, - "OriginRequestPolicyConfig$Comment": "

A comment to describe the origin request policy.

", + "OriginRequestPolicyConfig$Comment": "

A comment to describe the origin request policy. The comment cannot be longer than 128 characters.

", "OriginRequestPolicyConfig$Name": "

A unique name to identify the origin request policy.

", "OriginRequestPolicyInUse$Message": null, "OriginRequestPolicyList$NextMarker": "

If there are more items in the list than are in this response, this element is present. It contains the value that you should use in the Marker field of a subsequent request to continue listing origin request policies where you left off.

", @@ -2957,14 +3231,16 @@ "PublicKeyConfig$CallerReference": "

A string included in the request to help make sure that the request can’t be replayed.

", "PublicKeyConfig$Name": "

A name to help identify the public key.

", "PublicKeyConfig$EncodedKey": "

The public key that you can use with signed URLs and signed cookies, or with field-level encryption.

", - "PublicKeyConfig$Comment": "

A comment to describe the public key.

", + "PublicKeyConfig$Comment": "

A comment to describe the public key. The comment cannot be longer than 128 characters.

", "PublicKeyIdList$member": null, "PublicKeyInUse$Message": null, "PublicKeyList$NextMarker": "

If there are more elements to be listed, this element is present and contains the value that you can use for the Marker request parameter to continue listing your public keys where you left off.

", "PublicKeySummary$Id": "

The identifier of the public key.

", "PublicKeySummary$Name": "

A name to help identify the public key.

", "PublicKeySummary$EncodedKey": "

The public key.

", - "PublicKeySummary$Comment": "

A comment to describe the public key.

", + "PublicKeySummary$Comment": "

A comment to describe the public key. The comment cannot be longer than 128 characters.

", + "PublishFunctionRequest$Name": "

The name of the function that you are publishing.

", + "PublishFunctionRequest$IfMatch": "

The current version (ETag value) of the function that you are publishing, which you can get using DescribeFunction.

", "QueryArgProfile$QueryArg": "

Query argument for field-level encryption query argument-profile mapping.

", "QueryArgProfile$ProfileId": "

ID of profile to use for field-level encryption query argument-profile mapping

", "QueryArgProfileEmpty$Message": null, @@ -2974,6 +3250,7 @@ "RealtimeLogConfig$Name": "

The unique name of this real-time log configuration.

", "RealtimeLogConfigAlreadyExists$Message": null, "RealtimeLogConfigInUse$Message": null, + "RealtimeLogConfigOwnerMismatch$Message": null, "RealtimeLogConfigs$Marker": "

This parameter indicates where this list of real-time log configurations begins. This list includes real-time log configurations that occur after the marker.

", "RealtimeLogConfigs$NextMarker": "

If there are more items in the list than are in this response, this element is present. It contains the value that you should use in the Marker field of a subsequent request to continue listing real-time log configurations where you left off.

", "ResourceInUse$Message": null, @@ -2998,6 +3275,12 @@ "StreamingDistributionSummary$Comment": "

The comment originally specified when this distribution was created.

", "StreamingLoggingConfig$Bucket": "

The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.

", "StreamingLoggingConfig$Prefix": "

An optional string that you want CloudFront to prefix to the access log filenames for this streaming distribution, for example, myprefix/. If you want to enable logging, but you don't want to specify a prefix, you still must include an empty Prefix element in the Logging element.

", + "TestFunctionFailed$Message": null, + "TestFunctionRequest$Name": "

The name of the function that you are testing.

", + "TestFunctionRequest$IfMatch": "

The current version (ETag value) of the function that you are testing, which you can get using DescribeFunction.

", + "TestResult$ComputeUtilization": "

The amount of time that the function took to run as a percentage of the maximum allowed time. For example, a compute utilization of 35 means that the function completed in 35% of the maximum allowed time.

", + "TestResult$FunctionErrorMessage": "

If the result of testing the function was an error, this field contains the error message.

", + "TestResult$FunctionOutput": "

The event object returned by the function. For more information about the structure of the event object, see Event object structure in the Amazon CloudFront Developer Guide.

", "TooManyCacheBehaviors$Message": null, "TooManyCachePolicies$Message": null, "TooManyCertificates$Message": null, @@ -3011,6 +3294,7 @@ "TooManyDistributionsAssociatedToFieldLevelEncryptionConfig$Message": null, "TooManyDistributionsAssociatedToKeyGroup$Message": null, "TooManyDistributionsAssociatedToOriginRequestPolicy$Message": null, + "TooManyDistributionsWithFunctionAssociations$Message": null, "TooManyDistributionsWithLambdaAssociations$Message": null, "TooManyDistributionsWithSingleFunctionARN$Message": null, "TooManyFieldLevelEncryptionConfigs$Message": null, @@ -3019,6 +3303,8 @@ "TooManyFieldLevelEncryptionFieldPatterns$Message": null, "TooManyFieldLevelEncryptionProfiles$Message": null, "TooManyFieldLevelEncryptionQueryArgProfiles$Message": null, + "TooManyFunctionAssociations$Message": null, + "TooManyFunctions$Message": null, "TooManyHeadersInCachePolicy$Message": null, "TooManyHeadersInForwardedValues$Message": null, "TooManyHeadersInOriginRequestPolicy$Message": null, @@ -3042,6 +3328,7 @@ "TrustedKeyGroupDoesNotExist$Message": null, "TrustedKeyGroupIdList$member": null, "TrustedSignerDoesNotExist$Message": null, + "UnsupportedOperation$Message": null, "UpdateCachePolicyRequest$Id": "

The unique identifier for the cache policy that you are updating. The identifier is returned in a cache behavior’s CachePolicyId field in the response to GetDistributionConfig.

", "UpdateCachePolicyRequest$IfMatch": "

The version of the cache policy that you are updating. The version is returned in the cache policy’s ETag field in the response to GetCachePolicyConfig.

", "UpdateCachePolicyResult$ETag": "

The current version of the cache policy.

", @@ -3057,6 +3344,9 @@ "UpdateFieldLevelEncryptionProfileRequest$Id": "

The ID of the field-level encryption profile request.

", "UpdateFieldLevelEncryptionProfileRequest$IfMatch": "

The value of the ETag header that you received when retrieving the profile identity to update. For example: E2QWRUHAPOMQZL.

", "UpdateFieldLevelEncryptionProfileResult$ETag": "

The result of the field-level encryption profile request.

", + "UpdateFunctionRequest$Name": "

The name of the function that you are updating.

", + "UpdateFunctionRequest$IfMatch": "

The current version (ETag value) of the function that you are updating, which you can get using DescribeFunction.

", + "UpdateFunctionResult$ETag": "

The version identifier for the current version of the CloudFront function.

", "UpdateKeyGroupRequest$Id": "

The identifier of the key group that you are updating.

", "UpdateKeyGroupRequest$IfMatch": "

The version of the key group that you are updating. The version is the key group’s ETag value.

", "UpdateKeyGroupResult$ETag": "

The identifier for this version of the key group.

", @@ -3086,6 +3376,8 @@ "FieldLevelEncryptionProfile$LastModifiedTime": "

The last time the field-level encryption profile was updated.

", "FieldLevelEncryptionProfileSummary$LastModifiedTime": "

The time when the the field-level encryption profile summary was last updated.

", "FieldLevelEncryptionSummary$LastModifiedTime": "

The last time that the summary of field-level encryption items was modified.

", + "FunctionMetadata$CreatedTime": "

The date and time when the function was created.

", + "FunctionMetadata$LastModifiedTime": "

The date and time when the function was most recently updated.

", "Invalidation$CreateTime": "

The date and time the invalidation request was first made.

", "InvalidationSummary$CreateTime": "

The time that an invalidation request was created.

", "KeyGroup$LastModifiedTime": "

The date and time when the key group was last modified.

", diff --git a/models/apis/customer-profiles/2020-08-15/api-2.json b/models/apis/customer-profiles/2020-08-15/api-2.json index 23200bc720..95b2806a67 100644 --- a/models/apis/customer-profiles/2020-08-15/api-2.json +++ b/models/apis/customer-profiles/2020-08-15/api-2.json @@ -189,6 +189,22 @@ {"shape":"InternalServerException"} ] }, + "GetMatches":{ + "name":"GetMatches", + "http":{ + "method":"GET", + "requestUri":"/domains/{DomainName}/matches" + }, + "input":{"shape":"GetMatchesRequest"}, + "output":{"shape":"GetMatchesResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + }, "GetProfileObjectType":{ "name":"GetProfileObjectType", "http":{ @@ -331,6 +347,21 @@ {"shape":"ResourceNotFoundException"} ] }, + "MergeProfiles":{ + "name":"MergeProfiles", + "http":{ + "method":"POST", + "requestUri":"/domains/{DomainName}/profiles/objects/merge" + }, + "input":{"shape":"MergeProfilesRequest"}, + "output":{"shape":"MergeProfilesResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + }, "PutIntegration":{ "name":"PutIntegration", "http":{ @@ -512,6 +543,11 @@ "PostalCode":{"shape":"string1To255"} } }, + "AttributeSourceIdMap":{ + "type":"map", + "key":{"shape":"string1To255"}, + "value":{"shape":"uuid"} + }, "Attributes":{ "type":"map", "key":{"shape":"string1To255"}, @@ -566,6 +602,7 @@ "DefaultExpirationDays":{"shape":"expirationDaysInteger"}, "DefaultEncryptionKey":{"shape":"encryptionKey"}, "DeadLetterQueueUrl":{"shape":"sqsQueueUrl"}, + "Matching":{"shape":"MatchingRequest"}, "Tags":{"shape":"TagMap"} } }, @@ -582,6 +619,7 @@ "DefaultExpirationDays":{"shape":"expirationDaysInteger"}, "DefaultEncryptionKey":{"shape":"encryptionKey"}, "DeadLetterQueueUrl":{"shape":"sqsQueueUrl"}, + "Matching":{"shape":"MatchingResponse"}, "CreatedAt":{"shape":"timestamp"}, "LastUpdatedAt":{"shape":"timestamp"}, "Tags":{"shape":"TagMap"} @@ -813,6 +851,32 @@ "type":"list", "member":{"shape":"name"} }, + "FieldSourceProfileIds":{ + "type":"structure", + "members":{ + "AccountNumber":{"shape":"uuid"}, + "AdditionalInformation":{"shape":"uuid"}, + "PartyType":{"shape":"uuid"}, + "BusinessName":{"shape":"uuid"}, + "FirstName":{"shape":"uuid"}, + "MiddleName":{"shape":"uuid"}, + "LastName":{"shape":"uuid"}, + "BirthDate":{"shape":"uuid"}, + "Gender":{"shape":"uuid"}, + "PhoneNumber":{"shape":"uuid"}, + "MobilePhoneNumber":{"shape":"uuid"}, + "HomePhoneNumber":{"shape":"uuid"}, + "BusinessPhoneNumber":{"shape":"uuid"}, + "EmailAddress":{"shape":"uuid"}, + "PersonalEmailAddress":{"shape":"uuid"}, + "BusinessEmailAddress":{"shape":"uuid"}, + "Address":{"shape":"uuid"}, + "ShippingAddress":{"shape":"uuid"}, + "MailingAddress":{"shape":"uuid"}, + "BillingAddress":{"shape":"uuid"}, + "Attributes":{"shape":"AttributeSourceIdMap"} + } + }, "FlowDefinition":{ "type":"structure", "required":[ @@ -873,6 +937,7 @@ "DefaultEncryptionKey":{"shape":"encryptionKey"}, "DeadLetterQueueUrl":{"shape":"sqsQueueUrl"}, "Stats":{"shape":"DomainStats"}, + "Matching":{"shape":"MatchingResponse"}, "CreatedAt":{"shape":"timestamp"}, "LastUpdatedAt":{"shape":"timestamp"}, "Tags":{"shape":"TagMap"} @@ -911,6 +976,36 @@ "Tags":{"shape":"TagMap"} } }, + "GetMatchesRequest":{ + "type":"structure", + "required":["DomainName"], + "members":{ + "NextToken":{ + "shape":"token", + "location":"querystring", + "locationName":"next-token" + }, + "MaxResults":{ + "shape":"maxSize100", + "location":"querystring", + "locationName":"max-results" + }, + "DomainName":{ + "shape":"name", + "location":"uri", + "locationName":"DomainName" + } + } + }, + "GetMatchesResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"token"}, + "MatchGenerationDate":{"shape":"timestamp"}, + "PotentialMatches":{"shape":"matchesNumber"}, + "Matches":{"shape":"MatchesList"} + } + }, "GetProfileObjectTypeRequest":{ "type":"structure", "required":[ @@ -1267,6 +1362,54 @@ "Object":{"shape":"Object"} } }, + "MatchItem":{ + "type":"structure", + "members":{ + "MatchId":{"shape":"string1To255"}, + "ProfileIds":{"shape":"ProfileIdList"} + } + }, + "MatchesList":{ + "type":"list", + "member":{"shape":"MatchItem"} + }, + "MatchingRequest":{ + "type":"structure", + "required":["Enabled"], + "members":{ + "Enabled":{"shape":"optionalBoolean"} + } + }, + "MatchingResponse":{ + "type":"structure", + "members":{ + "Enabled":{"shape":"optionalBoolean"} + } + }, + "MergeProfilesRequest":{ + "type":"structure", + "required":[ + "DomainName", + "MainProfileId", + "ProfileIdsToBeMerged" + ], + "members":{ + "DomainName":{ + "shape":"name", + "location":"uri", + "locationName":"DomainName" + }, + "MainProfileId":{"shape":"uuid"}, + "ProfileIdsToBeMerged":{"shape":"ProfileIdToBeMergedList"}, + "FieldSourceProfileIds":{"shape":"FieldSourceProfileIds"} + } + }, + "MergeProfilesResponse":{ + "type":"structure", + "members":{ + "Message":{"shape":"message"} + } + }, "Object":{ "type":"string", "max":512, @@ -1345,6 +1488,16 @@ "Attributes":{"shape":"Attributes"} } }, + "ProfileIdList":{ + "type":"list", + "member":{"shape":"uuid"} + }, + "ProfileIdToBeMergedList":{ + "type":"list", + "member":{"shape":"uuid"}, + "max":20, + "min":1 + }, "ProfileList":{ "type":"list", "member":{"shape":"Profile"} @@ -1867,6 +2020,7 @@ "DefaultExpirationDays":{"shape":"expirationDaysInteger"}, "DefaultEncryptionKey":{"shape":"encryptionKey"}, "DeadLetterQueueUrl":{"shape":"sqsQueueUrl"}, + "Matching":{"shape":"MatchingRequest"}, "Tags":{"shape":"TagMap"} } }, @@ -1882,6 +2036,7 @@ "DefaultExpirationDays":{"shape":"expirationDaysInteger"}, "DefaultEncryptionKey":{"shape":"encryptionKey"}, "DeadLetterQueueUrl":{"shape":"sqsQueueUrl"}, + "Matching":{"shape":"MatchingResponse"}, "CreatedAt":{"shape":"timestamp"}, "LastUpdatedAt":{"shape":"timestamp"}, "Tags":{"shape":"TagMap"} @@ -1968,12 +2123,17 @@ "min":1 }, "long":{"type":"long"}, + "matchesNumber":{ + "type":"integer", + "min":0 + }, "maxSize100":{ "type":"integer", "max":100, "min":1 }, "message":{"type":"string"}, + "optionalBoolean":{"type":"boolean"}, "requestValueList":{ "type":"list", "member":{"shape":"string1To255"} diff --git a/models/apis/customer-profiles/2020-08-15/docs-2.json b/models/apis/customer-profiles/2020-08-15/docs-2.json index 4deb504d8f..d7f7fe65c2 100644 --- a/models/apis/customer-profiles/2020-08-15/docs-2.json +++ b/models/apis/customer-profiles/2020-08-15/docs-2.json @@ -13,6 +13,7 @@ "DeleteProfileObjectType": "

Removes a ProfileObjectType from a specific domain as well as removes all the ProfileObjects of that type. It also disables integrations from this specific ProfileObjectType. In addition, it scrubs all of the fields of the standard profile that were populated from this ProfileObjectType.

", "GetDomain": "

Returns information about a specific domain.

", "GetIntegration": "

Returns an integration for a domain.

", + "GetMatches": "

This API is in preview release for Amazon Connect and subject to change.

Before calling this API, use CreateDomain or UpdateDomain to enable identity resolution: set Matching to true.

GetMatches returns potentially matching profiles, based on the results of the latest run of a machine learning process.

Amazon Connect runs a batch process every Saturday at 12AM UTC to identify matching profiles. The results are returned up to seven days after the Saturday run.

Amazon Connect uses the following profile attributes to identify matches:

", "GetProfileObjectType": "

Returns the object types for a specific domain.

", "GetProfileObjectTypeTemplate": "

Returns the template information for a specific object type.

A template is a predefined ProfileObjectType, such as “Salesforce-Account” or “Salesforce-Contact.” When a user sends a ProfileObject, using the PutProfileObject API, with an ObjectTypeName that matches one of the TemplateIds, it uses the mappings from the template.

", "ListAccountIntegrations": "

Lists all of the integrations associated to a specific URI in the AWS account.

", @@ -22,13 +23,14 @@ "ListProfileObjectTypes": "

Lists all of the templates available within the service.

", "ListProfileObjects": "

Returns a list of objects associated with a profile of a given ProfileObjectType.

", "ListTagsForResource": "

Displays the tags associated with an Amazon Connect Customer Profiles resource. In Connect Customer Profiles, domains, profile object types, and integrations can be tagged.

", + "MergeProfiles": "

This API is in preview release for Amazon Connect and subject to change.

Runs an AWS Lambda job that does the following:

  1. All the profileKeys in the ProfileToBeMerged will be moved to the main profile.

  2. All the objects in the ProfileToBeMerged will be moved to the main profile.

  3. All the ProfileToBeMerged will be deleted at the end.

  4. All the profileKeys in the ProfileIdsToBeMerged will be moved to the main profile.

  5. Standard fields are merged as follows:

    1. Fields are always \"union\"-ed if there are no conflicts in standard fields or attributeKeys.

    2. When there are conflicting fields:

      1. If no SourceProfileIds entry is specified, the main Profile value is always taken.

      2. If a SourceProfileIds entry is specified, the specified profileId is always taken, even if it is a NULL value.

You can use MergeProfiles together with GetMatches, which returns potentially matching profiles, or use it with the results of another matching system. After profiles have been merged, they cannot be separated (unmerged).

", "PutIntegration": "

Adds an integration between the service and a third-party service, which includes Amazon AppFlow and Amazon Connect.

An integration can belong to only one domain.

", "PutProfileObject": "

Adds additional objects to customer profiles of a given ObjectType.

When adding a specific profile object, like a Contact Trace Record (CTR), an inferred profile can get created if it is not mapped to an existing profile. The resulting profile will only have a phone number populated in the standard ProfileObject. Any additional CTRs with the same phone number will be mapped to the same inferred profile.

When a ProfileObject is created and if a ProfileObjectType already exists for the ProfileObject, it will provide data to a standard profile depending on the ProfileObjectType definition.

PutProfileObject needs an ObjectType, which can be created using PutProfileObjectType.

", "PutProfileObjectType": "

Defines a ProfileObjectType.

", "SearchProfiles": "

Searches for profiles within a specific domain name using name, phone number, email address, account number, or a custom defined index.

", "TagResource": "

Assigns one or more tags (key-value pairs) to the specified Amazon Connect Customer Profiles resource. Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values. In Connect Customer Profiles, domains, profile object types, and integrations can be tagged.

Tags don't have any semantic meaning to AWS and are interpreted strictly as strings of characters.

You can use the TagResource action with a resource that already has tags. If you specify a new tag key, this tag is appended to the list of tags associated with the resource. If you specify a tag key that is already associated with the resource, the new tag value that you specify replaces the previous value for that tag.

You can associate as many as 50 tags with a resource.

", "UntagResource": "

Removes one or more tags from the specified Amazon Connect Customer Profiles resource. In Connect Customer Profiles, domains, profile object types, and integrations can be tagged.

", - "UpdateDomain": "

Updates the properties of a domain, including creating or selecting a dead letter queue or an encryption key.

Once a domain is created, the name can’t be changed.

", + "UpdateDomain": "

Updates the properties of a domain, including creating or selecting a dead letter queue or an encryption key.

After a domain is created, the name can’t be changed.

", "UpdateProfile": "

Updates the properties of a profile. The ProfileId is required for updating a customer profile.

When calling the UpdateProfile API, specifying an empty string value means that any existing value will be removed. Not specifying a string value means that any value already there will be kept.

" }, "shapes": { @@ -50,10 +52,11 @@ "DeleteProfileRequest$DomainName": "

The unique name of the domain.

", "FieldMap$key": null, "FieldNameList$member": null, - "GetDomainRequest$DomainName": "

A unique name for the domain.

", + "GetDomainRequest$DomainName": "

The unique name of the domain.

", "GetDomainResponse$DomainName": "

The unique name of the domain.

", "GetIntegrationRequest$DomainName": "

The unique name of the domain.

", "GetIntegrationResponse$DomainName": "

The unique name of the domain.

", + "GetMatchesRequest$DomainName": "

The unique name of the domain.

", "GetProfileObjectTypeRequest$DomainName": "

The unique name of the domain.

", "GetProfileObjectTypeResponse$TemplateId": "

A unique identifier for the object template.

", "GetProfileObjectTypeTemplateRequest$TemplateId": "

A unique identifier for the object template.

", @@ -69,6 +72,7 @@ "ListProfileObjectTypeTemplateItem$SourceObject": "

The source of the object template.

", "ListProfileObjectTypesRequest$DomainName": "

The unique name of the domain.

", "ListProfileObjectsRequest$DomainName": "

The unique name of the domain.

", + "MergeProfilesRequest$DomainName": "

The unique name of the domain.

", "PutIntegrationRequest$DomainName": "

The unique name of the domain.

", "PutIntegrationResponse$DomainName": "

The unique name of the domain.

", "PutProfileObjectRequest$DomainName": "

The unique name of the domain.

", @@ -77,8 +81,8 @@ "PutProfileObjectTypeResponse$TemplateId": "

A unique identifier for the object template.

", "SearchProfilesRequest$DomainName": "

The unique name of the domain.

", "SearchProfilesRequest$KeyName": "

A searchable identifier of a customer profile. The predefined keys you can use to search include: _account, _profileId, _fullName, _phone, _email, _ctrContactId, _marketoLeadId, _salesforceAccountId, _salesforceContactId, _zendeskUserId, _zendeskExternalId, _serviceNowSystemId.

", - "UpdateDomainRequest$DomainName": "

The unique name for the domain.

", - "UpdateDomainResponse$DomainName": "

The unique name for the domain.

", + "UpdateDomainRequest$DomainName": "

The unique name of the domain.

", + "UpdateDomainResponse$DomainName": "

The unique name of the domain.

", "UpdateProfileRequest$DomainName": "

The unique name of the domain.

" } }, @@ -110,6 +114,12 @@ "Profile$BillingAddress": "

The customer’s billing address.

" } }, + "AttributeSourceIdMap": { + "base": null, + "refs": { + "FieldSourceProfileIds$Attributes": "

A unique identifier for the attributes field to be merged.

" + } + }, "Attributes": { "base": null, "refs": { @@ -285,6 +295,12 @@ "ObjectTypeKey$FieldNames": "

The reference for the key name of the fields map.

" } }, + "FieldSourceProfileIds": { + "base": "

A duplicate customer profile that is to be merged into a main profile.

", + "refs": { + "MergeProfilesRequest$FieldSourceProfileIds": "

The identifiers of the fields in the profile that has the information you want to apply to the merge. For example, say you want to merge EmailAddress from Profile1 into MainProfile. This would be the identifier of the EmailAddress field in Profile1.

" + } + }, "FlowDefinition": { "base": "

The configurations that control how Customer Profiles retrieves data from the source, Amazon AppFlow. Customer Profiles uses this information to create an AppFlow flow on behalf of customers.

", "refs": { @@ -306,9 +322,9 @@ "Gender": { "base": null, "refs": { - "CreateProfileRequest$Gender": "

The gender with which the customer identifies.

", - "Profile$Gender": "

The gender with which the customer identifies.

", - "UpdateProfileRequest$Gender": "

The gender with which the customer identifies.

" + "CreateProfileRequest$Gender": "

The gender with which the customer identifies.

", + "Profile$Gender": "

The gender with which the customer identifies.

", + "UpdateProfileRequest$Gender": "

The gender with which the customer identifies.

" } }, "GetDomainRequest": { @@ -331,6 +347,16 @@ "refs": { } }, + "GetMatchesRequest": { + "base": null, + "refs": { + } + }, + "GetMatchesResponse": { + "base": null, + "refs": { + } + }, "GetProfileObjectTypeRequest": { "base": null, "refs": { @@ -496,6 +522,43 @@ "SourceConnectorProperties$Marketo": "

The properties that are applied when Marketo is being used as a source.

" } }, + "MatchItem": { + "base": "

The Match group object.

", + "refs": { + "MatchesList$member": null + } + }, + "MatchesList": { + "base": null, + "refs": { + "GetMatchesResponse$Matches": "

The list of matched profiles for this instance.

" + } + }, + "MatchingRequest": { + "base": "

The flag that enables the matching process of duplicate profiles.

", + "refs": { + "CreateDomainRequest$Matching": "

The process of matching duplicate profiles. This process runs every Saturday at 12AM.

", + "UpdateDomainRequest$Matching": "

The process of matching duplicate profiles. This process runs every Saturday at 12AM.

" + } + }, + "MatchingResponse": { + "base": "

The flag that enables the matching process of duplicate profiles.

", + "refs": { + "CreateDomainResponse$Matching": "

The process of matching duplicate profiles. This process runs every Saturday at 12AM.

", + "GetDomainResponse$Matching": "

The process of matching duplicate profiles. This process runs every Saturday at 12AM.

", + "UpdateDomainResponse$Matching": "

The process of matching duplicate profiles. This process runs every Saturday at 12AM.

" + } + }, + "MergeProfilesRequest": { + "base": null, + "refs": { + } + }, + "MergeProfilesResponse": { + "base": null, + "refs": { + } + }, "Object": { "base": null, "refs": { @@ -543,6 +606,18 @@ "ProfileList$member": null } }, + "ProfileIdList": { + "base": null, + "refs": { + "MatchItem$ProfileIds": "

A list of identifiers for profiles that match.

" + } + }, + "ProfileIdToBeMergedList": { + "base": null, + "refs": { + "MergeProfilesRequest$ProfileIdsToBeMerged": "

The identifier of the profile to be merged into MainProfileId.

" + } + }, "ProfileList": { "base": null, "refs": { @@ -922,9 +997,16 @@ "DomainStats$TotalSize": "

The total size, in bytes, of all objects in the domain.

" } }, + "matchesNumber": { + "base": null, + "refs": { + "GetMatchesResponse$PotentialMatches": "

The number of potential matches found.

" + } + }, "maxSize100": { "base": null, "refs": { + "GetMatchesRequest$MaxResults": "

The maximum number of results to return per page.

", "ListAccountIntegrationsRequest$MaxResults": "

The maximum number of objects returned per page.

", "ListDomainsRequest$MaxResults": "

The maximum number of objects returned per page.

", "ListIntegrationsRequest$MaxResults": "

The maximum number of objects returned per page.

", @@ -946,10 +1028,18 @@ "DeleteProfileObjectTypeResponse$Message": "

A message that indicates the delete request is done.

", "DeleteProfileResponse$Message": "

A message that indicates the delete request is done.

", "InternalServerException$Message": null, + "MergeProfilesResponse$Message": "

A message that indicates the merge request is complete.

", "ResourceNotFoundException$Message": null, "ThrottlingException$Message": null } }, + "optionalBoolean": { + "base": null, + "refs": { + "MatchingRequest$Enabled": "

The flag that enables the matching process of duplicate profiles.

", + "MatchingResponse$Enabled": "

The flag that enables the matching process of duplicate profiles.

" + } + }, "requestValueList": { "base": null, "refs": { @@ -972,7 +1062,7 @@ "string0To1000": { "base": null, "refs": { - "UpdateProfileRequest$AdditionalInformation": "

Any additional information relevant to the customer's profile.

" + "UpdateProfileRequest$AdditionalInformation": "

Any additional information relevant to the customer’s profile.

" } }, "string0To255": { @@ -994,12 +1084,12 @@ "UpdateProfileRequest$FirstName": "

The customer’s first name.

", "UpdateProfileRequest$MiddleName": "

The customer’s middle name.

", "UpdateProfileRequest$LastName": "

The customer’s last name.

", - "UpdateProfileRequest$BirthDate": "

The customer’s birth date.

", - "UpdateProfileRequest$PhoneNumber": "

The customer's phone number, which has not been specified as a mobile, home, or business number.

", + "UpdateProfileRequest$BirthDate": "

The customer’s birth date.

", + "UpdateProfileRequest$PhoneNumber": "

The customer’s phone number, which has not been specified as a mobile, home, or business number.

", "UpdateProfileRequest$MobilePhoneNumber": "

The customer’s mobile phone number.

", "UpdateProfileRequest$HomePhoneNumber": "

The customer’s home phone number.

", "UpdateProfileRequest$BusinessPhoneNumber": "

The customer’s business phone number.

", - "UpdateProfileRequest$EmailAddress": "

The customer's email address, which has not been specified as a personal or business address.

", + "UpdateProfileRequest$EmailAddress": "

The customer’s email address, which has not been specified as a personal or business address.

", "UpdateProfileRequest$PersonalEmailAddress": "

The customer’s personal email address.

", "UpdateProfileRequest$BusinessEmailAddress": "

The customer’s business email address.

" } @@ -1007,8 +1097,8 @@ "string1To1000": { "base": null, "refs": { - "CreateProfileRequest$AdditionalInformation": "

Any additional information relevant to the customer's profile.

", - "Profile$AdditionalInformation": "

Any additional information relevant to the customer's profile.

" + "CreateProfileRequest$AdditionalInformation": "

Any additional information relevant to the customer’s profile.

", + "Profile$AdditionalInformation": "

Any additional information relevant to the customer’s profile.

" } }, "string1To255": { @@ -1024,6 +1114,7 @@ "Address$Province": "

The province in which a customer lives.

", "Address$Country": "

The country in which a customer lives.

", "Address$PostalCode": "

The postal code of a customer address.

", + "AttributeSourceIdMap$key": null, "Attributes$key": null, "Attributes$value": null, "CreateProfileRequest$AccountNumber": "

A unique account number that you have given to the customer.

", @@ -1031,12 +1122,12 @@ "CreateProfileRequest$FirstName": "

The customer’s first name.

", "CreateProfileRequest$MiddleName": "

The customer’s middle name.

", "CreateProfileRequest$LastName": "

The customer’s last name.

", - "CreateProfileRequest$BirthDate": "

The customer’s birth date.

", - "CreateProfileRequest$PhoneNumber": "

The customer's phone number, which has not been specified as a mobile, home, or business number.

", + "CreateProfileRequest$BirthDate": "

The customer’s birth date.

", + "CreateProfileRequest$PhoneNumber": "

The customer’s phone number, which has not been specified as a mobile, home, or business number.

", "CreateProfileRequest$MobilePhoneNumber": "

The customer’s mobile phone number.

", "CreateProfileRequest$HomePhoneNumber": "

The customer’s home phone number.

", "CreateProfileRequest$BusinessPhoneNumber": "

The customer’s business phone number.

", - "CreateProfileRequest$EmailAddress": "

The customer's email address, which has not been specified as a personal or business address.

", + "CreateProfileRequest$EmailAddress": "

The customer’s email address, which has not been specified as a personal or business address.

", "CreateProfileRequest$PersonalEmailAddress": "

The customer’s personal email address.

", "CreateProfileRequest$BusinessEmailAddress": "

The customer’s business email address.

", "DeleteIntegrationRequest$Uri": "

The URI of the S3 bucket or any other type of data source.

", @@ -1046,17 +1137,18 @@ "ListAccountIntegrationsRequest$Uri": "

The URI of the S3 bucket or any other type of data source.

", "ListIntegrationItem$Uri": "

The URI of the S3 bucket or any other type of data source.

", "ListProfileObjectsItem$ProfileObjectUniqueKey": "

The unique identifier of the ProfileObject generated by the service.

", + "MatchItem$MatchId": "

The unique identifiers for this group of profiles that match.

", "Profile$AccountNumber": "

A unique account number that you have given to the customer.

", "Profile$BusinessName": "

The name of the customer’s business.

", "Profile$FirstName": "

The customer’s first name.

", "Profile$MiddleName": "

The customer’s middle name.

", "Profile$LastName": "

The customer’s last name.

", - "Profile$BirthDate": "

The customer’s birth date.

", + "Profile$BirthDate": "

The customer’s birth date.

", "Profile$PhoneNumber": "

The customer's phone number, which has not been specified as a mobile, home, or business number.

", "Profile$MobilePhoneNumber": "

The customer’s mobile phone number.

", "Profile$HomePhoneNumber": "

The customer’s home phone number.

", "Profile$BusinessPhoneNumber": "

The customer’s home phone number.

", - "Profile$EmailAddress": "

The customer's email address, which has not been specified as a personal or business address.

", + "Profile$EmailAddress": "

The customer’s email address, which has not been specified as a personal or business address.

", "Profile$PersonalEmailAddress": "

The customer’s personal email address.

", "Profile$BusinessEmailAddress": "

The customer’s business email address.

", "PutIntegrationRequest$Uri": "

The URI of the S3 bucket or any other type of data source.

", @@ -1099,6 +1191,7 @@ "GetDomainResponse$LastUpdatedAt": "

The timestamp of when the domain was most recently edited.

", "GetIntegrationResponse$CreatedAt": "

The timestamp of when the domain was created.

", "GetIntegrationResponse$LastUpdatedAt": "

The timestamp of when the domain was most recently edited.

", + "GetMatchesResponse$MatchGenerationDate": "

The timestamp this version of Match Result generated.

", "GetProfileObjectTypeResponse$CreatedAt": "

The timestamp of when the domain was created.

", "GetProfileObjectTypeResponse$LastUpdatedAt": "

The timestamp of when the domain was most recently edited.

", "ListDomainItem$CreatedAt": "

The timestamp of when the domain was created.

", @@ -1118,6 +1211,8 @@ "token": { "base": null, "refs": { + "GetMatchesRequest$NextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", + "GetMatchesResponse$NextToken": "

If there are additional results, this is the token for the next set of results.

", "ListAccountIntegrationsRequest$NextToken": "

The pagination token from the previous ListAccountIntegrations API call.

", "ListAccountIntegrationsResponse$NextToken": "

The pagination token from the previous ListAccountIntegrations API call.

", "ListDomainsRequest$NextToken": "

The pagination token from the previous ListDomain API call.

", @@ -1157,12 +1252,36 @@ "base": null, "refs": { "AddProfileKeyRequest$ProfileId": "

The unique identifier of a customer profile.

", + "AttributeSourceIdMap$value": null, "CreateProfileResponse$ProfileId": "

The unique identifier of a customer profile.

", "DeleteProfileKeyRequest$ProfileId": "

The unique identifier of a customer profile.

", "DeleteProfileObjectRequest$ProfileId": "

The unique identifier of a customer profile.

", "DeleteProfileRequest$ProfileId": "

The unique identifier of a customer profile.

", + "FieldSourceProfileIds$AccountNumber": "

A unique identifier for the account number field to be merged.

", + "FieldSourceProfileIds$AdditionalInformation": "

A unique identifier for the additional information field to be merged.

", + "FieldSourceProfileIds$PartyType": "

A unique identifier for the party type field to be merged.

", + "FieldSourceProfileIds$BusinessName": "

A unique identifier for the business name field to be merged.

", + "FieldSourceProfileIds$FirstName": "

A unique identifier for the first name field to be merged.

", + "FieldSourceProfileIds$MiddleName": "

A unique identifier for the middle name field to be merged.

", + "FieldSourceProfileIds$LastName": "

A unique identifier for the last name field to be merged.

", + "FieldSourceProfileIds$BirthDate": "

A unique identifier for the birthdate field to be merged.

", + "FieldSourceProfileIds$Gender": "

A unique identifier for the gender field to be merged.

", + "FieldSourceProfileIds$PhoneNumber": "

A unique identifier for the phone number field to be merged.

", + "FieldSourceProfileIds$MobilePhoneNumber": "

A unique identifier for the mobile phone number field to be merged.

", + "FieldSourceProfileIds$HomePhoneNumber": "

A unique identifier for the home phone number field to be merged.

", + "FieldSourceProfileIds$BusinessPhoneNumber": "

A unique identifier for the business phone number field to be merged.

", + "FieldSourceProfileIds$EmailAddress": "

A unique identifier for the email address field to be merged.

", + "FieldSourceProfileIds$PersonalEmailAddress": "

A unique identifier for the personal email address field to be merged.

", + "FieldSourceProfileIds$BusinessEmailAddress": "

A unique identifier for the party type field to be merged.

", + "FieldSourceProfileIds$Address": "

A unique identifier for the party type field to be merged.

", + "FieldSourceProfileIds$ShippingAddress": "

A unique identifier for the shipping address field to be merged.

", + "FieldSourceProfileIds$MailingAddress": "

A unique identifier for the mailing address field to be merged.

", + "FieldSourceProfileIds$BillingAddress": "

A unique identifier for the billing type field to be merged.

", "ListProfileObjectsRequest$ProfileId": "

The unique identifier of a customer profile.

", + "MergeProfilesRequest$MainProfileId": "

The identifier of the profile to be taken.

", "Profile$ProfileId": "

The unique identifier of a customer profile.

", + "ProfileIdList$member": null, + "ProfileIdToBeMergedList$member": null, "UpdateProfileRequest$ProfileId": "

The unique identifier of a customer profile.

", "UpdateProfileResponse$ProfileId": "

The unique identifier of a customer profile.

" } diff --git a/models/apis/forecast/2018-06-26/api-2.json b/models/apis/forecast/2018-06-26/api-2.json index 2c24260e01..253b25999d 100644 --- a/models/apis/forecast/2018-06-26/api-2.json +++ b/models/apis/forecast/2018-06-26/api-2.json @@ -221,6 +221,20 @@ ], "idempotent":true }, + "DeleteResourceTree":{ + "name":"DeleteResourceTree", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteResourceTreeRequest"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "idempotent":true + }, "DescribeDataset":{ "name":"DescribeDataset", "http":{ @@ -829,6 +843,13 @@ "PredictorArn":{"shape":"Arn"} } }, + "DeleteResourceTreeRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{"shape":"Arn"} + } + }, "DescribeDatasetGroupRequest":{ "type":"structure", "required":["DatasetGroupArn"], diff --git a/models/apis/forecast/2018-06-26/docs-2.json b/models/apis/forecast/2018-06-26/docs-2.json index 324de6e325..9a8107d5eb 100644 --- a/models/apis/forecast/2018-06-26/docs-2.json +++ b/models/apis/forecast/2018-06-26/docs-2.json @@ -16,6 +16,7 @@ "DeleteForecastExportJob": "

Deletes a forecast export job created using the CreateForecastExportJob operation. You can delete only export jobs that have a status of ACTIVE or CREATE_FAILED. To get the status, use the DescribeForecastExportJob operation.

", "DeletePredictor": "

Deletes a predictor created using the CreatePredictor operation. You can delete only predictor that have a status of ACTIVE or CREATE_FAILED. To get the status, use the DescribePredictor operation.

", "DeletePredictorBacktestExportJob": "

Deletes a predictor backtest export job.

", + "DeleteResourceTree": "

Deletes an entire resource tree. This operation will delete the parent resource and its child resources.

Child resources are resources that were created from another resource. For example, when a forecast is generated from a predictor, the forecast is the child resource and the predictor is the parent resource.

Amazon Forecast resources possess the following parent-child resource hierarchies:

DeleteResourceTree will only delete Amazon Forecast resources, and will not delete datasets or exported files stored in Amazon S3.

", "DescribeDataset": "

Describes an Amazon Forecast dataset created using the CreateDataset operation.

In addition to listing the parameters specified in the CreateDataset request, this operation includes the following dataset properties:

", "DescribeDatasetGroup": "

Describes a dataset group created using the CreateDatasetGroup operation.

In addition to listing the parameters provided in the CreateDatasetGroup request, this operation includes the following properties:

", "DescribeDatasetImportJob": "

Describes a dataset import job created using the CreateDatasetImportJob operation.

In addition to listing the parameters provided in the CreateDatasetImportJob request, this operation includes the following properties:

", @@ -64,6 +65,7 @@ "DeleteForecastRequest$ForecastArn": "

The Amazon Resource Name (ARN) of the forecast to delete.

", "DeletePredictorBacktestExportJobRequest$PredictorBacktestExportJobArn": "

The Amazon Resource Name (ARN) of the predictor backtest export job to delete.

", "DeletePredictorRequest$PredictorArn": "

The Amazon Resource Name (ARN) of the predictor to delete.

", + "DeleteResourceTreeRequest$ResourceArn": "

The Amazon Resource Name (ARN) of the parent resource to delete. All child resources of the parent resource will also be deleted.

", "DescribeDatasetGroupRequest$DatasetGroupArn": "

The Amazon Resource Name (ARN) of the dataset group.

", "DescribeDatasetGroupResponse$DatasetGroupArn": "

The ARN of the dataset group.

", "DescribeDatasetImportJobRequest$DatasetImportJobArn": "

The Amazon Resource Name (ARN) of the dataset import job.

", @@ -319,6 +321,11 @@ "refs": { } }, + "DeleteResourceTreeRequest": { + "base": null, + "refs": { + } + }, "DescribeDatasetGroupRequest": { "base": null, "refs": { @@ -761,9 +768,9 @@ "Long": { "base": null, "refs": { - "DescribeDatasetImportJobResponse$EstimatedTimeRemainingInMinutes": "

The estimated time in minutes for the dataset import job to complete.

", - "DescribeForecastResponse$EstimatedTimeRemainingInMinutes": "

The estimated time in minutes for the forecast job to complete.

", - "DescribePredictorResponse$EstimatedTimeRemainingInMinutes": "

The estimated time in minutes for the predictor training job to complete.

" + "DescribeDatasetImportJobResponse$EstimatedTimeRemainingInMinutes": "

The estimated time remaining in minutes for the dataset import job to complete.

", + "DescribeForecastResponse$EstimatedTimeRemainingInMinutes": "

The estimated time remaining in minutes for the forecast job to complete.

", + "DescribePredictorResponse$EstimatedTimeRemainingInMinutes": "

The estimated time remaining in minutes for the predictor training job to complete.

" } }, "MaxResults": { diff --git a/models/apis/marketplace-catalog/2018-09-17/api-2.json b/models/apis/marketplace-catalog/2018-09-17/api-2.json index 42b1497b2c..b9fe8a5528 100644 --- a/models/apis/marketplace-catalog/2018-09-17/api-2.json +++ b/models/apis/marketplace-catalog/2018-09-17/api-2.json @@ -123,7 +123,7 @@ "AccessDeniedException":{ "type":"structure", "members":{ - "Message":{"shape":"StringValue"} + "Message":{"shape":"ExceptionMessageContent"} }, "error":{"httpStatusCode":403}, "exception":true, @@ -171,9 +171,16 @@ "members":{ "ChangeType":{"shape":"ChangeType"}, "Entity":{"shape":"Entity"}, - "Details":{"shape":"Json"} + "Details":{"shape":"Json"}, + "ChangeName":{"shape":"ChangeName"} } }, + "ChangeName":{ + "type":"string", + "max":72, + "min":1, + "pattern":"^[a-zA-Z]$" + }, "ChangeSetDescription":{ "type":"list", "member":{"shape":"ChangeSummary"} @@ -217,7 +224,8 @@ "ChangeType":{"shape":"ChangeType"}, "Entity":{"shape":"Entity"}, "Details":{"shape":"Json"}, - "ErrorDetailList":{"shape":"ErrorDetailList"} + "ErrorDetailList":{"shape":"ErrorDetailList"}, + "ChangeName":{"shape":"ChangeName"} } }, "ChangeType":{ @@ -267,7 +275,7 @@ "EndTime":{"shape":"DateTimeISO8601"}, "Status":{"shape":"ChangeStatus"}, "FailureCode":{"shape":"FailureCode"}, - "FailureDescription":{"shape":"StringValue"}, + "FailureDescription":{"shape":"ExceptionMessageContent"}, "ChangeSet":{"shape":"ChangeSetDescription"} } }, @@ -296,7 +304,7 @@ "EntityType":{"shape":"EntityType"}, "EntityIdentifier":{"shape":"Identifier"}, "EntityArn":{"shape":"ARN"}, - "LastModifiedDate":{"shape":"StringValue"}, + "LastModifiedDate":{"shape":"DateTimeISO8601"}, "Details":{"shape":"Json"} } }, @@ -308,15 +316,21 @@ "Identifier":{"shape":"Identifier"} } }, + "EntityNameString":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^\\\\S+[\\\\S\\\\s]*" + }, "EntitySummary":{ "type":"structure", "members":{ - "Name":{"shape":"StringValue"}, + "Name":{"shape":"EntityNameString"}, "EntityType":{"shape":"EntityType"}, "EntityId":{"shape":"ResourceId"}, "EntityArn":{"shape":"ARN"}, - "LastModifiedDate":{"shape":"StringValue"}, - "Visibility":{"shape":"StringValue"} + "LastModifiedDate":{"shape":"DateTimeISO8601"}, + "Visibility":{"shape":"VisibilityValue"} } }, "EntitySummaryList":{ @@ -329,17 +343,29 @@ "min":1, "pattern":"^[a-zA-Z]+$" }, + "ErrorCodeString":{ + "type":"string", + "max":72, + "min":1, + "pattern":"^[a-zA-Z_]+$" + }, "ErrorDetail":{ "type":"structure", "members":{ - "ErrorCode":{"shape":"StringValue"}, - "ErrorMessage":{"shape":"StringValue"} + "ErrorCode":{"shape":"ErrorCodeString"}, + "ErrorMessage":{"shape":"ExceptionMessageContent"} } }, "ErrorDetailList":{ "type":"list", "member":{"shape":"ErrorDetail"} }, + "ExceptionMessageContent":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^(.)+$" + }, "FailureCode":{ "type":"string", "enum":[ @@ -366,6 +392,12 @@ "min":1, "pattern":"^[a-zA-Z]+$" }, + "FilterValueContent":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^(.)+$" + }, "Identifier":{ "type":"string", "max":255, @@ -375,7 +407,7 @@ "InternalServiceException":{ "type":"structure", "members":{ - "Message":{"shape":"StringValue"} + "Message":{"shape":"ExceptionMessageContent"} }, "error":{"httpStatusCode":500}, "exception":true, @@ -458,7 +490,7 @@ "ResourceInUseException":{ "type":"structure", "members":{ - "Message":{"shape":"StringValue"} + "Message":{"shape":"ExceptionMessageContent"} }, "error":{"httpStatusCode":423}, "exception":true, @@ -467,7 +499,7 @@ "ResourceNotFoundException":{ "type":"structure", "members":{ - "Message":{"shape":"StringValue"} + "Message":{"shape":"ExceptionMessageContent"} }, "error":{"httpStatusCode":404}, "exception":true, @@ -476,7 +508,7 @@ "ResourceNotSupportedException":{ "type":"structure", "members":{ - "Message":{"shape":"StringValue"} + "Message":{"shape":"ExceptionMessageContent"} }, "error":{"httpStatusCode":415}, "exception":true, @@ -485,7 +517,7 @@ "ServiceQuotaExceededException":{ "type":"structure", "members":{ - "Message":{"shape":"StringValue"} + "Message":{"shape":"ExceptionMessageContent"} }, "error":{"httpStatusCode":402}, "exception":true, @@ -531,11 +563,10 @@ "ChangeSetArn":{"shape":"ARN"} } }, - "StringValue":{"type":"string"}, "ThrottlingException":{ "type":"structure", "members":{ - "Message":{"shape":"StringValue"} + "Message":{"shape":"ExceptionMessageContent"} }, "error":{"httpStatusCode":429}, "exception":true, @@ -544,7 +575,7 @@ "ValidationException":{ "type":"structure", "members":{ - "Message":{"shape":"StringValue"} + "Message":{"shape":"ExceptionMessageContent"} }, "error":{"httpStatusCode":422}, "exception":true, @@ -552,9 +583,15 @@ }, "ValueList":{ "type":"list", - "member":{"shape":"StringValue"}, + "member":{"shape":"FilterValueContent"}, "max":10, "min":1 + }, + "VisibilityValue":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z]+$" } } } diff --git a/models/apis/marketplace-catalog/2018-09-17/docs-2.json b/models/apis/marketplace-catalog/2018-09-17/docs-2.json index d26b9e0507..69cb030899 100644 --- a/models/apis/marketplace-catalog/2018-09-17/docs-2.json +++ b/models/apis/marketplace-catalog/2018-09-17/docs-2.json @@ -7,7 +7,7 @@ "DescribeEntity": "

Returns the metadata and content of the entity.

", "ListChangeSets": "

Returns the list of change sets owned by the account being used to make the call. You can filter this list by providing any combination of entityId, ChangeSetName, and status. If you provide more than one filter, the API operation applies a logical AND between the filters.

You can describe a change during the 60-day request history retention period for API calls.

", "ListEntities": "

Provides the list of entities of a given type.

", - "StartChangeSet": "

This operation allows you to request changes for your entities. Within a single ChangeSet, you cannot start the same change type against the same entity multiple times. Additionally, when a ChangeSet is running, all the entities targeted by the different changes are locked until the ChangeSet has completed (either succeeded, cancelled, or failed). If you try to start a ChangeSet containing a change against an entity that is already locked, you will receive a ResourceInUseException.

For example, you cannot start the ChangeSet described in the example below because it contains two changes to execute the same change type (AddRevisions) against the same entity (entity-id@1).

" + "StartChangeSet": "

This operation allows you to request changes for your entities. Within a single ChangeSet, you cannot start the same change type against the same entity multiple times. Additionally, when a ChangeSet is running, all the entities targeted by the different changes are locked until the ChangeSet has completed (either succeeded, cancelled, or failed). If you try to start a ChangeSet containing a change against an entity that is already locked, you will receive a ResourceInUseException.

For example, you cannot start the ChangeSet described in the example later in this topic, because it contains two changes to execute the same change type (AddRevisions) against the same entity (entity-id@1).

For more information about working with change sets, see Working with change sets.

" }, "shapes": { "ARN": { @@ -53,6 +53,13 @@ "RequestedChangeList$member": null } }, + "ChangeName": { + "base": null, + "refs": { + "Change$ChangeName": "

Optional name for the change.

", + "ChangeSummary$ChangeName": "

Optional name for the change.

" + } + }, "ChangeSetDescription": { "base": null, "refs": { @@ -111,7 +118,9 @@ "ChangeSetSummaryListItem$StartTime": "

The time, in ISO 8601 format (2018-02-27T13:45:22Z), when the change set was started.

", "ChangeSetSummaryListItem$EndTime": "

The time, in ISO 8601 format (2018-02-27T13:45:22Z), when the change set was finished.

", "DescribeChangeSetResponse$StartTime": "

The date and time, in ISO 8601 format (2018-02-27T13:45:22Z), the request started.

", - "DescribeChangeSetResponse$EndTime": "

The date and time, in ISO 8601 format (2018-02-27T13:45:22Z), the request transitioned to a terminal state. The change cannot transition to a different state. Null if the request is not in a terminal state.

" + "DescribeChangeSetResponse$EndTime": "

The date and time, in ISO 8601 format (2018-02-27T13:45:22Z), the request transitioned to a terminal state. The change cannot transition to a different state. Null if the request is not in a terminal state.

", + "DescribeEntityResponse$LastModifiedDate": "

The last modified date of the entity, in ISO 8601 format (2018-02-27T13:45:22Z).

", + "EntitySummary$LastModifiedDate": "

The last time the entity was published, using ISO 8601 format (2018-02-27T13:45:22Z).

" } }, "DescribeChangeSetRequest": { @@ -135,12 +144,18 @@ } }, "Entity": { - "base": "

A product entity contains data that describes your product, its supported features, and how it can be used or launched by your customer.

", + "base": "

An entity contains data that describes your product, its supported features, and how it can be used or launched by your customer.

", "refs": { "Change$Entity": "

The entity to be changed.

", "ChangeSummary$Entity": "

The entity to be changed.

" } }, + "EntityNameString": { + "base": null, + "refs": { + "EntitySummary$Name": "

The name for the entity. This value is not unique. It is defined by the seller.

" + } + }, "EntitySummary": { "base": "

This object is a container for common summary information about the entity. The summary doesn't contain the whole entity structure, but it does contain information common across all entities.

", "refs": { @@ -162,6 +177,12 @@ "ListEntitiesRequest$EntityType": "

The type of entities to retrieve.

" } }, + "ErrorCodeString": { + "base": null, + "refs": { + "ErrorDetail$ErrorCode": "

The error code that identifies the type of error.

" + } + }, "ErrorDetail": { "base": "

Details about the error.

", "refs": { @@ -174,6 +195,21 @@ "ChangeSummary$ErrorDetailList": "

An array of ErrorDetail objects associated with the change.

" } }, + "ExceptionMessageContent": { + "base": null, + "refs": { + "AccessDeniedException$Message": null, + "DescribeChangeSetResponse$FailureDescription": "

Returned if there is a failure on the change set, but that failure is not related to any of the changes in the request.

", + "ErrorDetail$ErrorMessage": "

The message for the error.

", + "InternalServiceException$Message": null, + "ResourceInUseException$Message": null, + "ResourceNotFoundException$Message": null, + "ResourceNotSupportedException$Message": null, + "ServiceQuotaExceededException$Message": null, + "ThrottlingException$Message": null, + "ValidationException$Message": null + } + }, "FailureCode": { "base": null, "refs": { @@ -200,6 +236,12 @@ "Filter$Name": "

For ListEntities, the supported value for this is an EntityId.

For ListChangeSets, the supported values are as follows:

" } }, + "FilterValueContent": { + "base": null, + "refs": { + "ValueList$member": null + } + }, "Identifier": { "base": null, "refs": { @@ -331,27 +373,6 @@ "refs": { } }, - "StringValue": { - "base": null, - "refs": { - "AccessDeniedException$Message": null, - "DescribeChangeSetResponse$FailureDescription": "

Returned if there is a failure on the change set, but that failure is not related to any of the changes in the request.

", - "DescribeEntityResponse$LastModifiedDate": "

The last modified date of the entity, in ISO 8601 format (2018-02-27T13:45:22Z).

", - "EntitySummary$Name": "

The name for the entity. This value is not unique. It is defined by the seller.

", - "EntitySummary$LastModifiedDate": "

The last time the entity was published, using ISO 8601 format (2018-02-27T13:45:22Z).

", - "EntitySummary$Visibility": "

The visibility status of the entity to buyers. This value can be Public (everyone can view the entity), Limited (the entity is visible to limited accounts only), or Restricted (the entity was published and then unpublished and only existing buyers can view it).

", - "ErrorDetail$ErrorCode": "

The error code that identifies the type of error.

", - "ErrorDetail$ErrorMessage": "

The message for the error.

", - "InternalServiceException$Message": null, - "ResourceInUseException$Message": null, - "ResourceNotFoundException$Message": null, - "ResourceNotSupportedException$Message": null, - "ServiceQuotaExceededException$Message": null, - "ThrottlingException$Message": null, - "ValidationException$Message": null, - "ValueList$member": null - } - }, "ThrottlingException": { "base": "

Too many requests.

", "refs": { @@ -367,6 +388,12 @@ "refs": { "Filter$ValueList": "

ListEntities - This is a list of unique EntityIds.

ListChangeSets - The supported filter names and associated ValueLists is as follows:

" } + }, + "VisibilityValue": { + "base": null, + "refs": { + "EntitySummary$Visibility": "

The visibility status of the entity to buyers. This value can be Public (everyone can view the entity), Limited (the entity is visible to limited accounts only), or Restricted (the entity was published and then unpublished and only existing buyers can view it).

" + } } } } diff --git a/models/apis/personalize/2018-05-22/docs-2.json b/models/apis/personalize/2018-05-22/docs-2.json index 24a659a3f7..ed5a0ff74c 100644 --- a/models/apis/personalize/2018-05-22/docs-2.json +++ b/models/apis/personalize/2018-05-22/docs-2.json @@ -5,7 +5,7 @@ "CreateBatchInferenceJob": "

Creates a batch inference job. The operation can handle up to 50 million records and the input file must be in JSON format. For more information, see recommendations-batch.

", "CreateCampaign": "

Creates a campaign by deploying a solution version. When a client calls the GetRecommendations and GetPersonalizedRanking APIs, a campaign is specified in the request.

Minimum Provisioned TPS and Auto-Scaling

A transaction is a single GetRecommendations or GetPersonalizedRanking call. Transactions per second (TPS) is the throughput and unit of billing for Amazon Personalize. The minimum provisioned TPS (minProvisionedTPS) specifies the baseline throughput provisioned by Amazon Personalize, and thus, the minimum billing charge.

If your TPS increases beyond minProvisionedTPS, Amazon Personalize auto-scales the provisioned capacity up and down, but never below minProvisionedTPS. There's a short time delay while the capacity is increased that might cause loss of transactions.

The actual TPS used is calculated as the average requests/second within a 5-minute window. You pay for maximum of either the minimum provisioned TPS or the actual TPS. We recommend starting with a low minProvisionedTPS, track your usage using Amazon CloudWatch metrics, and then increase the minProvisionedTPS as necessary.

Status

A campaign can be in one of the following states:

To get the campaign status, call DescribeCampaign.

Wait until the status of the campaign is ACTIVE before asking the campaign for recommendations.

Related APIs

", "CreateDataset": "

Creates an empty dataset and adds it to the specified dataset group. Use CreateDatasetImportJob to import your training data to a dataset.

There are three types of datasets:

Each dataset type has an associated schema with required field types. Only the Interactions dataset is required in order to train a model (also referred to as creating a solution).

A dataset can be in one of the following states:

To get the status of the dataset, call DescribeDataset.

Related APIs

", - "CreateDatasetExportJob": "

Creates a job that exports data from your dataset to an Amazon S3 bucket. To allow Amazon Personalize to export the training data, you must specify an service-linked AWS Identity and Access Management (IAM) role that gives Amazon Personalize PutObject permissions for your Amazon S3 bucket. For information, see Dataset export job permissions requirements in the Amazon Personalize developer guide.

Status

A dataset export job can be in one of the following states:

To get the status of the export job, call DescribeDatasetExportJob, and specify the Amazon Resource Name (ARN) of the dataset export job. The dataset export is complete when the status shows as ACTIVE. If the status shows as CREATE FAILED, the response includes a failureReason key, which describes why the job failed.

", + "CreateDatasetExportJob": "

Creates a job that exports data from your dataset to an Amazon S3 bucket. To allow Amazon Personalize to export the training data, you must specify an service-linked AWS Identity and Access Management (IAM) role that gives Amazon Personalize PutObject permissions for your Amazon S3 bucket. For information, see Exporting a dataset in the Amazon Personalize developer guide.

Status

A dataset export job can be in one of the following states:

To get the status of the export job, call DescribeDatasetExportJob, and specify the Amazon Resource Name (ARN) of the dataset export job. The dataset export is complete when the status shows as ACTIVE. If the status shows as CREATE FAILED, the response includes a failureReason key, which describes why the job failed.

", "CreateDatasetGroup": "

Creates an empty dataset group. A dataset group contains related datasets that supply data for training a model. A dataset group can contain at most three datasets, one for each type of dataset:

To train a model (create a solution), a dataset group that contains an Interactions dataset is required. Call CreateDataset to add a dataset to the group.

A dataset group can be in one of the following states:

To get the status of the dataset group, call DescribeDatasetGroup. If the status shows as CREATE FAILED, the response includes a failureReason key, which describes why the creation failed.

You must wait until the status of the dataset group is ACTIVE before adding a dataset to the group.

You can specify an AWS Key Management Service (KMS) key to encrypt the datasets in the group. If you specify a KMS key, you must also include an AWS Identity and Access Management (IAM) role that has permission to access the key.

APIs that require a dataset group ARN in the request

Related APIs

", "CreateDatasetImportJob": "

Creates a job that imports training data from your data source (an Amazon S3 bucket) to an Amazon Personalize dataset. To allow Amazon Personalize to import the training data, you must specify an AWS Identity and Access Management (IAM) service role that has permission to read from the data source, as Amazon Personalize makes a copy of your data and processes it in an internal AWS system. For information on granting access to your Amazon S3 bucket, see Giving Amazon Personalize Access to Amazon S3 Resources.

The dataset import job replaces any existing data in the dataset that you imported in bulk.

Status

A dataset import job can be in one of the following states:

To get the status of the import job, call DescribeDatasetImportJob, providing the Amazon Resource Name (ARN) of the dataset import job. The dataset import is complete when the status shows as ACTIVE. If the status shows as CREATE FAILED, the response includes a failureReason key, which describes why the job failed.

Importing takes time. You must wait until the status shows as ACTIVE before training a model using the dataset.

Related APIs

", "CreateEventTracker": "

Creates an event tracker that you use when adding event data to a specified dataset group using the PutEvents API.

Only one event tracker can be associated with a dataset group. You will get an error if you call CreateEventTracker using the same dataset group as an existing event tracker.

When you create an event tracker, the response includes a tracking ID, which you pass as a parameter when you use the PutEvents operation. Amazon Personalize then appends the event data to the Interactions dataset of the dataset group you specify in your event tracker.

The event tracker can be in one of the following states:

To get the status of the event tracker, call DescribeEventTracker.

The event tracker must be in the ACTIVE state before using the tracking ID.

Related APIs

", diff --git a/models/apis/robomaker/2018-06-29/api-2.json b/models/apis/robomaker/2018-06-29/api-2.json index 3a9baff5ad..6f51e5532a 100644 --- a/models/apis/robomaker/2018-06-29/api-2.json +++ b/models/apis/robomaker/2018-06-29/api-2.json @@ -2458,7 +2458,8 @@ "enum":[ "Kinetic", "Melodic", - "Dashing" + "Dashing", + "Foxy" ] }, "RobotStatus":{ @@ -2748,7 +2749,7 @@ "type":"string", "max":1024, "min":0, - "pattern":"7|9|Kinetic|Melodic|Dashing" + "pattern":"7|9|11|Kinetic|Melodic|Dashing|Foxy" }, "SimulationTimeMillis":{"type":"long"}, "SimulationUnit":{ diff --git a/service/cloudfront/api.go b/service/cloudfront/api.go index 6c8eb849f3..045a8ddbd6 100644 --- a/service/cloudfront/api.go +++ b/service/cloudfront/api.go @@ -450,6 +450,19 @@ func (c *CloudFront) CreateDistributionRequest(input *CreateDistributionInput) ( // * ErrCodeInvalidLambdaFunctionAssociation "InvalidLambdaFunctionAssociation" // The specified Lambda function association is invalid. // +// * ErrCodeTooManyDistributionsWithFunctionAssociations "TooManyDistributionsWithFunctionAssociations" +// You have reached the maximum number of distributions that are associated +// with a CloudFront function. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeTooManyFunctionAssociations "TooManyFunctionAssociations" +// You have reached the maximum number of CloudFront function associations for +// this distribution. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeInvalidFunctionAssociation "InvalidFunctionAssociation" +// A CloudFront function association is invalid. +// // * ErrCodeInvalidOriginReadTimeout "InvalidOriginReadTimeout" // The read timeout specified for the origin is not valid. // @@ -496,6 +509,12 @@ func (c *CloudFront) CreateDistributionRequest(input *CreateDistributionInput) ( // * ErrCodeTrustedKeyGroupDoesNotExist "TrustedKeyGroupDoesNotExist" // The specified key group does not exist. // +// * ErrCodeNoSuchRealtimeLogConfig "NoSuchRealtimeLogConfig" +// The real-time log configuration does not exist. +// +// * ErrCodeRealtimeLogConfigOwnerMismatch "RealtimeLogConfigOwnerMismatch" +// The specified real-time log configuration belongs to a different AWS account. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateDistribution func (c *CloudFront) CreateDistribution(input *CreateDistributionInput) (*CreateDistributionOutput, error) { req, out := c.CreateDistributionRequest(input) @@ -714,6 +733,19 @@ func (c *CloudFront) CreateDistributionWithTagsRequest(input *CreateDistribution // * ErrCodeInvalidLambdaFunctionAssociation "InvalidLambdaFunctionAssociation" // The specified Lambda function association is invalid. // +// * ErrCodeTooManyDistributionsWithFunctionAssociations "TooManyDistributionsWithFunctionAssociations" +// You have reached the maximum number of distributions that are associated +// with a CloudFront function. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeTooManyFunctionAssociations "TooManyFunctionAssociations" +// You have reached the maximum number of CloudFront function associations for +// this distribution. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeInvalidFunctionAssociation "InvalidFunctionAssociation" +// A CloudFront function association is invalid. +// // * ErrCodeInvalidOriginReadTimeout "InvalidOriginReadTimeout" // The read timeout specified for the origin is not valid. // @@ -760,6 +792,12 @@ func (c *CloudFront) CreateDistributionWithTagsRequest(input *CreateDistribution // * ErrCodeTrustedKeyGroupDoesNotExist "TrustedKeyGroupDoesNotExist" // The specified key group does not exist. // +// * ErrCodeNoSuchRealtimeLogConfig "NoSuchRealtimeLogConfig" +// The real-time log configuration does not exist. +// +// * ErrCodeRealtimeLogConfigOwnerMismatch "RealtimeLogConfigOwnerMismatch" +// The specified real-time log configuration belongs to a different AWS account. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateDistributionWithTags func (c *CloudFront) CreateDistributionWithTags(input *CreateDistributionWithTagsInput) (*CreateDistributionWithTagsOutput, error) { req, out := c.CreateDistributionWithTagsRequest(input) @@ -987,6 +1025,111 @@ func (c *CloudFront) CreateFieldLevelEncryptionProfileWithContext(ctx aws.Contex return out, req.Send() } +const opCreateFunction = "CreateFunction2020_05_31" + +// CreateFunctionRequest generates a "aws/request.Request" representing the +// client's request for the CreateFunction 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 CreateFunction for more information on using the CreateFunction +// 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 CreateFunctionRequest method. +// req, resp := client.CreateFunctionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateFunction +func (c *CloudFront) CreateFunctionRequest(input *CreateFunctionInput) (req *request.Request, output *CreateFunctionOutput) { + op := &request.Operation{ + Name: opCreateFunction, + HTTPMethod: "POST", + HTTPPath: "/2020-05-31/function", + } + + if input == nil { + input = &CreateFunctionInput{} + } + + output = &CreateFunctionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateFunction API operation for Amazon CloudFront. +// +// Creates a CloudFront function. +// +// To create a function, you provide the function code and some configuration +// information about the function. The response contains an Amazon Resource +// Name (ARN) that uniquely identifies the function. +// +// When you create a function, it’s in the DEVELOPMENT stage. In this stage, +// you can test the function with TestFunction, and update it with UpdateFunction. +// +// When you’re ready to use your function with a CloudFront distribution, +// use PublishFunction to copy the function from the DEVELOPMENT stage to LIVE. +// When it’s live, you can attach the function to a distribution’s cache +// behavior, using the function’s ARN. +// +// 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 Amazon CloudFront's +// API operation CreateFunction for usage and error information. +// +// Returned Error Codes: +// * ErrCodeTooManyFunctions "TooManyFunctions" +// You have reached the maximum number of CloudFront functions for this AWS +// account. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeFunctionAlreadyExists "FunctionAlreadyExists" +// A function with the same name already exists in this AWS account. To create +// a function, you must provide a unique name. To update an existing function, +// use UpdateFunction. +// +// * ErrCodeFunctionSizeLimitExceeded "FunctionSizeLimitExceeded" +// The function is too large. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeInvalidArgument "InvalidArgument" +// An argument is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateFunction +func (c *CloudFront) CreateFunction(input *CreateFunctionInput) (*CreateFunctionOutput, error) { + req, out := c.CreateFunctionRequest(input) + return out, req.Send() +} + +// CreateFunctionWithContext is the same as CreateFunction with the addition of +// the ability to pass a context and additional request options. +// +// See CreateFunction 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 *CloudFront) CreateFunctionWithContext(ctx aws.Context, input *CreateFunctionInput, opts ...request.Option) (*CreateFunctionOutput, error) { + req, out := c.CreateFunctionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateInvalidation = "CreateInvalidation2020_05_31" // CreateInvalidationRequest generates a "aws/request.Request" representing the @@ -1255,6 +1398,9 @@ func (c *CloudFront) CreateMonitoringSubscriptionRequest(input *CreateMonitoring // * ErrCodeNoSuchDistribution "NoSuchDistribution" // The specified distribution does not exist. // +// * ErrCodeUnsupportedOperation "UnsupportedOperation" +// This operation is not supported in this region. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateMonitoringSubscription func (c *CloudFront) CreateMonitoringSubscription(input *CreateMonitoringSubscriptionInput) (*CreateMonitoringSubscriptionOutput, error) { req, out := c.CreateMonitoringSubscriptionRequest(input) @@ -1911,8 +2057,7 @@ func (c *CloudFront) DeleteCachePolicyRequest(input *DeleteCachePolicyInput) (re // The cache policy does not exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request header fields evaluated -// to false. +// The precondition in one or more of the request fields evaluated to false. // // * ErrCodeIllegalDelete "IllegalDelete" // You cannot delete a managed policy. @@ -2008,8 +2153,7 @@ func (c *CloudFront) DeleteCloudFrontOriginAccessIdentityRequest(input *DeleteCl // The specified origin access identity does not exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request header fields evaluated -// to false. +// The precondition in one or more of the request fields evaluated to false. // // * ErrCodeOriginAccessIdentityInUse "CloudFrontOriginAccessIdentityInUse" // The Origin Access Identity specified is already in use. @@ -2105,8 +2249,7 @@ func (c *CloudFront) DeleteDistributionRequest(input *DeleteDistributionInput) ( // The specified distribution does not exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request header fields evaluated -// to false. +// The precondition in one or more of the request fields evaluated to false. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteDistribution func (c *CloudFront) DeleteDistribution(input *DeleteDistributionInput) (*DeleteDistributionOutput, error) { @@ -2195,8 +2338,7 @@ func (c *CloudFront) DeleteFieldLevelEncryptionConfigRequest(input *DeleteFieldL // The specified configuration for field-level encryption doesn't exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request header fields evaluated -// to false. +// The precondition in one or more of the request fields evaluated to false. // // * ErrCodeFieldLevelEncryptionConfigInUse "FieldLevelEncryptionConfigInUse" // The specified configuration for field-level encryption is in use. @@ -2288,8 +2430,7 @@ func (c *CloudFront) DeleteFieldLevelEncryptionProfileRequest(input *DeleteField // The specified profile for field-level encryption doesn't exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request header fields evaluated -// to false. +// The precondition in one or more of the request fields evaluated to false. // // * ErrCodeFieldLevelEncryptionProfileInUse "FieldLevelEncryptionProfileInUse" // The specified profile for field-level encryption is in use. @@ -2316,6 +2457,102 @@ func (c *CloudFront) DeleteFieldLevelEncryptionProfileWithContext(ctx aws.Contex return out, req.Send() } +const opDeleteFunction = "DeleteFunction2020_05_31" + +// DeleteFunctionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteFunction 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 DeleteFunction for more information on using the DeleteFunction +// 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 DeleteFunctionRequest method. +// req, resp := client.DeleteFunctionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteFunction +func (c *CloudFront) DeleteFunctionRequest(input *DeleteFunctionInput) (req *request.Request, output *DeleteFunctionOutput) { + op := &request.Operation{ + Name: opDeleteFunction, + HTTPMethod: "DELETE", + HTTPPath: "/2020-05-31/function/{Name}", + } + + if input == nil { + input = &DeleteFunctionInput{} + } + + output = &DeleteFunctionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteFunction API operation for Amazon CloudFront. +// +// Deletes a CloudFront function. +// +// You cannot delete a function if it’s associated with a cache behavior. +// First, update your distributions to remove the function association from +// all cache behaviors, then delete the function. +// +// To delete a function, you must provide the function’s name and version +// (ETag value). To get these values, you can use ListFunctions and DescribeFunction. +// +// 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 Amazon CloudFront's +// API operation DeleteFunction for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" +// The If-Match version is missing or not valid. +// +// * ErrCodeNoSuchFunctionExists "NoSuchFunctionExists" +// The function does not exist. +// +// * ErrCodeFunctionInUse "FunctionInUse" +// Cannot delete the function because it’s attached to one or more cache behaviors. +// +// * ErrCodePreconditionFailed "PreconditionFailed" +// The precondition in one or more of the request fields evaluated to false. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteFunction +func (c *CloudFront) DeleteFunction(input *DeleteFunctionInput) (*DeleteFunctionOutput, error) { + req, out := c.DeleteFunctionRequest(input) + return out, req.Send() +} + +// DeleteFunctionWithContext is the same as DeleteFunction with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteFunction 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 *CloudFront) DeleteFunctionWithContext(ctx aws.Context, input *DeleteFunctionInput, opts ...request.Option) (*DeleteFunctionOutput, error) { + req, out := c.DeleteFunctionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteKeyGroup = "DeleteKeyGroup2020_05_31" // DeleteKeyGroupRequest generates a "aws/request.Request" representing the @@ -2386,8 +2623,7 @@ func (c *CloudFront) DeleteKeyGroupRequest(input *DeleteKeyGroupInput) (req *req // A resource that was specified is not valid. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request header fields evaluated -// to false. +// The precondition in one or more of the request fields evaluated to false. // // * ErrCodeResourceInUse "ResourceInUse" // Cannot delete this resource because it is in use. @@ -2475,6 +2711,9 @@ func (c *CloudFront) DeleteMonitoringSubscriptionRequest(input *DeleteMonitoring // * ErrCodeNoSuchDistribution "NoSuchDistribution" // The specified distribution does not exist. // +// * ErrCodeUnsupportedOperation "UnsupportedOperation" +// This operation is not supported in this region. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteMonitoringSubscription func (c *CloudFront) DeleteMonitoringSubscription(input *DeleteMonitoringSubscriptionInput) (*DeleteMonitoringSubscriptionOutput, error) { req, out := c.DeleteMonitoringSubscriptionRequest(input) @@ -2570,8 +2809,7 @@ func (c *CloudFront) DeleteOriginRequestPolicyRequest(input *DeleteOriginRequest // The origin request policy does not exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request header fields evaluated -// to false. +// The precondition in one or more of the request fields evaluated to false. // // * ErrCodeIllegalDelete "IllegalDelete" // You cannot delete a managed policy. @@ -2670,8 +2908,7 @@ func (c *CloudFront) DeletePublicKeyRequest(input *DeletePublicKeyInput) (req *r // The specified public key doesn't exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request header fields evaluated -// to false. +// The precondition in one or more of the request fields evaluated to false. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeletePublicKey func (c *CloudFront) DeletePublicKey(input *DeletePublicKeyInput) (*DeletePublicKeyOutput, error) { @@ -2898,8 +3135,7 @@ func (c *CloudFront) DeleteStreamingDistributionRequest(input *DeleteStreamingDi // The specified streaming distribution does not exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request header fields evaluated -// to false. +// The precondition in one or more of the request fields evaluated to false. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteStreamingDistribution func (c *CloudFront) DeleteStreamingDistribution(input *DeleteStreamingDistributionInput) (*DeleteStreamingDistributionOutput, error) { @@ -2923,6 +3159,90 @@ func (c *CloudFront) DeleteStreamingDistributionWithContext(ctx aws.Context, inp return out, req.Send() } +const opDescribeFunction = "DescribeFunction2020_05_31" + +// DescribeFunctionRequest generates a "aws/request.Request" representing the +// client's request for the DescribeFunction 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 DescribeFunction for more information on using the DescribeFunction +// 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 DescribeFunctionRequest method. +// req, resp := client.DescribeFunctionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DescribeFunction +func (c *CloudFront) DescribeFunctionRequest(input *DescribeFunctionInput) (req *request.Request, output *DescribeFunctionOutput) { + op := &request.Operation{ + Name: opDescribeFunction, + HTTPMethod: "GET", + HTTPPath: "/2020-05-31/function/{Name}/describe", + } + + if input == nil { + input = &DescribeFunctionInput{} + } + + output = &DescribeFunctionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeFunction API operation for Amazon CloudFront. +// +// Gets configuration information and metadata about a CloudFront function, +// but not the function’s code. To get a function’s code, use GetFunction. +// +// To get configuration information and metadata about a function, you must +// provide the function’s name and stage. To get these values, you can use +// ListFunctions. +// +// 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 Amazon CloudFront's +// API operation DescribeFunction for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNoSuchFunctionExists "NoSuchFunctionExists" +// The function does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DescribeFunction +func (c *CloudFront) DescribeFunction(input *DescribeFunctionInput) (*DescribeFunctionOutput, error) { + req, out := c.DescribeFunctionRequest(input) + return out, req.Send() +} + +// DescribeFunctionWithContext is the same as DescribeFunction with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeFunction 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 *CloudFront) DescribeFunctionWithContext(ctx aws.Context, input *DescribeFunctionInput, opts ...request.Option) (*DescribeFunctionOutput, error) { + req, out := c.DescribeFunctionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetCachePolicy = "GetCachePolicy2020_05_31" // GetCachePolicyRequest generates a "aws/request.Request" representing the @@ -3759,122 +4079,205 @@ func (c *CloudFront) GetFieldLevelEncryptionProfileConfigWithContext(ctx aws.Con return out, req.Send() } -const opGetInvalidation = "GetInvalidation2020_05_31" +const opGetFunction = "GetFunction2020_05_31" -// GetInvalidationRequest generates a "aws/request.Request" representing the -// client's request for the GetInvalidation operation. The "output" return +// GetFunctionRequest generates a "aws/request.Request" representing the +// client's request for the GetFunction 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 GetInvalidation for more information on using the GetInvalidation +// See GetFunction for more information on using the GetFunction // 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 GetInvalidationRequest method. -// req, resp := client.GetInvalidationRequest(params) +// // Example sending a request using the GetFunctionRequest method. +// req, resp := client.GetFunctionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetInvalidation -func (c *CloudFront) GetInvalidationRequest(input *GetInvalidationInput) (req *request.Request, output *GetInvalidationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFunction +func (c *CloudFront) GetFunctionRequest(input *GetFunctionInput) (req *request.Request, output *GetFunctionOutput) { op := &request.Operation{ - Name: opGetInvalidation, + Name: opGetFunction, HTTPMethod: "GET", - HTTPPath: "/2020-05-31/distribution/{DistributionId}/invalidation/{Id}", + HTTPPath: "/2020-05-31/function/{Name}", } if input == nil { - input = &GetInvalidationInput{} + input = &GetFunctionInput{} } - output = &GetInvalidationOutput{} + output = &GetFunctionOutput{} req = c.newRequest(op, input, output) return } -// GetInvalidation API operation for Amazon CloudFront. +// GetFunction API operation for Amazon CloudFront. // -// Get the information about an invalidation. +// Gets the code of a CloudFront function. To get configuration information +// and metadata about a function, use DescribeFunction. +// +// To get a function’s code, you must provide the function’s name and stage. +// To get these values, you can use ListFunctions. // // 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 Amazon CloudFront's -// API operation GetInvalidation for usage and error information. +// API operation GetFunction for usage and error information. // // Returned Error Codes: -// * ErrCodeNoSuchInvalidation "NoSuchInvalidation" -// The specified invalidation does not exist. +// * ErrCodeNoSuchFunctionExists "NoSuchFunctionExists" +// The function does not exist. // -// * ErrCodeNoSuchDistribution "NoSuchDistribution" -// The specified distribution does not exist. -// -// * ErrCodeAccessDenied "AccessDenied" -// Access denied. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetInvalidation -func (c *CloudFront) GetInvalidation(input *GetInvalidationInput) (*GetInvalidationOutput, error) { - req, out := c.GetInvalidationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFunction +func (c *CloudFront) GetFunction(input *GetFunctionInput) (*GetFunctionOutput, error) { + req, out := c.GetFunctionRequest(input) return out, req.Send() } -// GetInvalidationWithContext is the same as GetInvalidation with the addition of +// GetFunctionWithContext is the same as GetFunction with the addition of // the ability to pass a context and additional request options. // -// See GetInvalidation for details on how to use this API operation. +// See GetFunction 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 *CloudFront) GetInvalidationWithContext(ctx aws.Context, input *GetInvalidationInput, opts ...request.Option) (*GetInvalidationOutput, error) { - req, out := c.GetInvalidationRequest(input) +func (c *CloudFront) GetFunctionWithContext(ctx aws.Context, input *GetFunctionInput, opts ...request.Option) (*GetFunctionOutput, error) { + req, out := c.GetFunctionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetKeyGroup = "GetKeyGroup2020_05_31" +const opGetInvalidation = "GetInvalidation2020_05_31" -// GetKeyGroupRequest generates a "aws/request.Request" representing the -// client's request for the GetKeyGroup operation. The "output" return +// GetInvalidationRequest generates a "aws/request.Request" representing the +// client's request for the GetInvalidation 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 GetKeyGroup for more information on using the GetKeyGroup +// See GetInvalidation for more information on using the GetInvalidation // 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 GetKeyGroupRequest method. -// req, resp := client.GetKeyGroupRequest(params) +// // Example sending a request using the GetInvalidationRequest method. +// req, resp := client.GetInvalidationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetKeyGroup -func (c *CloudFront) GetKeyGroupRequest(input *GetKeyGroupInput) (req *request.Request, output *GetKeyGroupOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetInvalidation +func (c *CloudFront) GetInvalidationRequest(input *GetInvalidationInput) (req *request.Request, output *GetInvalidationOutput) { op := &request.Operation{ - Name: opGetKeyGroup, + Name: opGetInvalidation, HTTPMethod: "GET", - HTTPPath: "/2020-05-31/key-group/{Id}", + HTTPPath: "/2020-05-31/distribution/{DistributionId}/invalidation/{Id}", + } + + if input == nil { + input = &GetInvalidationInput{} + } + + output = &GetInvalidationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetInvalidation API operation for Amazon CloudFront. +// +// Get the information about an invalidation. +// +// 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 Amazon CloudFront's +// API operation GetInvalidation for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNoSuchInvalidation "NoSuchInvalidation" +// The specified invalidation does not exist. +// +// * ErrCodeNoSuchDistribution "NoSuchDistribution" +// The specified distribution does not exist. +// +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetInvalidation +func (c *CloudFront) GetInvalidation(input *GetInvalidationInput) (*GetInvalidationOutput, error) { + req, out := c.GetInvalidationRequest(input) + return out, req.Send() +} + +// GetInvalidationWithContext is the same as GetInvalidation with the addition of +// the ability to pass a context and additional request options. +// +// See GetInvalidation 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 *CloudFront) GetInvalidationWithContext(ctx aws.Context, input *GetInvalidationInput, opts ...request.Option) (*GetInvalidationOutput, error) { + req, out := c.GetInvalidationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetKeyGroup = "GetKeyGroup2020_05_31" + +// GetKeyGroupRequest generates a "aws/request.Request" representing the +// client's request for the GetKeyGroup 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 GetKeyGroup for more information on using the GetKeyGroup +// 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 GetKeyGroupRequest method. +// req, resp := client.GetKeyGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetKeyGroup +func (c *CloudFront) GetKeyGroupRequest(input *GetKeyGroupInput) (req *request.Request, output *GetKeyGroupOutput) { + op := &request.Operation{ + Name: opGetKeyGroup, + HTTPMethod: "GET", + HTTPPath: "/2020-05-31/key-group/{Id}", } if input == nil { @@ -4076,6 +4479,9 @@ func (c *CloudFront) GetMonitoringSubscriptionRequest(input *GetMonitoringSubscr // * ErrCodeNoSuchDistribution "NoSuchDistribution" // The specified distribution does not exist. // +// * ErrCodeUnsupportedOperation "UnsupportedOperation" +// This operation is not supported in this region. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetMonitoringSubscription func (c *CloudFront) GetMonitoringSubscription(input *GetMonitoringSubscriptionInput) (*GetMonitoringSubscriptionOutput, error) { req, out := c.GetMonitoringSubscriptionRequest(input) @@ -5674,6 +6080,94 @@ func (c *CloudFront) ListFieldLevelEncryptionProfilesWithContext(ctx aws.Context return out, req.Send() } +const opListFunctions = "ListFunctions2020_05_31" + +// ListFunctionsRequest generates a "aws/request.Request" representing the +// client's request for the ListFunctions 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 ListFunctions for more information on using the ListFunctions +// 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 ListFunctionsRequest method. +// req, resp := client.ListFunctionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListFunctions +func (c *CloudFront) ListFunctionsRequest(input *ListFunctionsInput) (req *request.Request, output *ListFunctionsOutput) { + op := &request.Operation{ + Name: opListFunctions, + HTTPMethod: "GET", + HTTPPath: "/2020-05-31/function", + } + + if input == nil { + input = &ListFunctionsInput{} + } + + output = &ListFunctionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListFunctions API operation for Amazon CloudFront. +// +// Gets a list of all CloudFront functions in your AWS account. +// +// You can optionally apply a filter to return only the functions that are in +// the specified stage, either DEVELOPMENT or LIVE. +// +// You can optionally specify the maximum number of items to receive in the +// response. If the total number of items in the list exceeds the maximum that +// you specify, or the default maximum, the response is paginated. To get the +// next page of items, send a subsequent request that specifies the NextMarker +// value from the current response as the Marker value in the subsequent request. +// +// 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 Amazon CloudFront's +// API operation ListFunctions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidArgument "InvalidArgument" +// An argument is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListFunctions +func (c *CloudFront) ListFunctions(input *ListFunctionsInput) (*ListFunctionsOutput, error) { + req, out := c.ListFunctionsRequest(input) + return out, req.Send() +} + +// ListFunctionsWithContext is the same as ListFunctions with the addition of +// the ability to pass a context and additional request options. +// +// See ListFunctions 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 *CloudFront) ListFunctionsWithContext(ctx aws.Context, input *ListFunctionsInput, opts ...request.Option) (*ListFunctionsOutput, error) { + req, out := c.ListFunctionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListInvalidations = "ListInvalidations2020_05_31" // ListInvalidationsRequest generates a "aws/request.Request" representing the @@ -6391,148 +6885,156 @@ func (c *CloudFront) ListTagsForResourceWithContext(ctx aws.Context, input *List return out, req.Send() } -const opTagResource = "TagResource2020_05_31" +const opPublishFunction = "PublishFunction2020_05_31" -// TagResourceRequest generates a "aws/request.Request" representing the -// client's request for the TagResource operation. The "output" return +// PublishFunctionRequest generates a "aws/request.Request" representing the +// client's request for the PublishFunction 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 TagResource for more information on using the TagResource +// See PublishFunction for more information on using the PublishFunction // 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 TagResourceRequest method. -// req, resp := client.TagResourceRequest(params) +// // Example sending a request using the PublishFunctionRequest method. +// req, resp := client.PublishFunctionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/TagResource -func (c *CloudFront) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/PublishFunction +func (c *CloudFront) PublishFunctionRequest(input *PublishFunctionInput) (req *request.Request, output *PublishFunctionOutput) { op := &request.Operation{ - Name: opTagResource, + Name: opPublishFunction, HTTPMethod: "POST", - HTTPPath: "/2020-05-31/tagging?Operation=Tag", + HTTPPath: "/2020-05-31/function/{Name}/publish", } if input == nil { - input = &TagResourceInput{} + input = &PublishFunctionInput{} } - output = &TagResourceOutput{} + output = &PublishFunctionOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// TagResource API operation for Amazon CloudFront. +// PublishFunction API operation for Amazon CloudFront. // -// Add tags to a CloudFront resource. +// Publishes a CloudFront function by copying the function code from the DEVELOPMENT +// stage to LIVE. This automatically updates all cache behaviors that are using +// this function to use the newly published copy in the LIVE stage. +// +// When a function is published to the LIVE stage, you can attach the function +// to a distribution’s cache behavior, using the function’s Amazon Resource +// Name (ARN). +// +// To publish a function, you must provide the function’s name and version +// (ETag value). To get these values, you can use ListFunctions and DescribeFunction. // // 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 Amazon CloudFront's -// API operation TagResource for usage and error information. +// API operation PublishFunction for usage and error information. // // Returned Error Codes: -// * ErrCodeAccessDenied "AccessDenied" -// Access denied. -// // * ErrCodeInvalidArgument "InvalidArgument" // An argument is invalid. // -// * ErrCodeInvalidTagging "InvalidTagging" -// The tagging specified is not valid. +// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" +// The If-Match version is missing or not valid. // -// * ErrCodeNoSuchResource "NoSuchResource" -// A resource that was specified is not valid. +// * ErrCodeNoSuchFunctionExists "NoSuchFunctionExists" +// The function does not exist. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/TagResource -func (c *CloudFront) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +// * ErrCodePreconditionFailed "PreconditionFailed" +// The precondition in one or more of the request fields evaluated to false. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/PublishFunction +func (c *CloudFront) PublishFunction(input *PublishFunctionInput) (*PublishFunctionOutput, error) { + req, out := c.PublishFunctionRequest(input) return out, req.Send() } -// TagResourceWithContext is the same as TagResource with the addition of +// PublishFunctionWithContext is the same as PublishFunction with the addition of // the ability to pass a context and additional request options. // -// See TagResource for details on how to use this API operation. +// See PublishFunction 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 *CloudFront) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +func (c *CloudFront) PublishFunctionWithContext(ctx aws.Context, input *PublishFunctionInput, opts ...request.Option) (*PublishFunctionOutput, error) { + req, out := c.PublishFunctionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUntagResource = "UntagResource2020_05_31" +const opTagResource = "TagResource2020_05_31" -// UntagResourceRequest generates a "aws/request.Request" representing the -// client's request for the UntagResource operation. The "output" return +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource 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 UntagResource for more information on using the UntagResource +// See TagResource for more information on using the TagResource // 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 UntagResourceRequest method. -// req, resp := client.UntagResourceRequest(params) +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UntagResource -func (c *CloudFront) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/TagResource +func (c *CloudFront) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { op := &request.Operation{ - Name: opUntagResource, + Name: opTagResource, HTTPMethod: "POST", - HTTPPath: "/2020-05-31/tagging?Operation=Untag", + HTTPPath: "/2020-05-31/tagging?Operation=Tag", } if input == nil { - input = &UntagResourceInput{} + input = &TagResourceInput{} } - output = &UntagResourceOutput{} + output = &TagResourceOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UntagResource API operation for Amazon CloudFront. +// TagResource API operation for Amazon CloudFront. // -// Remove tags from a CloudFront resource. +// Add tags to a CloudFront resource. // // 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 Amazon CloudFront's -// API operation UntagResource for usage and error information. +// API operation TagResource for usage and error information. // // Returned Error Codes: // * ErrCodeAccessDenied "AccessDenied" @@ -6547,84 +7049,273 @@ func (c *CloudFront) UntagResourceRequest(input *UntagResourceInput) (req *reque // * ErrCodeNoSuchResource "NoSuchResource" // A resource that was specified is not valid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UntagResource -func (c *CloudFront) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/TagResource +func (c *CloudFront) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) return out, req.Send() } -// UntagResourceWithContext is the same as UntagResource with the addition of +// TagResourceWithContext is the same as TagResource with the addition of // the ability to pass a context and additional request options. // -// See UntagResource for details on how to use this API operation. +// See TagResource 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 *CloudFront) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +func (c *CloudFront) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateCachePolicy = "UpdateCachePolicy2020_05_31" +const opTestFunction = "TestFunction2020_05_31" -// UpdateCachePolicyRequest generates a "aws/request.Request" representing the -// client's request for the UpdateCachePolicy operation. The "output" return +// TestFunctionRequest generates a "aws/request.Request" representing the +// client's request for the TestFunction 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 UpdateCachePolicy for more information on using the UpdateCachePolicy +// See TestFunction for more information on using the TestFunction // 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 UpdateCachePolicyRequest method. -// req, resp := client.UpdateCachePolicyRequest(params) +// // Example sending a request using the TestFunctionRequest method. +// req, resp := client.TestFunctionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateCachePolicy -func (c *CloudFront) UpdateCachePolicyRequest(input *UpdateCachePolicyInput) (req *request.Request, output *UpdateCachePolicyOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/TestFunction +func (c *CloudFront) TestFunctionRequest(input *TestFunctionInput) (req *request.Request, output *TestFunctionOutput) { op := &request.Operation{ - Name: opUpdateCachePolicy, - HTTPMethod: "PUT", - HTTPPath: "/2020-05-31/cache-policy/{Id}", + Name: opTestFunction, + HTTPMethod: "POST", + HTTPPath: "/2020-05-31/function/{Name}/test", } if input == nil { - input = &UpdateCachePolicyInput{} + input = &TestFunctionInput{} } - output = &UpdateCachePolicyOutput{} + output = &TestFunctionOutput{} req = c.newRequest(op, input, output) return } -// UpdateCachePolicy API operation for Amazon CloudFront. -// -// Updates a cache policy configuration. +// TestFunction API operation for Amazon CloudFront. // -// When you update a cache policy configuration, all the fields are updated -// with the values provided in the request. You cannot update some fields independent -// of others. To update a cache policy configuration: +// Tests a CloudFront function. // -// Use GetCachePolicyConfig to get the current configuration. +// To test a function, you provide an event object that represents an HTTP request +// or response that your CloudFront distribution could receive in production. +// CloudFront runs the function, passing it the event object that you provided, +// and returns the function’s result (the modified event object) in the response. +// The response also contains function logs and error messages, if any exist. +// For more information about testing functions, see Testing functions (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/managing-functions.html#test-function) +// in the Amazon CloudFront Developer Guide. // -// Locally modify the fields in the cache policy configuration that you want -// to update. +// To test a function, you provide the function’s name and version (ETag value) +// along with the event object. To get the function’s name and version, you +// can use ListFunctions and DescribeFunction. // -// Call UpdateCachePolicy by providing the entire cache policy configuration, +// 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 Amazon CloudFront's +// API operation TestFunction for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidArgument "InvalidArgument" +// An argument is invalid. +// +// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" +// The If-Match version is missing or not valid. +// +// * ErrCodeNoSuchFunctionExists "NoSuchFunctionExists" +// The function does not exist. +// +// * ErrCodeTestFunctionFailed "TestFunctionFailed" +// The CloudFront function failed. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/TestFunction +func (c *CloudFront) TestFunction(input *TestFunctionInput) (*TestFunctionOutput, error) { + req, out := c.TestFunctionRequest(input) + return out, req.Send() +} + +// TestFunctionWithContext is the same as TestFunction with the addition of +// the ability to pass a context and additional request options. +// +// See TestFunction 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 *CloudFront) TestFunctionWithContext(ctx aws.Context, input *TestFunctionInput, opts ...request.Option) (*TestFunctionOutput, error) { + req, out := c.TestFunctionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource2020_05_31" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource 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 UntagResource for more information on using the UntagResource +// 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 UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UntagResource +func (c *CloudFront) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/2020-05-31/tagging?Operation=Untag", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for Amazon CloudFront. +// +// Remove tags from a CloudFront resource. +// +// 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 Amazon CloudFront's +// API operation UntagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAccessDenied "AccessDenied" +// Access denied. +// +// * ErrCodeInvalidArgument "InvalidArgument" +// An argument is invalid. +// +// * ErrCodeInvalidTagging "InvalidTagging" +// The tagging specified is not valid. +// +// * ErrCodeNoSuchResource "NoSuchResource" +// A resource that was specified is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UntagResource +func (c *CloudFront) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource 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 *CloudFront) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateCachePolicy = "UpdateCachePolicy2020_05_31" + +// UpdateCachePolicyRequest generates a "aws/request.Request" representing the +// client's request for the UpdateCachePolicy 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 UpdateCachePolicy for more information on using the UpdateCachePolicy +// 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 UpdateCachePolicyRequest method. +// req, resp := client.UpdateCachePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateCachePolicy +func (c *CloudFront) UpdateCachePolicyRequest(input *UpdateCachePolicyInput) (req *request.Request, output *UpdateCachePolicyOutput) { + op := &request.Operation{ + Name: opUpdateCachePolicy, + HTTPMethod: "PUT", + HTTPPath: "/2020-05-31/cache-policy/{Id}", + } + + if input == nil { + input = &UpdateCachePolicyInput{} + } + + output = &UpdateCachePolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateCachePolicy API operation for Amazon CloudFront. +// +// Updates a cache policy configuration. +// +// When you update a cache policy configuration, all the fields are updated +// with the values provided in the request. You cannot update some fields independent +// of others. To update a cache policy configuration: +// +// Use GetCachePolicyConfig to get the current configuration. +// +// Locally modify the fields in the cache policy configuration that you want +// to update. +// +// Call UpdateCachePolicy by providing the entire cache policy configuration, // including the fields that you modified and those that you didn’t. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -6654,8 +7345,7 @@ func (c *CloudFront) UpdateCachePolicyRequest(input *UpdateCachePolicyInput) (re // The cache policy does not exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request header fields evaluated -// to false. +// The precondition in one or more of the request fields evaluated to false. // // * ErrCodeCachePolicyAlreadyExists "CachePolicyAlreadyExists" // A cache policy with this name already exists. You must provide a unique name. @@ -6769,8 +7459,7 @@ func (c *CloudFront) UpdateCloudFrontOriginAccessIdentityRequest(input *UpdateCl // The specified origin access identity does not exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request header fields evaluated -// to false. +// The precondition in one or more of the request fields evaluated to false. // // * ErrCodeInvalidArgument "InvalidArgument" // An argument is invalid. @@ -6937,8 +7626,7 @@ func (c *CloudFront) UpdateDistributionRequest(input *UpdateDistributionInput) ( // The specified distribution does not exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request header fields evaluated -// to false. +// The precondition in one or more of the request fields evaluated to false. // // * ErrCodeTooManyDistributionCNAMEs "TooManyDistributionCNAMEs" // Your request contains more CNAMEs than are allowed per distribution. @@ -7053,6 +7741,19 @@ func (c *CloudFront) UpdateDistributionRequest(input *UpdateDistributionInput) ( // * ErrCodeInvalidLambdaFunctionAssociation "InvalidLambdaFunctionAssociation" // The specified Lambda function association is invalid. // +// * ErrCodeTooManyDistributionsWithFunctionAssociations "TooManyDistributionsWithFunctionAssociations" +// You have reached the maximum number of distributions that are associated +// with a CloudFront function. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeTooManyFunctionAssociations "TooManyFunctionAssociations" +// You have reached the maximum number of CloudFront function associations for +// this distribution. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// * ErrCodeInvalidFunctionAssociation "InvalidFunctionAssociation" +// A CloudFront function association is invalid. +// // * ErrCodeInvalidOriginReadTimeout "InvalidOriginReadTimeout" // The read timeout specified for the origin is not valid. // @@ -7099,6 +7800,12 @@ func (c *CloudFront) UpdateDistributionRequest(input *UpdateDistributionInput) ( // * ErrCodeTrustedKeyGroupDoesNotExist "TrustedKeyGroupDoesNotExist" // The specified key group does not exist. // +// * ErrCodeNoSuchRealtimeLogConfig "NoSuchRealtimeLogConfig" +// The real-time log configuration does not exist. +// +// * ErrCodeRealtimeLogConfigOwnerMismatch "RealtimeLogConfigOwnerMismatch" +// The specified real-time log configuration belongs to a different AWS account. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateDistribution func (c *CloudFront) UpdateDistribution(input *UpdateDistributionInput) (*UpdateDistributionOutput, error) { req, out := c.UpdateDistributionRequest(input) @@ -7197,8 +7904,7 @@ func (c *CloudFront) UpdateFieldLevelEncryptionConfigRequest(input *UpdateFieldL // The specified configuration for field-level encryption doesn't exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request header fields evaluated -// to false. +// The precondition in one or more of the request fields evaluated to false. // // * ErrCodeTooManyFieldLevelEncryptionQueryArgProfiles "TooManyFieldLevelEncryptionQueryArgProfiles" // The maximum number of query arg profiles for field-level encryption have @@ -7312,8 +8018,7 @@ func (c *CloudFront) UpdateFieldLevelEncryptionProfileRequest(input *UpdateField // The specified profile for field-level encryption doesn't exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request header fields evaluated -// to false. +// The precondition in one or more of the request fields evaluated to false. // // * ErrCodeFieldLevelEncryptionProfileSizeExceeded "FieldLevelEncryptionProfileSizeExceeded" // The maximum size of a profile for field-level encryption was exceeded. @@ -7348,6 +8053,105 @@ func (c *CloudFront) UpdateFieldLevelEncryptionProfileWithContext(ctx aws.Contex return out, req.Send() } +const opUpdateFunction = "UpdateFunction2020_05_31" + +// UpdateFunctionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateFunction 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 UpdateFunction for more information on using the UpdateFunction +// 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 UpdateFunctionRequest method. +// req, resp := client.UpdateFunctionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateFunction +func (c *CloudFront) UpdateFunctionRequest(input *UpdateFunctionInput) (req *request.Request, output *UpdateFunctionOutput) { + op := &request.Operation{ + Name: opUpdateFunction, + HTTPMethod: "PUT", + HTTPPath: "/2020-05-31/function/{Name}", + } + + if input == nil { + input = &UpdateFunctionInput{} + } + + output = &UpdateFunctionOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateFunction API operation for Amazon CloudFront. +// +// Updates a CloudFront function. +// +// You can update a function’s code or the comment that describes the function. +// You cannot update a function’s name. +// +// To update a function, you provide the function’s name and version (ETag +// value) along with the updated function code. To get the name and version, +// you can use ListFunctions and DescribeFunction. +// +// 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 Amazon CloudFront's +// API operation UpdateFunction for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidArgument "InvalidArgument" +// An argument is invalid. +// +// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" +// The If-Match version is missing or not valid. +// +// * ErrCodeNoSuchFunctionExists "NoSuchFunctionExists" +// The function does not exist. +// +// * ErrCodePreconditionFailed "PreconditionFailed" +// The precondition in one or more of the request fields evaluated to false. +// +// * ErrCodeFunctionSizeLimitExceeded "FunctionSizeLimitExceeded" +// The function is too large. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) +// (formerly known as limits) in the Amazon CloudFront Developer Guide. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateFunction +func (c *CloudFront) UpdateFunction(input *UpdateFunctionInput) (*UpdateFunctionOutput, error) { + req, out := c.UpdateFunctionRequest(input) + return out, req.Send() +} + +// UpdateFunctionWithContext is the same as UpdateFunction with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateFunction 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 *CloudFront) UpdateFunctionWithContext(ctx aws.Context, input *UpdateFunctionInput, opts ...request.Option) (*UpdateFunctionOutput, error) { + req, out := c.UpdateFunctionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateKeyGroup = "UpdateKeyGroup2020_05_31" // UpdateKeyGroupRequest generates a "aws/request.Request" representing the @@ -7421,8 +8225,7 @@ func (c *CloudFront) UpdateKeyGroupRequest(input *UpdateKeyGroupInput) (req *req // A resource that was specified is not valid. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request header fields evaluated -// to false. +// The precondition in one or more of the request fields evaluated to false. // // * ErrCodeKeyGroupAlreadyExists "KeyGroupAlreadyExists" // A key group with this name already exists. You must provide a unique name. @@ -7544,8 +8347,7 @@ func (c *CloudFront) UpdateOriginRequestPolicyRequest(input *UpdateOriginRequest // The origin request policy does not exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request header fields evaluated -// to false. +// The precondition in one or more of the request fields evaluated to false. // // * ErrCodeOriginRequestPolicyAlreadyExists "OriginRequestPolicyAlreadyExists" // An origin request policy with this name already exists. You must provide @@ -7662,8 +8464,7 @@ func (c *CloudFront) UpdatePublicKeyRequest(input *UpdatePublicKeyInput) (req *r // The specified public key doesn't exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request header fields evaluated -// to false. +// The precondition in one or more of the request fields evaluated to false. // // See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdatePublicKey func (c *CloudFront) UpdatePublicKey(input *UpdatePublicKeyInput) (*UpdatePublicKeyOutput, error) { @@ -7861,8 +8662,7 @@ func (c *CloudFront) UpdateStreamingDistributionRequest(input *UpdateStreamingDi // The specified streaming distribution does not exist. // // * ErrCodePreconditionFailed "PreconditionFailed" -// The precondition given in one or more of the request header fields evaluated -// to false. +// The precondition in one or more of the request fields evaluated to false. // // * ErrCodeTooManyStreamingDistributionCNAMEs "TooManyStreamingDistributionCNAMEs" // Your request contains more CNAMEs than are allowed per distribution. @@ -8261,6 +9061,9 @@ type CacheBehavior struct { // behavior. For more information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) // in the Amazon CloudFront Developer Guide. + // + // A CacheBehavior must include either a CachePolicyId or ForwardedValues. We + // recommend that you use a CachePolicyId. CachePolicyId *string `type:"string"` // Whether you want CloudFront to automatically compress certain files for this @@ -8306,12 +9109,20 @@ type CacheBehavior struct { // or Using the managed origin request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html) // in the Amazon CloudFront Developer Guide. // + // A CacheBehavior must include either a CachePolicyId or ForwardedValues. We + // recommend that you use a CachePolicyId. + // // A complex type that specifies how CloudFront handles query strings, cookies, // and HTTP headers. // // Deprecated: ForwardedValues has been deprecated ForwardedValues *ForwardedValues `deprecated:"true" type:"structure"` + // A list of CloudFront functions that are associated with this cache behavior. + // CloudFront functions must be published to the LIVE stage to associate them + // with a cache behavior. + FunctionAssociations *FunctionAssociations `type:"structure"` + // A complex type that contains zero or more Lambda function associations for // a cache behavior. LambdaFunctionAssociations *LambdaFunctionAssociations `type:"structure"` @@ -8486,6 +9297,11 @@ func (s *CacheBehavior) Validate() error { invalidParams.AddNested("ForwardedValues", err.(request.ErrInvalidParams)) } } + if s.FunctionAssociations != nil { + if err := s.FunctionAssociations.Validate(); err != nil { + invalidParams.AddNested("FunctionAssociations", err.(request.ErrInvalidParams)) + } + } if s.LambdaFunctionAssociations != nil { if err := s.LambdaFunctionAssociations.Validate(); err != nil { invalidParams.AddNested("LambdaFunctionAssociations", err.(request.ErrInvalidParams)) @@ -8544,6 +9360,12 @@ func (s *CacheBehavior) SetForwardedValues(v *ForwardedValues) *CacheBehavior { return s } +// SetFunctionAssociations sets the FunctionAssociations field's value. +func (s *CacheBehavior) SetFunctionAssociations(v *FunctionAssociations) *CacheBehavior { + s.FunctionAssociations = v + return s +} + // SetLambdaFunctionAssociations sets the LambdaFunctionAssociations field's value. func (s *CacheBehavior) SetLambdaFunctionAssociations(v *LambdaFunctionAssociations) *CacheBehavior { s.LambdaFunctionAssociations = v @@ -8754,7 +9576,8 @@ func (s *CachePolicy) SetLastModifiedTime(v time.Time) *CachePolicy { type CachePolicyConfig struct { _ struct{} `type:"structure"` - // A comment to describe the cache policy. + // A comment to describe the cache policy. The comment cannot be longer than + // 128 characters. Comment *string `type:"string"` // The default amount of time, in seconds, that you want objects to stay in @@ -10095,6 +10918,130 @@ func (s *CreateFieldLevelEncryptionProfileOutput) SetLocation(v string) *CreateF return s } +type CreateFunctionInput struct { + _ struct{} `locationName:"CreateFunctionRequest" type:"structure" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` + + // The function code. For more information about writing a CloudFront function, + // see Writing function code for CloudFront Functions (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/writing-function-code.html) + // in the Amazon CloudFront Developer Guide. + // + // FunctionCode is automatically base64 encoded/decoded by the SDK. + // + // FunctionCode is a required field + FunctionCode []byte `min:"1" type:"blob" required:"true" sensitive:"true"` + + // Configuration information about the function, including an optional comment + // and the function’s runtime. + // + // FunctionConfig is a required field + FunctionConfig *FunctionConfig `type:"structure" required:"true"` + + // A name to identify the function. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateFunctionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateFunctionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateFunctionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFunctionInput"} + if s.FunctionCode == nil { + invalidParams.Add(request.NewErrParamRequired("FunctionCode")) + } + if s.FunctionCode != nil && len(s.FunctionCode) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FunctionCode", 1)) + } + if s.FunctionConfig == nil { + invalidParams.Add(request.NewErrParamRequired("FunctionConfig")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.FunctionConfig != nil { + if err := s.FunctionConfig.Validate(); err != nil { + invalidParams.AddNested("FunctionConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFunctionCode sets the FunctionCode field's value. +func (s *CreateFunctionInput) SetFunctionCode(v []byte) *CreateFunctionInput { + s.FunctionCode = v + return s +} + +// SetFunctionConfig sets the FunctionConfig field's value. +func (s *CreateFunctionInput) SetFunctionConfig(v *FunctionConfig) *CreateFunctionInput { + s.FunctionConfig = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateFunctionInput) SetName(v string) *CreateFunctionInput { + s.Name = &v + return s +} + +type CreateFunctionOutput struct { + _ struct{} `type:"structure" payload:"FunctionSummary"` + + // The version identifier for the current version of the CloudFront function. + ETag *string `location:"header" locationName:"ETag" type:"string"` + + // Contains configuration information and metadata about a CloudFront function. + FunctionSummary *FunctionSummary `type:"structure"` + + // The URL of the CloudFront function. Use the URL to manage the function with + // the CloudFront API. + Location *string `location:"header" locationName:"Location" type:"string"` +} + +// String returns the string representation +func (s CreateFunctionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateFunctionOutput) GoString() string { + return s.String() +} + +// SetETag sets the ETag field's value. +func (s *CreateFunctionOutput) SetETag(v string) *CreateFunctionOutput { + s.ETag = &v + return s +} + +// SetFunctionSummary sets the FunctionSummary field's value. +func (s *CreateFunctionOutput) SetFunctionSummary(v *FunctionSummary) *CreateFunctionOutput { + s.FunctionSummary = v + return s +} + +// SetLocation sets the Location field's value. +func (s *CreateFunctionOutput) SetLocation(v string) *CreateFunctionOutput { + s.Location = &v + return s +} + // The request to create an invalidation. type CreateInvalidationInput struct { _ struct{} `locationName:"CreateInvalidationRequest" type:"structure" payload:"InvalidationBatch"` @@ -11226,6 +12173,9 @@ type DefaultCacheBehavior struct { // cache behavior. For more information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) // in the Amazon CloudFront Developer Guide. + // + // A DefaultCacheBehavior must include either a CachePolicyId or ForwardedValues. + // We recommend that you use a CachePolicyId. CachePolicyId *string `type:"string"` // Whether you want CloudFront to automatically compress certain files for this @@ -11272,12 +12222,20 @@ type DefaultCacheBehavior struct { // or Using the managed origin request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html) // in the Amazon CloudFront Developer Guide. // + // A DefaultCacheBehavior must include either a CachePolicyId or ForwardedValues. + // We recommend that you use a CachePolicyId. + // // A complex type that specifies how CloudFront handles query strings, cookies, // and HTTP headers. // // Deprecated: ForwardedValues has been deprecated ForwardedValues *ForwardedValues `deprecated:"true" type:"structure"` + // A list of CloudFront functions that are associated with this cache behavior. + // CloudFront functions must be published to the LIVE stage to associate them + // with a cache behavior. + FunctionAssociations *FunctionAssociations `type:"structure"` + // A complex type that contains zero or more Lambda function associations for // a cache behavior. LambdaFunctionAssociations *LambdaFunctionAssociations `type:"structure"` @@ -11430,6 +12388,11 @@ func (s *DefaultCacheBehavior) Validate() error { invalidParams.AddNested("ForwardedValues", err.(request.ErrInvalidParams)) } } + if s.FunctionAssociations != nil { + if err := s.FunctionAssociations.Validate(); err != nil { + invalidParams.AddNested("FunctionAssociations", err.(request.ErrInvalidParams)) + } + } if s.LambdaFunctionAssociations != nil { if err := s.LambdaFunctionAssociations.Validate(); err != nil { invalidParams.AddNested("LambdaFunctionAssociations", err.(request.ErrInvalidParams)) @@ -11488,6 +12451,12 @@ func (s *DefaultCacheBehavior) SetForwardedValues(v *ForwardedValues) *DefaultCa return s } +// SetFunctionAssociations sets the FunctionAssociations field's value. +func (s *DefaultCacheBehavior) SetFunctionAssociations(v *FunctionAssociations) *DefaultCacheBehavior { + s.FunctionAssociations = v + return s +} + // SetLambdaFunctionAssociations sets the LambdaFunctionAssociations field's value. func (s *DefaultCacheBehavior) SetLambdaFunctionAssociations(v *LambdaFunctionAssociations) *DefaultCacheBehavior { s.LambdaFunctionAssociations = v @@ -11911,6 +12880,76 @@ func (s DeleteFieldLevelEncryptionProfileOutput) GoString() string { return s.String() } +type DeleteFunctionInput struct { + _ struct{} `locationName:"DeleteFunctionRequest" type:"structure"` + + // The current version (ETag value) of the function that you are deleting, which + // you can get using DescribeFunction. + // + // IfMatch is a required field + IfMatch *string `location:"header" locationName:"If-Match" type:"string" required:"true"` + + // The name of the function that you are deleting. + // + // Name is a required field + Name *string `location:"uri" locationName:"Name" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteFunctionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFunctionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteFunctionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteFunctionInput"} + if s.IfMatch == nil { + invalidParams.Add(request.NewErrParamRequired("IfMatch")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIfMatch sets the IfMatch field's value. +func (s *DeleteFunctionInput) SetIfMatch(v string) *DeleteFunctionInput { + s.IfMatch = &v + return s +} + +// SetName sets the Name field's value. +func (s *DeleteFunctionInput) SetName(v string) *DeleteFunctionInput { + s.Name = &v + return s +} + +type DeleteFunctionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteFunctionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteFunctionOutput) GoString() string { + return s.String() +} + type DeleteKeyGroupInput struct { _ struct{} `locationName:"DeleteKeyGroupRequest" type:"structure"` @@ -12276,6 +13315,88 @@ func (s DeleteStreamingDistributionOutput) GoString() string { return s.String() } +type DescribeFunctionInput struct { + _ struct{} `locationName:"DescribeFunctionRequest" type:"structure"` + + // The name of the function that you are getting information about. + // + // Name is a required field + Name *string `location:"uri" locationName:"Name" type:"string" required:"true"` + + // The function’s stage, either DEVELOPMENT or LIVE. + Stage *string `location:"querystring" locationName:"Stage" type:"string" enum:"FunctionStage"` +} + +// String returns the string representation +func (s DescribeFunctionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeFunctionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeFunctionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeFunctionInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *DescribeFunctionInput) SetName(v string) *DescribeFunctionInput { + s.Name = &v + return s +} + +// SetStage sets the Stage field's value. +func (s *DescribeFunctionInput) SetStage(v string) *DescribeFunctionInput { + s.Stage = &v + return s +} + +type DescribeFunctionOutput struct { + _ struct{} `type:"structure" payload:"FunctionSummary"` + + // The version identifier for the current version of the CloudFront function. + ETag *string `location:"header" locationName:"ETag" type:"string"` + + // Contains configuration information and metadata about a CloudFront function. + FunctionSummary *FunctionSummary `type:"structure"` +} + +// String returns the string representation +func (s DescribeFunctionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeFunctionOutput) GoString() string { + return s.String() +} + +// SetETag sets the ETag field's value. +func (s *DescribeFunctionOutput) SetETag(v string) *DescribeFunctionOutput { + s.ETag = &v + return s +} + +// SetFunctionSummary sets the FunctionSummary field's value. +func (s *DescribeFunctionOutput) SetFunctionSummary(v *FunctionSummary) *DescribeFunctionOutput { + s.FunctionSummary = v + return s +} + // A distribution tells CloudFront where you want content to be delivered from, // and the details about how to track and manage content delivery. type Distribution struct { @@ -12442,15 +13563,8 @@ type DistributionConfig struct { // CallerReference is a required field CallerReference *string `type:"string" required:"true"` - // Any comments you want to include about the distribution. - // - // If you don't want to specify a comment, include an empty Comment element. - // - // To delete an existing comment, update the distribution configuration and - // include an empty Comment element. - // - // To add or change a comment, update the distribution configuration and specify - // the new comment. + // An optional comment to describe the distribution. The comment cannot be longer + // than 128 characters. // // Comment is a required field Comment *string `type:"string" required:"true" sensitive:"true"` @@ -13516,7 +14630,8 @@ type FieldLevelEncryptionConfig struct { // CallerReference is a required field CallerReference *string `type:"string" required:"true"` - // An optional comment about the configuration. + // An optional comment about the configuration. The comment cannot be longer + // than 128 characters. Comment *string `type:"string"` // A complex data type that specifies when to forward content if a content type @@ -13703,7 +14818,8 @@ type FieldLevelEncryptionProfileConfig struct { // CallerReference is a required field CallerReference *string `type:"string" required:"true"` - // An optional comment for the field-level encryption profile. + // An optional comment for the field-level encryption profile. The comment cannot + // be longer than 128 characters. Comment *string `type:"string"` // A complex data type of encryption entities for the field-level encryption @@ -13839,7 +14955,8 @@ func (s *FieldLevelEncryptionProfileList) SetQuantity(v int64) *FieldLevelEncryp type FieldLevelEncryptionProfileSummary struct { _ struct{} `type:"structure"` - // An optional comment for the field-level encryption profile summary. + // An optional comment for the field-level encryption profile summary. The comment + // cannot be longer than 128 characters. Comment *string `type:"string"` // A complex data type of encryption entities for the field-level encryption @@ -13909,7 +15026,8 @@ func (s *FieldLevelEncryptionProfileSummary) SetName(v string) *FieldLevelEncryp type FieldLevelEncryptionSummary struct { _ struct{} `type:"structure"` - // An optional comment about the field-level encryption item. + // An optional comment about the field-level encryption item. The comment cannot + // be longer than 128 characters. Comment *string `type:"string"` // A summary of a content type-profile mapping. @@ -14109,92 +15227,439 @@ type ForwardedValues struct { // string parameters to the origin, and doesn't cache based on query string // parameters. // - // For more information, see Configuring CloudFront to Cache Based on Query - // String Parameters (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/QueryStringParameters.html) - // in the Amazon CloudFront Developer Guide. + // For more information, see Configuring CloudFront to Cache Based on Query + // String Parameters (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/QueryStringParameters.html) + // in the Amazon CloudFront Developer Guide. + // + // QueryString is a required field + QueryString *bool `type:"boolean" required:"true"` + + // This field is deprecated. We recommend that you use a cache policy or an + // origin request policy instead of this field. + // + // If you want to include query strings in the cache key, use a cache policy. + // For more information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) + // in the Amazon CloudFront Developer Guide. + // + // If you want to send query strings to the origin but not include them in the + // cache key, use an origin request policy. For more information, see Creating + // origin request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) + // in the Amazon CloudFront Developer Guide. + // + // A complex type that contains information about the query string parameters + // that you want CloudFront to use for caching for this cache behavior. + QueryStringCacheKeys *QueryStringCacheKeys `type:"structure"` +} + +// String returns the string representation +func (s ForwardedValues) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ForwardedValues) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ForwardedValues) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ForwardedValues"} + if s.Cookies == nil { + invalidParams.Add(request.NewErrParamRequired("Cookies")) + } + if s.QueryString == nil { + invalidParams.Add(request.NewErrParamRequired("QueryString")) + } + if s.Cookies != nil { + if err := s.Cookies.Validate(); err != nil { + invalidParams.AddNested("Cookies", err.(request.ErrInvalidParams)) + } + } + if s.Headers != nil { + if err := s.Headers.Validate(); err != nil { + invalidParams.AddNested("Headers", err.(request.ErrInvalidParams)) + } + } + if s.QueryStringCacheKeys != nil { + if err := s.QueryStringCacheKeys.Validate(); err != nil { + invalidParams.AddNested("QueryStringCacheKeys", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCookies sets the Cookies field's value. +func (s *ForwardedValues) SetCookies(v *CookiePreference) *ForwardedValues { + s.Cookies = v + return s +} + +// SetHeaders sets the Headers field's value. +func (s *ForwardedValues) SetHeaders(v *Headers) *ForwardedValues { + s.Headers = v + return s +} + +// SetQueryString sets the QueryString field's value. +func (s *ForwardedValues) SetQueryString(v bool) *ForwardedValues { + s.QueryString = &v + return s +} + +// SetQueryStringCacheKeys sets the QueryStringCacheKeys field's value. +func (s *ForwardedValues) SetQueryStringCacheKeys(v *QueryStringCacheKeys) *ForwardedValues { + s.QueryStringCacheKeys = v + return s +} + +// A CloudFront function that is associated with a cache behavior in a CloudFront +// distribution. +type FunctionAssociation struct { + _ struct{} `type:"structure"` + + // The event type of the function, either viewer-request or viewer-response. + // You cannot use origin-facing event types (origin-request and origin-response) + // with a CloudFront function. + // + // EventType is a required field + EventType *string `type:"string" required:"true" enum:"EventType"` + + // The Amazon Resource Name (ARN) of the function. + // + // FunctionARN is a required field + FunctionARN *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s FunctionAssociation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FunctionAssociation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FunctionAssociation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FunctionAssociation"} + if s.EventType == nil { + invalidParams.Add(request.NewErrParamRequired("EventType")) + } + if s.FunctionARN == nil { + invalidParams.Add(request.NewErrParamRequired("FunctionARN")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEventType sets the EventType field's value. +func (s *FunctionAssociation) SetEventType(v string) *FunctionAssociation { + s.EventType = &v + return s +} + +// SetFunctionARN sets the FunctionARN field's value. +func (s *FunctionAssociation) SetFunctionARN(v string) *FunctionAssociation { + s.FunctionARN = &v + return s +} + +// A list of CloudFront functions that are associated with a cache behavior +// in a CloudFront distribution. CloudFront functions must be published to the +// LIVE stage to associate them with a cache behavior. +type FunctionAssociations struct { + _ struct{} `type:"structure"` + + // The CloudFront functions that are associated with a cache behavior in a CloudFront + // distribution. CloudFront functions must be published to the LIVE stage to + // associate them with a cache behavior. + Items []*FunctionAssociation `locationNameList:"FunctionAssociation" type:"list"` + + // The number of CloudFront functions in the list. + // + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` +} + +// String returns the string representation +func (s FunctionAssociations) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FunctionAssociations) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FunctionAssociations) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FunctionAssociations"} + if s.Quantity == nil { + invalidParams.Add(request.NewErrParamRequired("Quantity")) + } + if s.Items != nil { + for i, v := range s.Items { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetItems sets the Items field's value. +func (s *FunctionAssociations) SetItems(v []*FunctionAssociation) *FunctionAssociations { + s.Items = v + return s +} + +// SetQuantity sets the Quantity field's value. +func (s *FunctionAssociations) SetQuantity(v int64) *FunctionAssociations { + s.Quantity = &v + return s +} + +// Contains configuration information about a CloudFront function. +type FunctionConfig struct { + _ struct{} `type:"structure"` + + // A comment to describe the function. + // + // Comment is a required field + Comment *string `type:"string" required:"true"` + + // The function’s runtime environment. The only valid value is cloudfront-js-1.0. + // + // Runtime is a required field + Runtime *string `type:"string" required:"true" enum:"FunctionRuntime"` +} + +// String returns the string representation +func (s FunctionConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FunctionConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FunctionConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FunctionConfig"} + if s.Comment == nil { + invalidParams.Add(request.NewErrParamRequired("Comment")) + } + if s.Runtime == nil { + invalidParams.Add(request.NewErrParamRequired("Runtime")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComment sets the Comment field's value. +func (s *FunctionConfig) SetComment(v string) *FunctionConfig { + s.Comment = &v + return s +} + +// SetRuntime sets the Runtime field's value. +func (s *FunctionConfig) SetRuntime(v string) *FunctionConfig { + s.Runtime = &v + return s +} + +// A list of CloudFront functions. +type FunctionList struct { + _ struct{} `type:"structure"` + + // Contains the functions in the list. + Items []*FunctionSummary `locationNameList:"FunctionSummary" type:"list"` + + // The maximum number of functions requested. + // + // MaxItems is a required field + MaxItems *int64 `type:"integer" required:"true"` + + // If there are more items in the list than are in this response, this element + // is present. It contains the value that you should use in the Marker field + // of a subsequent request to continue listing functions where you left off. + NextMarker *string `type:"string"` + + // The number of functions returned in the response. + // + // Quantity is a required field + Quantity *int64 `type:"integer" required:"true"` +} + +// String returns the string representation +func (s FunctionList) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FunctionList) GoString() string { + return s.String() +} + +// SetItems sets the Items field's value. +func (s *FunctionList) SetItems(v []*FunctionSummary) *FunctionList { + s.Items = v + return s +} + +// SetMaxItems sets the MaxItems field's value. +func (s *FunctionList) SetMaxItems(v int64) *FunctionList { + s.MaxItems = &v + return s +} + +// SetNextMarker sets the NextMarker field's value. +func (s *FunctionList) SetNextMarker(v string) *FunctionList { + s.NextMarker = &v + return s +} + +// SetQuantity sets the Quantity field's value. +func (s *FunctionList) SetQuantity(v int64) *FunctionList { + s.Quantity = &v + return s +} + +// Contains metadata about a CloudFront function. +type FunctionMetadata struct { + _ struct{} `type:"structure"` + + // The date and time when the function was created. + CreatedTime *time.Time `type:"timestamp"` + + // The Amazon Resource Name (ARN) of the function. The ARN uniquely identifies + // the function. // - // QueryString is a required field - QueryString *bool `type:"boolean" required:"true"` + // FunctionARN is a required field + FunctionARN *string `type:"string" required:"true"` - // This field is deprecated. We recommend that you use a cache policy or an - // origin request policy instead of this field. + // The date and time when the function was most recently updated. // - // If you want to include query strings in the cache key, use a cache policy. - // For more information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) - // in the Amazon CloudFront Developer Guide. + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` + + // The stage that the function is in, either DEVELOPMENT or LIVE. // - // If you want to send query strings to the origin but not include them in the - // cache key, use an origin request policy. For more information, see Creating - // origin request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) - // in the Amazon CloudFront Developer Guide. + // When a function is in the DEVELOPMENT stage, you can test the function with + // TestFunction, and update it with UpdateFunction. // - // A complex type that contains information about the query string parameters - // that you want CloudFront to use for caching for this cache behavior. - QueryStringCacheKeys *QueryStringCacheKeys `type:"structure"` + // When a function is in the LIVE stage, you can attach the function to a distribution’s + // cache behavior, using the function’s ARN. + Stage *string `type:"string" enum:"FunctionStage"` } // String returns the string representation -func (s ForwardedValues) String() string { +func (s FunctionMetadata) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ForwardedValues) GoString() string { +func (s FunctionMetadata) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ForwardedValues) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ForwardedValues"} - if s.Cookies == nil { - invalidParams.Add(request.NewErrParamRequired("Cookies")) - } - if s.QueryString == nil { - invalidParams.Add(request.NewErrParamRequired("QueryString")) - } - if s.Cookies != nil { - if err := s.Cookies.Validate(); err != nil { - invalidParams.AddNested("Cookies", err.(request.ErrInvalidParams)) - } - } - if s.Headers != nil { - if err := s.Headers.Validate(); err != nil { - invalidParams.AddNested("Headers", err.(request.ErrInvalidParams)) - } - } - if s.QueryStringCacheKeys != nil { - if err := s.QueryStringCacheKeys.Validate(); err != nil { - invalidParams.AddNested("QueryStringCacheKeys", err.(request.ErrInvalidParams)) - } - } +// SetCreatedTime sets the CreatedTime field's value. +func (s *FunctionMetadata) SetCreatedTime(v time.Time) *FunctionMetadata { + s.CreatedTime = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetFunctionARN sets the FunctionARN field's value. +func (s *FunctionMetadata) SetFunctionARN(v string) *FunctionMetadata { + s.FunctionARN = &v + return s } -// SetCookies sets the Cookies field's value. -func (s *ForwardedValues) SetCookies(v *CookiePreference) *ForwardedValues { - s.Cookies = v +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *FunctionMetadata) SetLastModifiedTime(v time.Time) *FunctionMetadata { + s.LastModifiedTime = &v return s } -// SetHeaders sets the Headers field's value. -func (s *ForwardedValues) SetHeaders(v *Headers) *ForwardedValues { - s.Headers = v +// SetStage sets the Stage field's value. +func (s *FunctionMetadata) SetStage(v string) *FunctionMetadata { + s.Stage = &v return s } -// SetQueryString sets the QueryString field's value. -func (s *ForwardedValues) SetQueryString(v bool) *ForwardedValues { - s.QueryString = &v +// Contains configuration information and metadata about a CloudFront function. +type FunctionSummary struct { + _ struct{} `type:"structure"` + + // Contains configuration information about a CloudFront function. + // + // FunctionConfig is a required field + FunctionConfig *FunctionConfig `type:"structure" required:"true"` + + // Contains metadata about a CloudFront function. + // + // FunctionMetadata is a required field + FunctionMetadata *FunctionMetadata `type:"structure" required:"true"` + + // The name of the CloudFront function. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The status of the CloudFront function. + Status *string `type:"string"` +} + +// String returns the string representation +func (s FunctionSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FunctionSummary) GoString() string { + return s.String() +} + +// SetFunctionConfig sets the FunctionConfig field's value. +func (s *FunctionSummary) SetFunctionConfig(v *FunctionConfig) *FunctionSummary { + s.FunctionConfig = v return s } -// SetQueryStringCacheKeys sets the QueryStringCacheKeys field's value. -func (s *ForwardedValues) SetQueryStringCacheKeys(v *QueryStringCacheKeys) *ForwardedValues { - s.QueryStringCacheKeys = v +// SetFunctionMetadata sets the FunctionMetadata field's value. +func (s *FunctionSummary) SetFunctionMetadata(v *FunctionMetadata) *FunctionSummary { + s.FunctionMetadata = v + return s +} + +// SetName sets the Name field's value. +func (s *FunctionSummary) SetName(v string) *FunctionSummary { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *FunctionSummary) SetStatus(v string) *FunctionSummary { + s.Status = &v return s } @@ -15036,6 +16501,97 @@ func (s *GetFieldLevelEncryptionProfileOutput) SetFieldLevelEncryptionProfile(v return s } +type GetFunctionInput struct { + _ struct{} `locationName:"GetFunctionRequest" type:"structure"` + + // The name of the function whose code you are getting. + // + // Name is a required field + Name *string `location:"uri" locationName:"Name" type:"string" required:"true"` + + // The function’s stage, either DEVELOPMENT or LIVE. + Stage *string `location:"querystring" locationName:"Stage" type:"string" enum:"FunctionStage"` +} + +// String returns the string representation +func (s GetFunctionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetFunctionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetFunctionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetFunctionInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *GetFunctionInput) SetName(v string) *GetFunctionInput { + s.Name = &v + return s +} + +// SetStage sets the Stage field's value. +func (s *GetFunctionInput) SetStage(v string) *GetFunctionInput { + s.Stage = &v + return s +} + +type GetFunctionOutput struct { + _ struct{} `type:"structure" payload:"FunctionCode"` + + // The content type (media type) of the response. + ContentType *string `location:"header" locationName:"Content-Type" type:"string"` + + // The version identifier for the current version of the CloudFront function. + ETag *string `location:"header" locationName:"ETag" type:"string"` + + // The function code of a CloudFront function. + FunctionCode []byte `min:"1" type:"blob" sensitive:"true"` +} + +// String returns the string representation +func (s GetFunctionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetFunctionOutput) GoString() string { + return s.String() +} + +// SetContentType sets the ContentType field's value. +func (s *GetFunctionOutput) SetContentType(v string) *GetFunctionOutput { + s.ContentType = &v + return s +} + +// SetETag sets the ETag field's value. +func (s *GetFunctionOutput) SetETag(v string) *GetFunctionOutput { + s.ETag = &v + return s +} + +// SetFunctionCode sets the FunctionCode field's value. +func (s *GetFunctionOutput) SetFunctionCode(v []byte) *GetFunctionOutput { + s.FunctionCode = v + return s +} + // The request to get an invalidation's information. type GetInvalidationInput struct { _ struct{} `locationName:"GetInvalidationRequest" type:"structure"` @@ -16248,7 +17804,8 @@ func (s *KeyGroup) SetLastModifiedTime(v time.Time) *KeyGroup { type KeyGroupConfig struct { _ struct{} `type:"structure"` - // A comment to describe the key group. + // A comment to describe the key group. The comment cannot be longer than 128 + // characters. Comment *string `type:"string"` // A list of the identifiers of the public keys in the key group. @@ -17337,48 +18894,116 @@ type ListFieldLevelEncryptionProfilesInput struct { } // String returns the string representation -func (s ListFieldLevelEncryptionProfilesInput) String() string { +func (s ListFieldLevelEncryptionProfilesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListFieldLevelEncryptionProfilesInput) GoString() string { + return s.String() +} + +// SetMarker sets the Marker field's value. +func (s *ListFieldLevelEncryptionProfilesInput) SetMarker(v string) *ListFieldLevelEncryptionProfilesInput { + s.Marker = &v + return s +} + +// SetMaxItems sets the MaxItems field's value. +func (s *ListFieldLevelEncryptionProfilesInput) SetMaxItems(v int64) *ListFieldLevelEncryptionProfilesInput { + s.MaxItems = &v + return s +} + +type ListFieldLevelEncryptionProfilesOutput struct { + _ struct{} `type:"structure" payload:"FieldLevelEncryptionProfileList"` + + // Returns a list of the field-level encryption profiles that have been created + // in CloudFront for this account. + FieldLevelEncryptionProfileList *FieldLevelEncryptionProfileList `type:"structure"` +} + +// String returns the string representation +func (s ListFieldLevelEncryptionProfilesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListFieldLevelEncryptionProfilesOutput) GoString() string { + return s.String() +} + +// SetFieldLevelEncryptionProfileList sets the FieldLevelEncryptionProfileList field's value. +func (s *ListFieldLevelEncryptionProfilesOutput) SetFieldLevelEncryptionProfileList(v *FieldLevelEncryptionProfileList) *ListFieldLevelEncryptionProfilesOutput { + s.FieldLevelEncryptionProfileList = v + return s +} + +type ListFunctionsInput struct { + _ struct{} `locationName:"ListFunctionsRequest" type:"structure"` + + // Use this field when paginating results to indicate where to begin in your + // list of functions. The response includes functions in the list that occur + // after the marker. To get the next page of the list, set this field’s value + // to the value of NextMarker from the current page’s response. + Marker *string `location:"querystring" locationName:"Marker" type:"string"` + + // The maximum number of functions that you want in the response. + MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` + + // An optional filter to return only the functions that are in the specified + // stage, either DEVELOPMENT or LIVE. + Stage *string `location:"querystring" locationName:"Stage" type:"string" enum:"FunctionStage"` +} + +// String returns the string representation +func (s ListFunctionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListFieldLevelEncryptionProfilesInput) GoString() string { +func (s ListFunctionsInput) GoString() string { return s.String() } // SetMarker sets the Marker field's value. -func (s *ListFieldLevelEncryptionProfilesInput) SetMarker(v string) *ListFieldLevelEncryptionProfilesInput { +func (s *ListFunctionsInput) SetMarker(v string) *ListFunctionsInput { s.Marker = &v return s } // SetMaxItems sets the MaxItems field's value. -func (s *ListFieldLevelEncryptionProfilesInput) SetMaxItems(v int64) *ListFieldLevelEncryptionProfilesInput { +func (s *ListFunctionsInput) SetMaxItems(v int64) *ListFunctionsInput { s.MaxItems = &v return s } -type ListFieldLevelEncryptionProfilesOutput struct { - _ struct{} `type:"structure" payload:"FieldLevelEncryptionProfileList"` +// SetStage sets the Stage field's value. +func (s *ListFunctionsInput) SetStage(v string) *ListFunctionsInput { + s.Stage = &v + return s +} - // Returns a list of the field-level encryption profiles that have been created - // in CloudFront for this account. - FieldLevelEncryptionProfileList *FieldLevelEncryptionProfileList `type:"structure"` +type ListFunctionsOutput struct { + _ struct{} `type:"structure" payload:"FunctionList"` + + // A list of CloudFront functions. + FunctionList *FunctionList `type:"structure"` } // String returns the string representation -func (s ListFieldLevelEncryptionProfilesOutput) String() string { +func (s ListFunctionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListFieldLevelEncryptionProfilesOutput) GoString() string { +func (s ListFunctionsOutput) GoString() string { return s.String() } -// SetFieldLevelEncryptionProfileList sets the FieldLevelEncryptionProfileList field's value. -func (s *ListFieldLevelEncryptionProfilesOutput) SetFieldLevelEncryptionProfileList(v *FieldLevelEncryptionProfileList) *ListFieldLevelEncryptionProfilesOutput { - s.FieldLevelEncryptionProfileList = v +// SetFunctionList sets the FunctionList field's value. +func (s *ListFunctionsOutput) SetFunctionList(v *FunctionList) *ListFunctionsOutput { + s.FunctionList = v return s } @@ -18244,7 +19869,8 @@ type OriginAccessIdentityConfig struct { // CallerReference is a required field CallerReference *string `type:"string" required:"true"` - // Any comments you want to include about the origin access identity. + // An optional comment to describe the origin access identity. The comment cannot + // be longer than 128 characters. // // Comment is a required field Comment *string `type:"string" required:"true"` @@ -18871,7 +20497,8 @@ func (s *OriginRequestPolicy) SetOriginRequestPolicyConfig(v *OriginRequestPolic type OriginRequestPolicyConfig struct { _ struct{} `type:"structure"` - // A comment to describe the origin request policy. + // A comment to describe the origin request policy. The comment cannot be longer + // than 128 characters. Comment *string `type:"string"` // The cookies from viewer requests to include in origin requests. @@ -19755,7 +21382,8 @@ type PublicKeyConfig struct { // CallerReference is a required field CallerReference *string `type:"string" required:"true"` - // A comment to describe the public key. + // A comment to describe the public key. The comment cannot be longer than 128 + // characters. Comment *string `type:"string"` // The public key that you can use with signed URLs and signed cookies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html), @@ -19886,7 +21514,8 @@ func (s *PublicKeyList) SetQuantity(v int64) *PublicKeyList { type PublicKeySummary struct { _ struct{} `type:"structure"` - // A comment to describe the public key. + // A comment to describe the public key. The comment cannot be longer than 128 + // characters. Comment *string `type:"string"` // The date and time when the public key was uploaded. @@ -19950,6 +21579,85 @@ func (s *PublicKeySummary) SetName(v string) *PublicKeySummary { return s } +type PublishFunctionInput struct { + _ struct{} `locationName:"PublishFunctionRequest" type:"structure"` + + // The current version (ETag value) of the function that you are publishing, + // which you can get using DescribeFunction. + // + // IfMatch is a required field + IfMatch *string `location:"header" locationName:"If-Match" type:"string" required:"true"` + + // The name of the function that you are publishing. + // + // Name is a required field + Name *string `location:"uri" locationName:"Name" type:"string" required:"true"` +} + +// String returns the string representation +func (s PublishFunctionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PublishFunctionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PublishFunctionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PublishFunctionInput"} + if s.IfMatch == nil { + invalidParams.Add(request.NewErrParamRequired("IfMatch")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIfMatch sets the IfMatch field's value. +func (s *PublishFunctionInput) SetIfMatch(v string) *PublishFunctionInput { + s.IfMatch = &v + return s +} + +// SetName sets the Name field's value. +func (s *PublishFunctionInput) SetName(v string) *PublishFunctionInput { + s.Name = &v + return s +} + +type PublishFunctionOutput struct { + _ struct{} `type:"structure" payload:"FunctionSummary"` + + // Contains configuration information and metadata about a CloudFront function. + FunctionSummary *FunctionSummary `type:"structure"` +} + +// String returns the string representation +func (s PublishFunctionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PublishFunctionOutput) GoString() string { + return s.String() +} + +// SetFunctionSummary sets the FunctionSummary field's value. +func (s *PublishFunctionOutput) SetFunctionSummary(v *FunctionSummary) *PublishFunctionOutput { + s.FunctionSummary = v + return s +} + // Query argument-profile mapping for field-level encryption. type QueryArgProfile struct { _ struct{} `type:"structure"` @@ -21531,6 +23239,180 @@ func (s *Tags) SetItems(v []*Tag) *Tags { return s } +type TestFunctionInput struct { + _ struct{} `locationName:"TestFunctionRequest" type:"structure" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` + + // The event object to test the function with. For more information about the + // structure of the event object, see Testing functions (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/managing-functions.html#test-function) + // in the Amazon CloudFront Developer Guide. + // + // EventObject is automatically base64 encoded/decoded by the SDK. + // + // EventObject is a required field + EventObject []byte `type:"blob" required:"true" sensitive:"true"` + + // The current version (ETag value) of the function that you are testing, which + // you can get using DescribeFunction. + // + // IfMatch is a required field + IfMatch *string `location:"header" locationName:"If-Match" type:"string" required:"true"` + + // The name of the function that you are testing. + // + // Name is a required field + Name *string `location:"uri" locationName:"Name" type:"string" required:"true"` + + // The stage of the function that you are testing, either DEVELOPMENT or LIVE. + Stage *string `type:"string" enum:"FunctionStage"` +} + +// String returns the string representation +func (s TestFunctionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TestFunctionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TestFunctionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TestFunctionInput"} + if s.EventObject == nil { + invalidParams.Add(request.NewErrParamRequired("EventObject")) + } + if s.IfMatch == nil { + invalidParams.Add(request.NewErrParamRequired("IfMatch")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEventObject sets the EventObject field's value. +func (s *TestFunctionInput) SetEventObject(v []byte) *TestFunctionInput { + s.EventObject = v + return s +} + +// SetIfMatch sets the IfMatch field's value. +func (s *TestFunctionInput) SetIfMatch(v string) *TestFunctionInput { + s.IfMatch = &v + return s +} + +// SetName sets the Name field's value. +func (s *TestFunctionInput) SetName(v string) *TestFunctionInput { + s.Name = &v + return s +} + +// SetStage sets the Stage field's value. +func (s *TestFunctionInput) SetStage(v string) *TestFunctionInput { + s.Stage = &v + return s +} + +type TestFunctionOutput struct { + _ struct{} `type:"structure" payload:"TestResult"` + + // An object that represents the result of running the function with the provided + // event object. + TestResult *TestResult `type:"structure"` +} + +// String returns the string representation +func (s TestFunctionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TestFunctionOutput) GoString() string { + return s.String() +} + +// SetTestResult sets the TestResult field's value. +func (s *TestFunctionOutput) SetTestResult(v *TestResult) *TestFunctionOutput { + s.TestResult = v + return s +} + +// Contains the result of testing a CloudFront function with TestFunction. +type TestResult struct { + _ struct{} `type:"structure"` + + // The amount of time that the function took to run as a percentage of the maximum + // allowed time. For example, a compute utilization of 35 means that the function + // completed in 35% of the maximum allowed time. + ComputeUtilization *string `type:"string"` + + // If the result of testing the function was an error, this field contains the + // error message. + FunctionErrorMessage *string `type:"string"` + + // Contains the log lines that the function wrote (if any) when running the + // test. + FunctionExecutionLogs []*string `type:"list"` + + // The event object returned by the function. For more information about the + // structure of the event object, see Event object structure (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/functions-event-structure.html) + // in the Amazon CloudFront Developer Guide. + FunctionOutput *string `type:"string"` + + // Contains configuration information and metadata about the CloudFront function + // that was tested. + FunctionSummary *FunctionSummary `type:"structure"` +} + +// String returns the string representation +func (s TestResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TestResult) GoString() string { + return s.String() +} + +// SetComputeUtilization sets the ComputeUtilization field's value. +func (s *TestResult) SetComputeUtilization(v string) *TestResult { + s.ComputeUtilization = &v + return s +} + +// SetFunctionErrorMessage sets the FunctionErrorMessage field's value. +func (s *TestResult) SetFunctionErrorMessage(v string) *TestResult { + s.FunctionErrorMessage = &v + return s +} + +// SetFunctionExecutionLogs sets the FunctionExecutionLogs field's value. +func (s *TestResult) SetFunctionExecutionLogs(v []*string) *TestResult { + s.FunctionExecutionLogs = v + return s +} + +// SetFunctionOutput sets the FunctionOutput field's value. +func (s *TestResult) SetFunctionOutput(v string) *TestResult { + s.FunctionOutput = &v + return s +} + +// SetFunctionSummary sets the FunctionSummary field's value. +func (s *TestResult) SetFunctionSummary(v *FunctionSummary) *TestResult { + s.FunctionSummary = v + return s +} + // A list of key groups whose public keys CloudFront can use to verify the signatures // of signed URLs and signed cookies. type TrustedKeyGroups struct { @@ -22245,6 +24127,134 @@ func (s *UpdateFieldLevelEncryptionProfileOutput) SetFieldLevelEncryptionProfile return s } +type UpdateFunctionInput struct { + _ struct{} `locationName:"UpdateFunctionRequest" type:"structure" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` + + // The function code. For more information about writing a CloudFront function, + // see Writing function code for CloudFront Functions (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/writing-function-code.html) + // in the Amazon CloudFront Developer Guide. + // + // FunctionCode is automatically base64 encoded/decoded by the SDK. + // + // FunctionCode is a required field + FunctionCode []byte `min:"1" type:"blob" required:"true" sensitive:"true"` + + // Configuration information about the function. + // + // FunctionConfig is a required field + FunctionConfig *FunctionConfig `type:"structure" required:"true"` + + // The current version (ETag value) of the function that you are updating, which + // you can get using DescribeFunction. + // + // IfMatch is a required field + IfMatch *string `location:"header" locationName:"If-Match" type:"string" required:"true"` + + // The name of the function that you are updating. + // + // Name is a required field + Name *string `location:"uri" locationName:"Name" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateFunctionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateFunctionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateFunctionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateFunctionInput"} + if s.FunctionCode == nil { + invalidParams.Add(request.NewErrParamRequired("FunctionCode")) + } + if s.FunctionCode != nil && len(s.FunctionCode) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FunctionCode", 1)) + } + if s.FunctionConfig == nil { + invalidParams.Add(request.NewErrParamRequired("FunctionConfig")) + } + if s.IfMatch == nil { + invalidParams.Add(request.NewErrParamRequired("IfMatch")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.FunctionConfig != nil { + if err := s.FunctionConfig.Validate(); err != nil { + invalidParams.AddNested("FunctionConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFunctionCode sets the FunctionCode field's value. +func (s *UpdateFunctionInput) SetFunctionCode(v []byte) *UpdateFunctionInput { + s.FunctionCode = v + return s +} + +// SetFunctionConfig sets the FunctionConfig field's value. +func (s *UpdateFunctionInput) SetFunctionConfig(v *FunctionConfig) *UpdateFunctionInput { + s.FunctionConfig = v + return s +} + +// SetIfMatch sets the IfMatch field's value. +func (s *UpdateFunctionInput) SetIfMatch(v string) *UpdateFunctionInput { + s.IfMatch = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateFunctionInput) SetName(v string) *UpdateFunctionInput { + s.Name = &v + return s +} + +type UpdateFunctionOutput struct { + _ struct{} `type:"structure" payload:"FunctionSummary"` + + // The version identifier for the current version of the CloudFront function. + ETag *string `location:"header" locationName:"ETtag" type:"string"` + + // Contains configuration information and metadata about a CloudFront function. + FunctionSummary *FunctionSummary `type:"structure"` +} + +// String returns the string representation +func (s UpdateFunctionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateFunctionOutput) GoString() string { + return s.String() +} + +// SetETag sets the ETag field's value. +func (s *UpdateFunctionOutput) SetETag(v string) *UpdateFunctionOutput { + s.ETag = &v + return s +} + +// SetFunctionSummary sets the FunctionSummary field's value. +func (s *UpdateFunctionOutput) SetFunctionSummary(v *FunctionSummary) *UpdateFunctionOutput { + s.FunctionSummary = v + return s +} + type UpdateKeyGroupInput struct { _ struct{} `locationName:"UpdateKeyGroupRequest" type:"structure" payload:"KeyGroupConfig"` @@ -23097,6 +25107,34 @@ func Format_Values() []string { } } +const ( + // FunctionRuntimeCloudfrontJs10 is a FunctionRuntime enum value + FunctionRuntimeCloudfrontJs10 = "cloudfront-js-1.0" +) + +// FunctionRuntime_Values returns all elements of the FunctionRuntime enum +func FunctionRuntime_Values() []string { + return []string{ + FunctionRuntimeCloudfrontJs10, + } +} + +const ( + // FunctionStageDevelopment is a FunctionStage enum value + FunctionStageDevelopment = "DEVELOPMENT" + + // FunctionStageLive is a FunctionStage enum value + FunctionStageLive = "LIVE" +) + +// FunctionStage_Values returns all elements of the FunctionStage enum +func FunctionStage_Values() []string { + return []string{ + FunctionStageDevelopment, + FunctionStageLive, + } +} + const ( // GeoRestrictionTypeBlacklist is a GeoRestrictionType enum value GeoRestrictionTypeBlacklist = "blacklist" diff --git a/service/cloudfront/cloudfrontiface/interface.go b/service/cloudfront/cloudfrontiface/interface.go index cc4fd89564..4e1d89be9d 100644 --- a/service/cloudfront/cloudfrontiface/interface.go +++ b/service/cloudfront/cloudfrontiface/interface.go @@ -84,6 +84,10 @@ type CloudFrontAPI interface { CreateFieldLevelEncryptionProfileWithContext(aws.Context, *cloudfront.CreateFieldLevelEncryptionProfileInput, ...request.Option) (*cloudfront.CreateFieldLevelEncryptionProfileOutput, error) CreateFieldLevelEncryptionProfileRequest(*cloudfront.CreateFieldLevelEncryptionProfileInput) (*request.Request, *cloudfront.CreateFieldLevelEncryptionProfileOutput) + CreateFunction(*cloudfront.CreateFunctionInput) (*cloudfront.CreateFunctionOutput, error) + CreateFunctionWithContext(aws.Context, *cloudfront.CreateFunctionInput, ...request.Option) (*cloudfront.CreateFunctionOutput, error) + CreateFunctionRequest(*cloudfront.CreateFunctionInput) (*request.Request, *cloudfront.CreateFunctionOutput) + CreateInvalidation(*cloudfront.CreateInvalidationInput) (*cloudfront.CreateInvalidationOutput, error) CreateInvalidationWithContext(aws.Context, *cloudfront.CreateInvalidationInput, ...request.Option) (*cloudfront.CreateInvalidationOutput, error) CreateInvalidationRequest(*cloudfront.CreateInvalidationInput) (*request.Request, *cloudfront.CreateInvalidationOutput) @@ -136,6 +140,10 @@ type CloudFrontAPI interface { DeleteFieldLevelEncryptionProfileWithContext(aws.Context, *cloudfront.DeleteFieldLevelEncryptionProfileInput, ...request.Option) (*cloudfront.DeleteFieldLevelEncryptionProfileOutput, error) DeleteFieldLevelEncryptionProfileRequest(*cloudfront.DeleteFieldLevelEncryptionProfileInput) (*request.Request, *cloudfront.DeleteFieldLevelEncryptionProfileOutput) + DeleteFunction(*cloudfront.DeleteFunctionInput) (*cloudfront.DeleteFunctionOutput, error) + DeleteFunctionWithContext(aws.Context, *cloudfront.DeleteFunctionInput, ...request.Option) (*cloudfront.DeleteFunctionOutput, error) + DeleteFunctionRequest(*cloudfront.DeleteFunctionInput) (*request.Request, *cloudfront.DeleteFunctionOutput) + DeleteKeyGroup(*cloudfront.DeleteKeyGroupInput) (*cloudfront.DeleteKeyGroupOutput, error) DeleteKeyGroupWithContext(aws.Context, *cloudfront.DeleteKeyGroupInput, ...request.Option) (*cloudfront.DeleteKeyGroupOutput, error) DeleteKeyGroupRequest(*cloudfront.DeleteKeyGroupInput) (*request.Request, *cloudfront.DeleteKeyGroupOutput) @@ -160,6 +168,10 @@ type CloudFrontAPI interface { DeleteStreamingDistributionWithContext(aws.Context, *cloudfront.DeleteStreamingDistributionInput, ...request.Option) (*cloudfront.DeleteStreamingDistributionOutput, error) DeleteStreamingDistributionRequest(*cloudfront.DeleteStreamingDistributionInput) (*request.Request, *cloudfront.DeleteStreamingDistributionOutput) + DescribeFunction(*cloudfront.DescribeFunctionInput) (*cloudfront.DescribeFunctionOutput, error) + DescribeFunctionWithContext(aws.Context, *cloudfront.DescribeFunctionInput, ...request.Option) (*cloudfront.DescribeFunctionOutput, error) + DescribeFunctionRequest(*cloudfront.DescribeFunctionInput) (*request.Request, *cloudfront.DescribeFunctionOutput) + GetCachePolicy(*cloudfront.GetCachePolicyInput) (*cloudfront.GetCachePolicyOutput, error) GetCachePolicyWithContext(aws.Context, *cloudfront.GetCachePolicyInput, ...request.Option) (*cloudfront.GetCachePolicyOutput, error) GetCachePolicyRequest(*cloudfront.GetCachePolicyInput) (*request.Request, *cloudfront.GetCachePolicyOutput) @@ -200,6 +212,10 @@ type CloudFrontAPI interface { GetFieldLevelEncryptionProfileConfigWithContext(aws.Context, *cloudfront.GetFieldLevelEncryptionProfileConfigInput, ...request.Option) (*cloudfront.GetFieldLevelEncryptionProfileConfigOutput, error) GetFieldLevelEncryptionProfileConfigRequest(*cloudfront.GetFieldLevelEncryptionProfileConfigInput) (*request.Request, *cloudfront.GetFieldLevelEncryptionProfileConfigOutput) + GetFunction(*cloudfront.GetFunctionInput) (*cloudfront.GetFunctionOutput, error) + GetFunctionWithContext(aws.Context, *cloudfront.GetFunctionInput, ...request.Option) (*cloudfront.GetFunctionOutput, error) + GetFunctionRequest(*cloudfront.GetFunctionInput) (*request.Request, *cloudfront.GetFunctionOutput) + GetInvalidation(*cloudfront.GetInvalidationInput) (*cloudfront.GetInvalidationOutput, error) GetInvalidationWithContext(aws.Context, *cloudfront.GetInvalidationInput, ...request.Option) (*cloudfront.GetInvalidationOutput, error) GetInvalidationRequest(*cloudfront.GetInvalidationInput) (*request.Request, *cloudfront.GetInvalidationOutput) @@ -290,6 +306,10 @@ type CloudFrontAPI interface { ListFieldLevelEncryptionProfilesWithContext(aws.Context, *cloudfront.ListFieldLevelEncryptionProfilesInput, ...request.Option) (*cloudfront.ListFieldLevelEncryptionProfilesOutput, error) ListFieldLevelEncryptionProfilesRequest(*cloudfront.ListFieldLevelEncryptionProfilesInput) (*request.Request, *cloudfront.ListFieldLevelEncryptionProfilesOutput) + ListFunctions(*cloudfront.ListFunctionsInput) (*cloudfront.ListFunctionsOutput, error) + ListFunctionsWithContext(aws.Context, *cloudfront.ListFunctionsInput, ...request.Option) (*cloudfront.ListFunctionsOutput, error) + ListFunctionsRequest(*cloudfront.ListFunctionsInput) (*request.Request, *cloudfront.ListFunctionsOutput) + ListInvalidations(*cloudfront.ListInvalidationsInput) (*cloudfront.ListInvalidationsOutput, error) ListInvalidationsWithContext(aws.Context, *cloudfront.ListInvalidationsInput, ...request.Option) (*cloudfront.ListInvalidationsOutput, error) ListInvalidationsRequest(*cloudfront.ListInvalidationsInput) (*request.Request, *cloudfront.ListInvalidationsOutput) @@ -324,10 +344,18 @@ type CloudFrontAPI interface { ListTagsForResourceWithContext(aws.Context, *cloudfront.ListTagsForResourceInput, ...request.Option) (*cloudfront.ListTagsForResourceOutput, error) ListTagsForResourceRequest(*cloudfront.ListTagsForResourceInput) (*request.Request, *cloudfront.ListTagsForResourceOutput) + PublishFunction(*cloudfront.PublishFunctionInput) (*cloudfront.PublishFunctionOutput, error) + PublishFunctionWithContext(aws.Context, *cloudfront.PublishFunctionInput, ...request.Option) (*cloudfront.PublishFunctionOutput, error) + PublishFunctionRequest(*cloudfront.PublishFunctionInput) (*request.Request, *cloudfront.PublishFunctionOutput) + TagResource(*cloudfront.TagResourceInput) (*cloudfront.TagResourceOutput, error) TagResourceWithContext(aws.Context, *cloudfront.TagResourceInput, ...request.Option) (*cloudfront.TagResourceOutput, error) TagResourceRequest(*cloudfront.TagResourceInput) (*request.Request, *cloudfront.TagResourceOutput) + TestFunction(*cloudfront.TestFunctionInput) (*cloudfront.TestFunctionOutput, error) + TestFunctionWithContext(aws.Context, *cloudfront.TestFunctionInput, ...request.Option) (*cloudfront.TestFunctionOutput, error) + TestFunctionRequest(*cloudfront.TestFunctionInput) (*request.Request, *cloudfront.TestFunctionOutput) + UntagResource(*cloudfront.UntagResourceInput) (*cloudfront.UntagResourceOutput, error) UntagResourceWithContext(aws.Context, *cloudfront.UntagResourceInput, ...request.Option) (*cloudfront.UntagResourceOutput, error) UntagResourceRequest(*cloudfront.UntagResourceInput) (*request.Request, *cloudfront.UntagResourceOutput) @@ -352,6 +380,10 @@ type CloudFrontAPI interface { UpdateFieldLevelEncryptionProfileWithContext(aws.Context, *cloudfront.UpdateFieldLevelEncryptionProfileInput, ...request.Option) (*cloudfront.UpdateFieldLevelEncryptionProfileOutput, error) UpdateFieldLevelEncryptionProfileRequest(*cloudfront.UpdateFieldLevelEncryptionProfileInput) (*request.Request, *cloudfront.UpdateFieldLevelEncryptionProfileOutput) + UpdateFunction(*cloudfront.UpdateFunctionInput) (*cloudfront.UpdateFunctionOutput, error) + UpdateFunctionWithContext(aws.Context, *cloudfront.UpdateFunctionInput, ...request.Option) (*cloudfront.UpdateFunctionOutput, error) + UpdateFunctionRequest(*cloudfront.UpdateFunctionInput) (*request.Request, *cloudfront.UpdateFunctionOutput) + UpdateKeyGroup(*cloudfront.UpdateKeyGroupInput) (*cloudfront.UpdateKeyGroupOutput, error) UpdateKeyGroupWithContext(aws.Context, *cloudfront.UpdateKeyGroupInput, ...request.Option) (*cloudfront.UpdateKeyGroupOutput, error) UpdateKeyGroupRequest(*cloudfront.UpdateKeyGroupInput) (*request.Request, *cloudfront.UpdateKeyGroupOutput) diff --git a/service/cloudfront/errors.go b/service/cloudfront/errors.go index c4a63ac3bc..c10d7291a8 100644 --- a/service/cloudfront/errors.go +++ b/service/cloudfront/errors.go @@ -86,6 +86,27 @@ const ( // The maximum size of a profile for field-level encryption was exceeded. ErrCodeFieldLevelEncryptionProfileSizeExceeded = "FieldLevelEncryptionProfileSizeExceeded" + // ErrCodeFunctionAlreadyExists for service response error code + // "FunctionAlreadyExists". + // + // A function with the same name already exists in this AWS account. To create + // a function, you must provide a unique name. To update an existing function, + // use UpdateFunction. + ErrCodeFunctionAlreadyExists = "FunctionAlreadyExists" + + // ErrCodeFunctionInUse for service response error code + // "FunctionInUse". + // + // Cannot delete the function because it’s attached to one or more cache behaviors. + ErrCodeFunctionInUse = "FunctionInUse" + + // ErrCodeFunctionSizeLimitExceeded for service response error code + // "FunctionSizeLimitExceeded". + // + // The function is too large. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) + // (formerly known as limits) in the Amazon CloudFront Developer Guide. + ErrCodeFunctionSizeLimitExceeded = "FunctionSizeLimitExceeded" + // ErrCodeIllegalDelete for service response error code // "IllegalDelete". // @@ -138,6 +159,12 @@ const ( // when expected. ErrCodeInvalidForwardCookies = "InvalidForwardCookies" + // ErrCodeInvalidFunctionAssociation for service response error code + // "InvalidFunctionAssociation". + // + // A CloudFront function association is invalid. + ErrCodeInvalidFunctionAssociation = "InvalidFunctionAssociation" + // ErrCodeInvalidGeoRestrictionParameter for service response error code // "InvalidGeoRestrictionParameter". // @@ -304,6 +331,12 @@ const ( // The specified profile for field-level encryption doesn't exist. ErrCodeNoSuchFieldLevelEncryptionProfile = "NoSuchFieldLevelEncryptionProfile" + // ErrCodeNoSuchFunctionExists for service response error code + // "NoSuchFunctionExists". + // + // The function does not exist. + ErrCodeNoSuchFunctionExists = "NoSuchFunctionExists" + // ErrCodeNoSuchInvalidation for service response error code // "NoSuchInvalidation". // @@ -378,8 +411,7 @@ const ( // ErrCodePreconditionFailed for service response error code // "PreconditionFailed". // - // The precondition given in one or more of the request header fields evaluated - // to false. + // The precondition in one or more of the request fields evaluated to false. ErrCodePreconditionFailed = "PreconditionFailed" // ErrCodePublicKeyAlreadyExists for service response error code @@ -414,6 +446,12 @@ const ( // or more cache behaviors. ErrCodeRealtimeLogConfigInUse = "RealtimeLogConfigInUse" + // ErrCodeRealtimeLogConfigOwnerMismatch for service response error code + // "RealtimeLogConfigOwnerMismatch". + // + // The specified real-time log configuration belongs to a different AWS account. + ErrCodeRealtimeLogConfigOwnerMismatch = "RealtimeLogConfigOwnerMismatch" + // ErrCodeResourceInUse for service response error code // "ResourceInUse". // @@ -434,6 +472,12 @@ const ( // distribution before you can delete it. ErrCodeStreamingDistributionNotDisabled = "StreamingDistributionNotDisabled" + // ErrCodeTestFunctionFailed for service response error code + // "TestFunctionFailed". + // + // The CloudFront function failed. + ErrCodeTestFunctionFailed = "TestFunctionFailed" + // ErrCodeTooManyCacheBehaviors for service response error code // "TooManyCacheBehaviors". // @@ -528,6 +572,14 @@ const ( // (formerly known as limits) in the Amazon CloudFront Developer Guide. ErrCodeTooManyDistributionsAssociatedToOriginRequestPolicy = "TooManyDistributionsAssociatedToOriginRequestPolicy" + // ErrCodeTooManyDistributionsWithFunctionAssociations for service response error code + // "TooManyDistributionsWithFunctionAssociations". + // + // You have reached the maximum number of distributions that are associated + // with a CloudFront function. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) + // (formerly known as limits) in the Amazon CloudFront Developer Guide. + ErrCodeTooManyDistributionsWithFunctionAssociations = "TooManyDistributionsWithFunctionAssociations" + // ErrCodeTooManyDistributionsWithLambdaAssociations for service response error code // "TooManyDistributionsWithLambdaAssociations". // @@ -583,6 +635,22 @@ const ( // been created. ErrCodeTooManyFieldLevelEncryptionQueryArgProfiles = "TooManyFieldLevelEncryptionQueryArgProfiles" + // ErrCodeTooManyFunctionAssociations for service response error code + // "TooManyFunctionAssociations". + // + // You have reached the maximum number of CloudFront function associations for + // this distribution. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) + // (formerly known as limits) in the Amazon CloudFront Developer Guide. + ErrCodeTooManyFunctionAssociations = "TooManyFunctionAssociations" + + // ErrCodeTooManyFunctions for service response error code + // "TooManyFunctions". + // + // You have reached the maximum number of CloudFront functions for this AWS + // account. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) + // (formerly known as limits) in the Amazon CloudFront Developer Guide. + ErrCodeTooManyFunctions = "TooManyFunctions" + // ErrCodeTooManyHeadersInCachePolicy for service response error code // "TooManyHeadersInCachePolicy". // @@ -737,4 +805,10 @@ const ( // // One or more of your trusted signers don't exist. ErrCodeTrustedSignerDoesNotExist = "TrustedSignerDoesNotExist" + + // ErrCodeUnsupportedOperation for service response error code + // "UnsupportedOperation". + // + // This operation is not supported in this region. + ErrCodeUnsupportedOperation = "UnsupportedOperation" ) diff --git a/service/customerprofiles/api.go b/service/customerprofiles/api.go index d98f76785a..a406e688c1 100644 --- a/service/customerprofiles/api.go +++ b/service/customerprofiles/api.go @@ -1031,6 +1031,128 @@ func (c *CustomerProfiles) GetIntegrationWithContext(ctx aws.Context, input *Get return out, req.Send() } +const opGetMatches = "GetMatches" + +// GetMatchesRequest generates a "aws/request.Request" representing the +// client's request for the GetMatches 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 GetMatches for more information on using the GetMatches +// 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 GetMatchesRequest method. +// req, resp := client.GetMatchesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetMatches +func (c *CustomerProfiles) GetMatchesRequest(input *GetMatchesInput) (req *request.Request, output *GetMatchesOutput) { + op := &request.Operation{ + Name: opGetMatches, + HTTPMethod: "GET", + HTTPPath: "/domains/{DomainName}/matches", + } + + if input == nil { + input = &GetMatchesInput{} + } + + output = &GetMatchesOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetMatches API operation for Amazon Connect Customer Profiles. +// +// This API is in preview release for Amazon Connect and subject to change. +// +// Before calling this API, use CreateDomain (https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateDomain.html) +// or UpdateDomain (https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_UpdateDomain.html) +// to enable identity resolution: set Matching to true. +// +// GetMatches returns potentially matching profiles, based on the results of +// the latest run of a machine learning process. +// +// Amazon Connect runs a batch process every Saturday at 12AM UTC to identify +// matching profiles. The results are returned up to seven days after the Saturday +// run. +// +// Amazon Connect uses the following profile attributes to identify matches: +// +// * PhoneNumber +// +// * HomePhoneNumber +// +// * BusinessPhoneNumber +// +// * MobilePhoneNumber +// +// * EmailAddress +// +// * PersonalEmailAddress +// +// * BusinessEmailAddress +// +// * FullName +// +// * BusinessName +// +// 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 Amazon Connect Customer Profiles's +// API operation GetMatches for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The input you provided is invalid. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// * ResourceNotFoundException +// The requested resource does not exist, or access was denied. +// +// * ThrottlingException +// You exceeded the maximum number of requests. +// +// * InternalServerException +// An internal service error occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/GetMatches +func (c *CustomerProfiles) GetMatches(input *GetMatchesInput) (*GetMatchesOutput, error) { + req, out := c.GetMatchesRequest(input) + return out, req.Send() +} + +// GetMatchesWithContext is the same as GetMatches with the addition of +// the ability to pass a context and additional request options. +// +// See GetMatches 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 *CustomerProfiles) GetMatchesWithContext(ctx aws.Context, input *GetMatchesInput, opts ...request.Option) (*GetMatchesOutput, error) { + req, out := c.GetMatchesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetProfileObjectType = "GetProfileObjectType" // GetProfileObjectTypeRequest generates a "aws/request.Request" representing the @@ -1851,6 +1973,123 @@ func (c *CustomerProfiles) ListTagsForResourceWithContext(ctx aws.Context, input return out, req.Send() } +const opMergeProfiles = "MergeProfiles" + +// MergeProfilesRequest generates a "aws/request.Request" representing the +// client's request for the MergeProfiles 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 MergeProfiles for more information on using the MergeProfiles +// 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 MergeProfilesRequest method. +// req, resp := client.MergeProfilesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/MergeProfiles +func (c *CustomerProfiles) MergeProfilesRequest(input *MergeProfilesInput) (req *request.Request, output *MergeProfilesOutput) { + op := &request.Operation{ + Name: opMergeProfiles, + HTTPMethod: "POST", + HTTPPath: "/domains/{DomainName}/profiles/objects/merge", + } + + if input == nil { + input = &MergeProfilesInput{} + } + + output = &MergeProfilesOutput{} + req = c.newRequest(op, input, output) + return +} + +// MergeProfiles API operation for Amazon Connect Customer Profiles. +// +// This API is in preview release for Amazon Connect and subject to change. +// +// Runs an AWS Lambda job that does the following: +// +// All the profileKeys in the ProfileToBeMerged will be moved to the main profile. +// +// All the objects in the ProfileToBeMerged will be moved to the main profile. +// +// All the ProfileToBeMerged will be deleted at the end. +// +// All the profileKeys in the ProfileIdsToBeMerged will be moved to the main +// profile. +// +// Standard fields are merged as follows: +// +// Fields are always "union"-ed if there are no conflicts in standard fields +// or attributeKeys. +// +// When there are conflicting fields: +// +// If no SourceProfileIds entry is specified, the main Profile value is always +// taken. +// +// If a SourceProfileIds entry is specified, the specified profileId is always +// taken, even if it is a NULL value. +// +// You can use MergeProfiles together with GetMatches (https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html), +// which returns potentially matching profiles, or use it with the results of +// another matching system. After profiles have been merged, they cannot be +// separated (unmerged). +// +// 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 Amazon Connect Customer Profiles's +// API operation MergeProfiles for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The input you provided is invalid. +// +// * ResourceNotFoundException +// The requested resource does not exist, or access was denied. +// +// * ThrottlingException +// You exceeded the maximum number of requests. +// +// * InternalServerException +// An internal service error occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/customer-profiles-2020-08-15/MergeProfiles +func (c *CustomerProfiles) MergeProfiles(input *MergeProfilesInput) (*MergeProfilesOutput, error) { + req, out := c.MergeProfilesRequest(input) + return out, req.Send() +} + +// MergeProfilesWithContext is the same as MergeProfiles with the addition of +// the ability to pass a context and additional request options. +// +// See MergeProfiles 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 *CustomerProfiles) MergeProfilesWithContext(ctx aws.Context, input *MergeProfilesInput, opts ...request.Option) (*MergeProfilesOutput, error) { + req, out := c.MergeProfilesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opPutIntegration = "PutIntegration" // PutIntegrationRequest generates a "aws/request.Request" representing the @@ -2468,7 +2707,7 @@ func (c *CustomerProfiles) UpdateDomainRequest(input *UpdateDomainInput) (req *r // Updates the properties of a domain, including creating or selecting a dead // letter queue or an encryption key. // -// Once a domain is created, the name can’t be changed. +// After a domain is created, the name can’t be changed. // // 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 @@ -3071,6 +3310,10 @@ type CreateDomainInput struct { // DomainName is a required field DomainName *string `location:"uri" locationName:"DomainName" min:"1" type:"string" required:"true"` + // The process of matching duplicate profiles. This process runs every Saturday + // at 12AM. + Matching *MatchingRequest `type:"structure"` + // The tags used to organize, track, or control access for this resource. Tags map[string]*string `min:"1" type:"map"` } @@ -3103,6 +3346,11 @@ func (s *CreateDomainInput) Validate() error { if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } + if s.Matching != nil { + if err := s.Matching.Validate(); err != nil { + invalidParams.AddNested("Matching", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -3134,6 +3382,12 @@ func (s *CreateDomainInput) SetDomainName(v string) *CreateDomainInput { return s } +// SetMatching sets the Matching field's value. +func (s *CreateDomainInput) SetMatching(v *MatchingRequest) *CreateDomainInput { + s.Matching = v + return s +} + // SetTags sets the Tags field's value. func (s *CreateDomainInput) SetTags(v map[string]*string) *CreateDomainInput { s.Tags = v @@ -3172,6 +3426,10 @@ type CreateDomainOutput struct { // LastUpdatedAt is a required field LastUpdatedAt *time.Time `type:"timestamp" required:"true"` + // The process of matching duplicate profiles. This process runs every Saturday + // at 12AM. + Matching *MatchingResponse `type:"structure"` + // The tags used to organize, track, or control access for this resource. Tags map[string]*string `min:"1" type:"map"` } @@ -3222,6 +3480,12 @@ func (s *CreateDomainOutput) SetLastUpdatedAt(v time.Time) *CreateDomainOutput { return s } +// SetMatching sets the Matching field's value. +func (s *CreateDomainOutput) SetMatching(v *MatchingResponse) *CreateDomainOutput { + s.Matching = v + return s +} + // SetTags sets the Tags field's value. func (s *CreateDomainOutput) SetTags(v map[string]*string) *CreateDomainOutput { s.Tags = v @@ -3234,7 +3498,7 @@ type CreateProfileInput struct { // A unique account number that you have given to the customer. AccountNumber *string `min:"1" type:"string"` - // Any additional information relevant to the customer's profile. + // Any additional information relevant to the customer’s profile. AdditionalInformation *string `min:"1" type:"string"` // A generic address associated with the customer that is not mailing, shipping, @@ -3264,7 +3528,7 @@ type CreateProfileInput struct { // DomainName is a required field DomainName *string `location:"uri" locationName:"DomainName" min:"1" type:"string" required:"true"` - // The customer's email address, which has not been specified as a personal + // The customer’s email address, which has not been specified as a personal // or business address. EmailAddress *string `min:"1" type:"string"` @@ -3295,8 +3559,8 @@ type CreateProfileInput struct { // The customer’s personal email address. PersonalEmailAddress *string `min:"1" type:"string"` - // The customer's phone number, which has not been specified as a mobile, home, - // or business number. + // The customer’s phone number, which has not been specified as a mobile, + // home, or business number. PhoneNumber *string `min:"1" type:"string"` // The customer’s shipping address. @@ -4109,27 +4373,231 @@ func (s DomainStats) GoString() string { return s.String() } -// SetMeteringProfileCount sets the MeteringProfileCount field's value. -func (s *DomainStats) SetMeteringProfileCount(v int64) *DomainStats { - s.MeteringProfileCount = &v +// SetMeteringProfileCount sets the MeteringProfileCount field's value. +func (s *DomainStats) SetMeteringProfileCount(v int64) *DomainStats { + s.MeteringProfileCount = &v + return s +} + +// SetObjectCount sets the ObjectCount field's value. +func (s *DomainStats) SetObjectCount(v int64) *DomainStats { + s.ObjectCount = &v + return s +} + +// SetProfileCount sets the ProfileCount field's value. +func (s *DomainStats) SetProfileCount(v int64) *DomainStats { + s.ProfileCount = &v + return s +} + +// SetTotalSize sets the TotalSize field's value. +func (s *DomainStats) SetTotalSize(v int64) *DomainStats { + s.TotalSize = &v + return s +} + +// A duplicate customer profile that is to be merged into a main profile. +type FieldSourceProfileIds struct { + _ struct{} `type:"structure"` + + // A unique identifier for the account number field to be merged. + AccountNumber *string `type:"string"` + + // A unique identifier for the additional information field to be merged. + AdditionalInformation *string `type:"string"` + + // A unique identifier for the party type field to be merged. + Address *string `type:"string"` + + // A unique identifier for the attributes field to be merged. + Attributes map[string]*string `type:"map"` + + // A unique identifier for the billing type field to be merged. + BillingAddress *string `type:"string"` + + // A unique identifier for the birthdate field to be merged. + BirthDate *string `type:"string"` + + // A unique identifier for the party type field to be merged. + BusinessEmailAddress *string `type:"string"` + + // A unique identifier for the business name field to be merged. + BusinessName *string `type:"string"` + + // A unique identifier for the business phone number field to be merged. + BusinessPhoneNumber *string `type:"string"` + + // A unique identifier for the email address field to be merged. + EmailAddress *string `type:"string"` + + // A unique identifier for the first name field to be merged. + FirstName *string `type:"string"` + + // A unique identifier for the gender field to be merged. + Gender *string `type:"string"` + + // A unique identifier for the home phone number field to be merged. + HomePhoneNumber *string `type:"string"` + + // A unique identifier for the last name field to be merged. + LastName *string `type:"string"` + + // A unique identifier for the mailing address field to be merged. + MailingAddress *string `type:"string"` + + // A unique identifier for the middle name field to be merged. + MiddleName *string `type:"string"` + + // A unique identifier for the mobile phone number field to be merged. + MobilePhoneNumber *string `type:"string"` + + // A unique identifier for the party type field to be merged. + PartyType *string `type:"string"` + + // A unique identifier for the personal email address field to be merged. + PersonalEmailAddress *string `type:"string"` + + // A unique identifier for the phone number field to be merged. + PhoneNumber *string `type:"string"` + + // A unique identifier for the shipping address field to be merged. + ShippingAddress *string `type:"string"` +} + +// String returns the string representation +func (s FieldSourceProfileIds) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FieldSourceProfileIds) GoString() string { + return s.String() +} + +// SetAccountNumber sets the AccountNumber field's value. +func (s *FieldSourceProfileIds) SetAccountNumber(v string) *FieldSourceProfileIds { + s.AccountNumber = &v + return s +} + +// SetAdditionalInformation sets the AdditionalInformation field's value. +func (s *FieldSourceProfileIds) SetAdditionalInformation(v string) *FieldSourceProfileIds { + s.AdditionalInformation = &v + return s +} + +// SetAddress sets the Address field's value. +func (s *FieldSourceProfileIds) SetAddress(v string) *FieldSourceProfileIds { + s.Address = &v + return s +} + +// SetAttributes sets the Attributes field's value. +func (s *FieldSourceProfileIds) SetAttributes(v map[string]*string) *FieldSourceProfileIds { + s.Attributes = v + return s +} + +// SetBillingAddress sets the BillingAddress field's value. +func (s *FieldSourceProfileIds) SetBillingAddress(v string) *FieldSourceProfileIds { + s.BillingAddress = &v + return s +} + +// SetBirthDate sets the BirthDate field's value. +func (s *FieldSourceProfileIds) SetBirthDate(v string) *FieldSourceProfileIds { + s.BirthDate = &v + return s +} + +// SetBusinessEmailAddress sets the BusinessEmailAddress field's value. +func (s *FieldSourceProfileIds) SetBusinessEmailAddress(v string) *FieldSourceProfileIds { + s.BusinessEmailAddress = &v + return s +} + +// SetBusinessName sets the BusinessName field's value. +func (s *FieldSourceProfileIds) SetBusinessName(v string) *FieldSourceProfileIds { + s.BusinessName = &v + return s +} + +// SetBusinessPhoneNumber sets the BusinessPhoneNumber field's value. +func (s *FieldSourceProfileIds) SetBusinessPhoneNumber(v string) *FieldSourceProfileIds { + s.BusinessPhoneNumber = &v + return s +} + +// SetEmailAddress sets the EmailAddress field's value. +func (s *FieldSourceProfileIds) SetEmailAddress(v string) *FieldSourceProfileIds { + s.EmailAddress = &v + return s +} + +// SetFirstName sets the FirstName field's value. +func (s *FieldSourceProfileIds) SetFirstName(v string) *FieldSourceProfileIds { + s.FirstName = &v + return s +} + +// SetGender sets the Gender field's value. +func (s *FieldSourceProfileIds) SetGender(v string) *FieldSourceProfileIds { + s.Gender = &v + return s +} + +// SetHomePhoneNumber sets the HomePhoneNumber field's value. +func (s *FieldSourceProfileIds) SetHomePhoneNumber(v string) *FieldSourceProfileIds { + s.HomePhoneNumber = &v + return s +} + +// SetLastName sets the LastName field's value. +func (s *FieldSourceProfileIds) SetLastName(v string) *FieldSourceProfileIds { + s.LastName = &v + return s +} + +// SetMailingAddress sets the MailingAddress field's value. +func (s *FieldSourceProfileIds) SetMailingAddress(v string) *FieldSourceProfileIds { + s.MailingAddress = &v + return s +} + +// SetMiddleName sets the MiddleName field's value. +func (s *FieldSourceProfileIds) SetMiddleName(v string) *FieldSourceProfileIds { + s.MiddleName = &v + return s +} + +// SetMobilePhoneNumber sets the MobilePhoneNumber field's value. +func (s *FieldSourceProfileIds) SetMobilePhoneNumber(v string) *FieldSourceProfileIds { + s.MobilePhoneNumber = &v + return s +} + +// SetPartyType sets the PartyType field's value. +func (s *FieldSourceProfileIds) SetPartyType(v string) *FieldSourceProfileIds { + s.PartyType = &v return s } -// SetObjectCount sets the ObjectCount field's value. -func (s *DomainStats) SetObjectCount(v int64) *DomainStats { - s.ObjectCount = &v +// SetPersonalEmailAddress sets the PersonalEmailAddress field's value. +func (s *FieldSourceProfileIds) SetPersonalEmailAddress(v string) *FieldSourceProfileIds { + s.PersonalEmailAddress = &v return s } -// SetProfileCount sets the ProfileCount field's value. -func (s *DomainStats) SetProfileCount(v int64) *DomainStats { - s.ProfileCount = &v +// SetPhoneNumber sets the PhoneNumber field's value. +func (s *FieldSourceProfileIds) SetPhoneNumber(v string) *FieldSourceProfileIds { + s.PhoneNumber = &v return s } -// SetTotalSize sets the TotalSize field's value. -func (s *DomainStats) SetTotalSize(v int64) *DomainStats { - s.TotalSize = &v +// SetShippingAddress sets the ShippingAddress field's value. +func (s *FieldSourceProfileIds) SetShippingAddress(v string) *FieldSourceProfileIds { + s.ShippingAddress = &v return s } @@ -4269,7 +4737,7 @@ func (s *FlowDefinition) SetTriggerConfig(v *TriggerConfig) *FlowDefinition { type GetDomainInput struct { _ struct{} `type:"structure"` - // A unique name for the domain. + // The unique name of the domain. // // DomainName is a required field DomainName *string `location:"uri" locationName:"DomainName" min:"1" type:"string" required:"true"` @@ -4337,6 +4805,10 @@ type GetDomainOutput struct { // LastUpdatedAt is a required field LastUpdatedAt *time.Time `type:"timestamp" required:"true"` + // The process of matching duplicate profiles. This process runs every Saturday + // at 12AM. + Matching *MatchingResponse `type:"structure"` + // Usage-specific statistics about the domain. Stats *DomainStats `type:"structure"` @@ -4390,6 +4862,12 @@ func (s *GetDomainOutput) SetLastUpdatedAt(v time.Time) *GetDomainOutput { return s } +// SetMatching sets the Matching field's value. +func (s *GetDomainOutput) SetMatching(v *MatchingResponse) *GetDomainOutput { + s.Matching = v + return s +} + // SetStats sets the Stats field's value. func (s *GetDomainOutput) SetStats(v *DomainStats) *GetDomainOutput { s.Stats = v @@ -4538,6 +5016,122 @@ func (s *GetIntegrationOutput) SetUri(v string) *GetIntegrationOutput { return s } +type GetMatchesInput struct { + _ struct{} `type:"structure"` + + // The unique name of the domain. + // + // DomainName is a required field + DomainName *string `location:"uri" locationName:"DomainName" min:"1" type:"string" required:"true"` + + // The maximum number of results to return per page. + MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string `location:"querystring" locationName:"next-token" min:"1" type:"string"` +} + +// String returns the string representation +func (s GetMatchesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetMatchesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetMatchesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetMatchesInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainName sets the DomainName field's value. +func (s *GetMatchesInput) SetDomainName(v string) *GetMatchesInput { + s.DomainName = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetMatchesInput) SetMaxResults(v int64) *GetMatchesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetMatchesInput) SetNextToken(v string) *GetMatchesInput { + s.NextToken = &v + return s +} + +type GetMatchesOutput struct { + _ struct{} `type:"structure"` + + // The timestamp this version of Match Result generated. + MatchGenerationDate *time.Time `type:"timestamp"` + + // The list of matched profiles for this instance. + Matches []*MatchItem `type:"list"` + + // If there are additional results, this is the token for the next set of results. + NextToken *string `min:"1" type:"string"` + + // The number of potential matches found. + PotentialMatches *int64 `type:"integer"` +} + +// String returns the string representation +func (s GetMatchesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetMatchesOutput) GoString() string { + return s.String() +} + +// SetMatchGenerationDate sets the MatchGenerationDate field's value. +func (s *GetMatchesOutput) SetMatchGenerationDate(v time.Time) *GetMatchesOutput { + s.MatchGenerationDate = &v + return s +} + +// SetMatches sets the Matches field's value. +func (s *GetMatchesOutput) SetMatches(v []*MatchItem) *GetMatchesOutput { + s.Matches = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetMatchesOutput) SetNextToken(v string) *GetMatchesOutput { + s.NextToken = &v + return s +} + +// SetPotentialMatches sets the PotentialMatches field's value. +func (s *GetMatchesOutput) SetPotentialMatches(v int64) *GetMatchesOutput { + s.PotentialMatches = &v + return s +} + type GetProfileObjectTypeInput struct { _ struct{} `type:"structure"` @@ -5881,6 +6475,209 @@ func (s *MarketoSourceProperties) SetObject(v string) *MarketoSourceProperties { return s } +// The Match group object. +type MatchItem struct { + _ struct{} `type:"structure"` + + // The unique identifiers for this group of profiles that match. + MatchId *string `min:"1" type:"string"` + + // A list of identifiers for profiles that match. + ProfileIds []*string `type:"list"` +} + +// String returns the string representation +func (s MatchItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MatchItem) GoString() string { + return s.String() +} + +// SetMatchId sets the MatchId field's value. +func (s *MatchItem) SetMatchId(v string) *MatchItem { + s.MatchId = &v + return s +} + +// SetProfileIds sets the ProfileIds field's value. +func (s *MatchItem) SetProfileIds(v []*string) *MatchItem { + s.ProfileIds = v + return s +} + +// The flag that enables the matching process of duplicate profiles. +type MatchingRequest struct { + _ struct{} `type:"structure"` + + // The flag that enables the matching process of duplicate profiles. + // + // Enabled is a required field + Enabled *bool `type:"boolean" required:"true"` +} + +// String returns the string representation +func (s MatchingRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MatchingRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MatchingRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MatchingRequest"} + if s.Enabled == nil { + invalidParams.Add(request.NewErrParamRequired("Enabled")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnabled sets the Enabled field's value. +func (s *MatchingRequest) SetEnabled(v bool) *MatchingRequest { + s.Enabled = &v + return s +} + +// The flag that enables the matching process of duplicate profiles. +type MatchingResponse struct { + _ struct{} `type:"structure"` + + // The flag that enables the matching process of duplicate profiles. + Enabled *bool `type:"boolean"` +} + +// String returns the string representation +func (s MatchingResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MatchingResponse) GoString() string { + return s.String() +} + +// SetEnabled sets the Enabled field's value. +func (s *MatchingResponse) SetEnabled(v bool) *MatchingResponse { + s.Enabled = &v + return s +} + +type MergeProfilesInput struct { + _ struct{} `type:"structure"` + + // The unique name of the domain. + // + // DomainName is a required field + DomainName *string `location:"uri" locationName:"DomainName" min:"1" type:"string" required:"true"` + + // The identifiers of the fields in the profile that has the information you + // want to apply to the merge. For example, say you want to merge EmailAddress + // from Profile1 into MainProfile. This would be the identifier of the EmailAddress + // field in Profile1. + FieldSourceProfileIds *FieldSourceProfileIds `type:"structure"` + + // The identifier of the profile to be taken. + // + // MainProfileId is a required field + MainProfileId *string `type:"string" required:"true"` + + // The identifier of the profile to be merged into MainProfileId. + // + // ProfileIdsToBeMerged is a required field + ProfileIdsToBeMerged []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s MergeProfilesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MergeProfilesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MergeProfilesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MergeProfilesInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 1)) + } + if s.MainProfileId == nil { + invalidParams.Add(request.NewErrParamRequired("MainProfileId")) + } + if s.ProfileIdsToBeMerged == nil { + invalidParams.Add(request.NewErrParamRequired("ProfileIdsToBeMerged")) + } + if s.ProfileIdsToBeMerged != nil && len(s.ProfileIdsToBeMerged) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProfileIdsToBeMerged", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainName sets the DomainName field's value. +func (s *MergeProfilesInput) SetDomainName(v string) *MergeProfilesInput { + s.DomainName = &v + return s +} + +// SetFieldSourceProfileIds sets the FieldSourceProfileIds field's value. +func (s *MergeProfilesInput) SetFieldSourceProfileIds(v *FieldSourceProfileIds) *MergeProfilesInput { + s.FieldSourceProfileIds = v + return s +} + +// SetMainProfileId sets the MainProfileId field's value. +func (s *MergeProfilesInput) SetMainProfileId(v string) *MergeProfilesInput { + s.MainProfileId = &v + return s +} + +// SetProfileIdsToBeMerged sets the ProfileIdsToBeMerged field's value. +func (s *MergeProfilesInput) SetProfileIdsToBeMerged(v []*string) *MergeProfilesInput { + s.ProfileIdsToBeMerged = v + return s +} + +type MergeProfilesOutput struct { + _ struct{} `type:"structure"` + + // A message that indicates the merge request is complete. + Message *string `type:"string"` +} + +// String returns the string representation +func (s MergeProfilesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s MergeProfilesOutput) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *MergeProfilesOutput) SetMessage(v string) *MergeProfilesOutput { + s.Message = &v + return s +} + // Represents a field in a ProfileObjectType. type ObjectTypeField struct { _ struct{} `type:"structure"` @@ -5991,7 +6788,7 @@ type Profile struct { // A unique account number that you have given to the customer. AccountNumber *string `min:"1" type:"string"` - // Any additional information relevant to the customer's profile. + // Any additional information relevant to the customer’s profile. AdditionalInformation *string `min:"1" type:"string"` // A generic address associated with the customer that is not mailing, shipping, @@ -6016,7 +6813,7 @@ type Profile struct { // The customer’s home phone number. BusinessPhoneNumber *string `min:"1" type:"string"` - // The customer's email address, which has not been specified as a personal + // The customer’s email address, which has not been specified as a personal // or business address. EmailAddress *string `min:"1" type:"string"` @@ -7875,11 +8672,15 @@ type UpdateDomainInput struct { // The default number of days until the data within the domain expires. DefaultExpirationDays *int64 `min:"1" type:"integer"` - // The unique name for the domain. + // The unique name of the domain. // // DomainName is a required field DomainName *string `location:"uri" locationName:"DomainName" min:"1" type:"string" required:"true"` + // The process of matching duplicate profiles. This process runs every Saturday + // at 12AM. + Matching *MatchingRequest `type:"structure"` + // The tags used to organize, track, or control access for this resource. Tags map[string]*string `min:"1" type:"map"` } @@ -7909,6 +8710,11 @@ func (s *UpdateDomainInput) Validate() error { if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } + if s.Matching != nil { + if err := s.Matching.Validate(); err != nil { + invalidParams.AddNested("Matching", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -7940,6 +8746,12 @@ func (s *UpdateDomainInput) SetDomainName(v string) *UpdateDomainInput { return s } +// SetMatching sets the Matching field's value. +func (s *UpdateDomainInput) SetMatching(v *MatchingRequest) *UpdateDomainInput { + s.Matching = v + return s +} + // SetTags sets the Tags field's value. func (s *UpdateDomainInput) SetTags(v map[string]*string) *UpdateDomainInput { s.Tags = v @@ -7966,7 +8778,7 @@ type UpdateDomainOutput struct { // The default number of days until the data within the domain expires. DefaultExpirationDays *int64 `min:"1" type:"integer"` - // The unique name for the domain. + // The unique name of the domain. // // DomainName is a required field DomainName *string `min:"1" type:"string" required:"true"` @@ -7976,6 +8788,10 @@ type UpdateDomainOutput struct { // LastUpdatedAt is a required field LastUpdatedAt *time.Time `type:"timestamp" required:"true"` + // The process of matching duplicate profiles. This process runs every Saturday + // at 12AM. + Matching *MatchingResponse `type:"structure"` + // The tags used to organize, track, or control access for this resource. Tags map[string]*string `min:"1" type:"map"` } @@ -8026,6 +8842,12 @@ func (s *UpdateDomainOutput) SetLastUpdatedAt(v time.Time) *UpdateDomainOutput { return s } +// SetMatching sets the Matching field's value. +func (s *UpdateDomainOutput) SetMatching(v *MatchingResponse) *UpdateDomainOutput { + s.Matching = v + return s +} + // SetTags sets the Tags field's value. func (s *UpdateDomainOutput) SetTags(v map[string]*string) *UpdateDomainOutput { s.Tags = v @@ -8038,7 +8860,7 @@ type UpdateProfileInput struct { // A unique account number that you have given to the customer. AccountNumber *string `type:"string"` - // Any additional information relevant to the customer's profile. + // Any additional information relevant to the customer’s profile. AdditionalInformation *string `type:"string"` // A generic address associated with the customer that is not mailing, shipping, @@ -8068,7 +8890,7 @@ type UpdateProfileInput struct { // DomainName is a required field DomainName *string `location:"uri" locationName:"DomainName" min:"1" type:"string" required:"true"` - // The customer's email address, which has not been specified as a personal + // The customer’s email address, which has not been specified as a personal // or business address. EmailAddress *string `type:"string"` @@ -8099,8 +8921,8 @@ type UpdateProfileInput struct { // The customer’s personal email address. PersonalEmailAddress *string `type:"string"` - // The customer's phone number, which has not been specified as a mobile, home, - // or business number. + // The customer’s phone number, which has not been specified as a mobile, + // home, or business number. PhoneNumber *string `type:"string"` // The unique identifier of a customer profile. diff --git a/service/customerprofiles/customerprofilesiface/interface.go b/service/customerprofiles/customerprofilesiface/interface.go index c508e22893..6d7405c2e1 100644 --- a/service/customerprofiles/customerprofilesiface/interface.go +++ b/service/customerprofiles/customerprofilesiface/interface.go @@ -104,6 +104,10 @@ type CustomerProfilesAPI interface { GetIntegrationWithContext(aws.Context, *customerprofiles.GetIntegrationInput, ...request.Option) (*customerprofiles.GetIntegrationOutput, error) GetIntegrationRequest(*customerprofiles.GetIntegrationInput) (*request.Request, *customerprofiles.GetIntegrationOutput) + GetMatches(*customerprofiles.GetMatchesInput) (*customerprofiles.GetMatchesOutput, error) + GetMatchesWithContext(aws.Context, *customerprofiles.GetMatchesInput, ...request.Option) (*customerprofiles.GetMatchesOutput, error) + GetMatchesRequest(*customerprofiles.GetMatchesInput) (*request.Request, *customerprofiles.GetMatchesOutput) + GetProfileObjectType(*customerprofiles.GetProfileObjectTypeInput) (*customerprofiles.GetProfileObjectTypeOutput, error) GetProfileObjectTypeWithContext(aws.Context, *customerprofiles.GetProfileObjectTypeInput, ...request.Option) (*customerprofiles.GetProfileObjectTypeOutput, error) GetProfileObjectTypeRequest(*customerprofiles.GetProfileObjectTypeInput) (*request.Request, *customerprofiles.GetProfileObjectTypeOutput) @@ -140,6 +144,10 @@ type CustomerProfilesAPI interface { ListTagsForResourceWithContext(aws.Context, *customerprofiles.ListTagsForResourceInput, ...request.Option) (*customerprofiles.ListTagsForResourceOutput, error) ListTagsForResourceRequest(*customerprofiles.ListTagsForResourceInput) (*request.Request, *customerprofiles.ListTagsForResourceOutput) + MergeProfiles(*customerprofiles.MergeProfilesInput) (*customerprofiles.MergeProfilesOutput, error) + MergeProfilesWithContext(aws.Context, *customerprofiles.MergeProfilesInput, ...request.Option) (*customerprofiles.MergeProfilesOutput, error) + MergeProfilesRequest(*customerprofiles.MergeProfilesInput) (*request.Request, *customerprofiles.MergeProfilesOutput) + PutIntegration(*customerprofiles.PutIntegrationInput) (*customerprofiles.PutIntegrationOutput, error) PutIntegrationWithContext(aws.Context, *customerprofiles.PutIntegrationInput, ...request.Option) (*customerprofiles.PutIntegrationOutput, error) PutIntegrationRequest(*customerprofiles.PutIntegrationInput) (*request.Request, *customerprofiles.PutIntegrationOutput) diff --git a/service/forecastservice/api.go b/service/forecastservice/api.go index 2fb63fc9ce..2c19c8183c 100644 --- a/service/forecastservice/api.go +++ b/service/forecastservice/api.go @@ -1453,6 +1453,114 @@ func (c *ForecastService) DeletePredictorBacktestExportJobWithContext(ctx aws.Co return out, req.Send() } +const opDeleteResourceTree = "DeleteResourceTree" + +// DeleteResourceTreeRequest generates a "aws/request.Request" representing the +// client's request for the DeleteResourceTree 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 DeleteResourceTree for more information on using the DeleteResourceTree +// 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 DeleteResourceTreeRequest method. +// req, resp := client.DeleteResourceTreeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DeleteResourceTree +func (c *ForecastService) DeleteResourceTreeRequest(input *DeleteResourceTreeInput) (req *request.Request, output *DeleteResourceTreeOutput) { + op := &request.Operation{ + Name: opDeleteResourceTree, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteResourceTreeInput{} + } + + output = &DeleteResourceTreeOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteResourceTree API operation for Amazon Forecast Service. +// +// Deletes an entire resource tree. This operation will delete the parent resource +// and its child resources. +// +// Child resources are resources that were created from another resource. For +// example, when a forecast is generated from a predictor, the forecast is the +// child resource and the predictor is the parent resource. +// +// Amazon Forecast resources possess the following parent-child resource hierarchies: +// +// * Dataset Group: predictors, predictor backtest export jobs, forecasts, +// forecast export jobs +// +// * Dataset: dataset import jobs +// +// * Predictor: predictor backtest export jobs, forecasts, forecast export +// jobs +// +// * Forecast: forecast export jobs +// +// DeleteResourceTree will only delete Amazon Forecast resources, and will not +// delete datasets or exported files stored in Amazon S3. +// +// 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 Amazon Forecast Service's +// API operation DeleteResourceTree for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// We can't process the request because it includes an invalid value or a value +// that exceeds the valid range. +// +// * ResourceNotFoundException +// We can't find a resource with that Amazon Resource Name (ARN). Check the +// ARN and try again. +// +// * ResourceInUseException +// The specified resource is in use. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DeleteResourceTree +func (c *ForecastService) DeleteResourceTree(input *DeleteResourceTreeInput) (*DeleteResourceTreeOutput, error) { + req, out := c.DeleteResourceTreeRequest(input) + return out, req.Send() +} + +// DeleteResourceTreeWithContext is the same as DeleteResourceTree with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteResourceTree 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 *ForecastService) DeleteResourceTreeWithContext(ctx aws.Context, input *DeleteResourceTreeInput, opts ...request.Option) (*DeleteResourceTreeOutput, error) { + req, out := c.DeleteResourceTreeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeDataset = "DescribeDataset" // DescribeDatasetRequest generates a "aws/request.Request" representing the @@ -5862,6 +5970,59 @@ func (s DeletePredictorOutput) GoString() string { return s.String() } +type DeleteResourceTreeInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the parent resource to delete. All child + // resources of the parent resource will also be deleted. + // + // ResourceArn is a required field + ResourceArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteResourceTreeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteResourceTreeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteResourceTreeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteResourceTreeInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *DeleteResourceTreeInput) SetResourceArn(v string) *DeleteResourceTreeInput { + s.ResourceArn = &v + return s +} + +type DeleteResourceTreeOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteResourceTreeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteResourceTreeOutput) GoString() string { + return s.String() +} + type DescribeDatasetGroupInput struct { _ struct{} `type:"structure"` @@ -6057,7 +6218,7 @@ type DescribeDatasetImportJobOutput struct { // The name of the dataset import job. DatasetImportJobName *string `min:"1" type:"string"` - // The estimated time in minutes for the dataset import job to complete. + // The estimated time remaining in minutes for the dataset import job to complete. EstimatedTimeRemainingInMinutes *int64 `type:"long"` // Statistical information about each field in the input data. @@ -6573,7 +6734,7 @@ type DescribeForecastOutput struct { // The ARN of the dataset group that provided the data used to train the predictor. DatasetGroupArn *string `type:"string"` - // The estimated time in minutes for the forecast job to complete. + // The estimated time remaining in minutes for the forecast job to complete. EstimatedTimeRemainingInMinutes *int64 `type:"long"` // The forecast ARN as specified in the request. @@ -6894,7 +7055,8 @@ type DescribePredictorOutput struct { // (IAM) role that Amazon Forecast can assume to access the key. EncryptionConfig *EncryptionConfig `type:"structure"` - // The estimated time in minutes for the predictor training job to complete. + // The estimated time remaining in minutes for the predictor training job to + // complete. EstimatedTimeRemainingInMinutes *int64 `type:"long"` // Used to override the default evaluation parameters of the specified algorithm. diff --git a/service/forecastservice/forecastserviceiface/interface.go b/service/forecastservice/forecastserviceiface/interface.go index 5a4113b674..8b1f239cae 100644 --- a/service/forecastservice/forecastserviceiface/interface.go +++ b/service/forecastservice/forecastserviceiface/interface.go @@ -116,6 +116,10 @@ type ForecastServiceAPI interface { DeletePredictorBacktestExportJobWithContext(aws.Context, *forecastservice.DeletePredictorBacktestExportJobInput, ...request.Option) (*forecastservice.DeletePredictorBacktestExportJobOutput, error) DeletePredictorBacktestExportJobRequest(*forecastservice.DeletePredictorBacktestExportJobInput) (*request.Request, *forecastservice.DeletePredictorBacktestExportJobOutput) + DeleteResourceTree(*forecastservice.DeleteResourceTreeInput) (*forecastservice.DeleteResourceTreeOutput, error) + DeleteResourceTreeWithContext(aws.Context, *forecastservice.DeleteResourceTreeInput, ...request.Option) (*forecastservice.DeleteResourceTreeOutput, error) + DeleteResourceTreeRequest(*forecastservice.DeleteResourceTreeInput) (*request.Request, *forecastservice.DeleteResourceTreeOutput) + DescribeDataset(*forecastservice.DescribeDatasetInput) (*forecastservice.DescribeDatasetOutput, error) DescribeDatasetWithContext(aws.Context, *forecastservice.DescribeDatasetInput, ...request.Option) (*forecastservice.DescribeDatasetOutput, error) DescribeDatasetRequest(*forecastservice.DescribeDatasetInput) (*request.Request, *forecastservice.DescribeDatasetOutput) diff --git a/service/marketplacecatalog/api.go b/service/marketplacecatalog/api.go index 9e837e96f6..dd4425800a 100644 --- a/service/marketplacecatalog/api.go +++ b/service/marketplacecatalog/api.go @@ -647,8 +647,11 @@ func (c *MarketplaceCatalog) StartChangeSetRequest(input *StartChangeSetInput) ( // you will receive a ResourceInUseException. // // For example, you cannot start the ChangeSet described in the example (https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/API_StartChangeSet.html#API_StartChangeSet_Examples) -// below because it contains two changes to execute the same change type (AddRevisions) -// against the same entity (entity-id@1). +// later in this topic, because it contains two changes to execute the same +// change type (AddRevisions) against the same entity (entity-id@1). +// +// For more information about working with change sets, see Working with change +// sets (https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/welcome.html#working-with-change-sets). // // 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 @@ -706,7 +709,7 @@ type AccessDeniedException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - Message_ *string `locationName:"Message" type:"string"` + Message_ *string `locationName:"Message" min:"1" type:"string"` } // String returns the string representation @@ -852,6 +855,9 @@ func (s *CancelChangeSetOutput) SetChangeSetId(v string) *CancelChangeSetOutput type Change struct { _ struct{} `type:"structure"` + // Optional name for the change. + ChangeName *string `min:"1" type:"string"` + // Change types are single string values that describe your intention for the // change. Each change type is unique for each EntityType provided in the change's // scope. @@ -884,6 +890,9 @@ func (s Change) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *Change) Validate() error { invalidParams := request.ErrInvalidParams{Context: "Change"} + if s.ChangeName != nil && len(*s.ChangeName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeName", 1)) + } if s.ChangeType == nil { invalidParams.Add(request.NewErrParamRequired("ChangeType")) } @@ -911,6 +920,12 @@ func (s *Change) Validate() error { return nil } +// SetChangeName sets the ChangeName field's value. +func (s *Change) SetChangeName(v string) *Change { + s.ChangeName = &v + return s +} + // SetChangeType sets the ChangeType field's value. func (s *Change) SetChangeType(v string) *Change { s.ChangeType = &v @@ -1030,6 +1045,9 @@ func (s *ChangeSetSummaryListItem) SetStatus(v string) *ChangeSetSummaryListItem type ChangeSummary struct { _ struct{} `type:"structure"` + // Optional name for the change. + ChangeName *string `min:"1" type:"string"` + // The type of the change. ChangeType *string `min:"1" type:"string"` @@ -1054,6 +1072,12 @@ func (s ChangeSummary) GoString() string { return s.String() } +// SetChangeName sets the ChangeName field's value. +func (s *ChangeSummary) SetChangeName(v string) *ChangeSummary { + s.ChangeName = &v + return s +} + // SetChangeType sets the ChangeType field's value. func (s *ChangeSummary) SetChangeType(v string) *ChangeSummary { s.ChangeType = &v @@ -1167,7 +1191,7 @@ type DescribeChangeSetOutput struct { // Returned if there is a failure on the change set, but that failure is not // related to any of the changes in the request. - FailureDescription *string `type:"string"` + FailureDescription *string `min:"1" type:"string"` // The date and time, in ISO 8601 format (2018-02-27T13:45:22Z), the request // started. @@ -1316,7 +1340,7 @@ type DescribeEntityOutput struct { EntityType *string `min:"1" type:"string"` // The last modified date of the entity, in ISO 8601 format (2018-02-27T13:45:22Z). - LastModifiedDate *string `type:"string"` + LastModifiedDate *string `min:"20" type:"string"` } // String returns the string representation @@ -1359,8 +1383,8 @@ func (s *DescribeEntityOutput) SetLastModifiedDate(v string) *DescribeEntityOutp return s } -// A product entity contains data that describes your product, its supported -// features, and how it can be used or launched by your customer. +// An entity contains data that describes your product, its supported features, +// and how it can be used or launched by your customer. type Entity struct { _ struct{} `type:"structure"` @@ -1430,16 +1454,16 @@ type EntitySummary struct { EntityType *string `min:"1" type:"string"` // The last time the entity was published, using ISO 8601 format (2018-02-27T13:45:22Z). - LastModifiedDate *string `type:"string"` + LastModifiedDate *string `min:"20" type:"string"` // The name for the entity. This value is not unique. It is defined by the seller. - Name *string `type:"string"` + Name *string `min:"1" type:"string"` // The visibility status of the entity to buyers. This value can be Public (everyone // can view the entity), Limited (the entity is visible to limited accounts // only), or Restricted (the entity was published and then unpublished and only // existing buyers can view it). - Visibility *string `type:"string"` + Visibility *string `min:"1" type:"string"` } // String returns the string representation @@ -1493,10 +1517,10 @@ type ErrorDetail struct { _ struct{} `type:"structure"` // The error code that identifies the type of error. - ErrorCode *string `type:"string"` + ErrorCode *string `min:"1" type:"string"` // The message for the error. - ErrorMessage *string `type:"string"` + ErrorMessage *string `min:"1" type:"string"` } // String returns the string representation @@ -1601,7 +1625,7 @@ type InternalServiceException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - Message_ *string `locationName:"Message" type:"string"` + Message_ *string `locationName:"Message" min:"1" type:"string"` } // String returns the string representation @@ -1945,7 +1969,7 @@ type ResourceInUseException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - Message_ *string `locationName:"Message" type:"string"` + Message_ *string `locationName:"Message" min:"1" type:"string"` } // String returns the string representation @@ -2001,7 +2025,7 @@ type ResourceNotFoundException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - Message_ *string `locationName:"Message" type:"string"` + Message_ *string `locationName:"Message" min:"1" type:"string"` } // String returns the string representation @@ -2057,7 +2081,7 @@ type ResourceNotSupportedException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - Message_ *string `locationName:"Message" type:"string"` + Message_ *string `locationName:"Message" min:"1" type:"string"` } // String returns the string representation @@ -2113,7 +2137,7 @@ type ServiceQuotaExceededException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - Message_ *string `locationName:"Message" type:"string"` + Message_ *string `locationName:"Message" min:"1" type:"string"` } // String returns the string representation @@ -2343,7 +2367,7 @@ type ThrottlingException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - Message_ *string `locationName:"Message" type:"string"` + Message_ *string `locationName:"Message" min:"1" type:"string"` } // String returns the string representation @@ -2399,7 +2423,7 @@ type ValidationException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - Message_ *string `locationName:"Message" type:"string"` + Message_ *string `locationName:"Message" min:"1" type:"string"` } // String returns the string representation diff --git a/service/personalize/api.go b/service/personalize/api.go index 1b5df94a5e..f1b1f68cdb 100644 --- a/service/personalize/api.go +++ b/service/personalize/api.go @@ -412,7 +412,7 @@ func (c *Personalize) CreateDatasetExportJobRequest(input *CreateDatasetExportJo // To allow Amazon Personalize to export the training data, you must specify // an service-linked AWS Identity and Access Management (IAM) role that gives // Amazon Personalize PutObject permissions for your Amazon S3 bucket. For information, -// see Dataset export job permissions requirements (https://docs.aws.amazon.com/personalize/latest/dg/export-permissions.html) +// see Exporting a dataset (https://docs.aws.amazon.com/personalize/latest/dg/export-data.html) // in the Amazon Personalize developer guide. // // Status diff --git a/service/robomaker/api.go b/service/robomaker/api.go index 7761884932..0dd34e9cb8 100644 --- a/service/robomaker/api.go +++ b/service/robomaker/api.go @@ -17814,6 +17814,9 @@ const ( // RobotSoftwareSuiteVersionTypeDashing is a RobotSoftwareSuiteVersionType enum value RobotSoftwareSuiteVersionTypeDashing = "Dashing" + + // RobotSoftwareSuiteVersionTypeFoxy is a RobotSoftwareSuiteVersionType enum value + RobotSoftwareSuiteVersionTypeFoxy = "Foxy" ) // RobotSoftwareSuiteVersionType_Values returns all elements of the RobotSoftwareSuiteVersionType enum @@ -17822,6 +17825,7 @@ func RobotSoftwareSuiteVersionType_Values() []string { RobotSoftwareSuiteVersionTypeKinetic, RobotSoftwareSuiteVersionTypeMelodic, RobotSoftwareSuiteVersionTypeDashing, + RobotSoftwareSuiteVersionTypeFoxy, } }