diff --git a/CHANGELOG.md b/CHANGELOG.md index 38d29bcecd..d78d1e2203 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,21 @@ +Release v1.44.158 (2022-12-12) +=== + +### Service Client Updates +* `service/customer-profiles`: Updates service API and documentation +* `service/ec2`: Updates service API and documentation + * This release updates DescribeFpgaImages to show supported instance types of AFIs in its response. +* `service/kinesisvideo`: Updates service API and documentation + * This release adds support for public preview of Kinesis Video Stream at Edge enabling customers to provide configuration for the Kinesis Video Stream EdgeAgent running on an on-premise IoT device. Customers can now locally record from cameras and stream videos to the cloud on configured schedule. +* `service/lookoutvision`: Updates service documentation +* `service/migration-hub-refactor-spaces`: Updates service API and documentation +* `service/rds`: Updates service API, documentation, waiters, paginators, and examples + * Update the RDS API model to support copying option groups during the CopyDBSnapshot operation +* `service/rekognition`: Updates service API and documentation + * Adds support for "aliases" and "categories", inclusion and exclusion filters for labels and label categories, and aggregating labels by video segment timestamps for Stored Video Label Detection APIs. +* `service/sagemaker-metrics`: Adds new service +* `service/wafv2`: Updates service documentation + Release v1.44.157 (2022-12-09) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index 521b321980..b982b50366 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -3015,6 +3015,9 @@ var awsPartition = partition{ }, Deprecated: boxedTrue, }, + endpointKey{ + Region: "sa-east-1", + }: endpoint{}, endpointKey{ Region: "us-east-1", }: endpoint{}, @@ -15615,6 +15618,10 @@ var awsPartition = partition{ endpointKey{ Region: "ca-central-1", }: endpoint{}, + endpointKey{ + Region: "ca-central-1", + Variant: fipsVariant, + }: endpoint{}, endpointKey{ Region: "eu-central-1", }: endpoint{}, @@ -15627,15 +15634,41 @@ var awsPartition = partition{ endpointKey{ Region: "eu-west-3", }: endpoint{}, + endpointKey{ + Region: "fips-ca-central-1", + }: endpoint{ + + Deprecated: boxedTrue, + }, + endpointKey{ + Region: "fips-us-east-1", + }: endpoint{ + + Deprecated: boxedTrue, + }, + endpointKey{ + Region: "fips-us-west-2", + }: endpoint{ + + Deprecated: boxedTrue, + }, endpointKey{ Region: "sa-east-1", }: endpoint{}, endpointKey{ Region: "us-east-1", }: endpoint{}, + endpointKey{ + Region: "us-east-1", + Variant: fipsVariant, + }: endpoint{}, endpointKey{ Region: "us-west-2", }: endpoint{}, + endpointKey{ + Region: "us-west-2", + Variant: fipsVariant, + }: endpoint{}, }, }, "machinelearning": service{ @@ -16515,6 +16548,76 @@ var awsPartition = partition{ }: endpoint{}, }, }, + "metrics.sagemaker": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "af-south-1", + }: endpoint{}, + endpointKey{ + Region: "ap-east-1", + }: endpoint{}, + endpointKey{ + Region: "ap-northeast-1", + }: endpoint{}, + endpointKey{ + Region: "ap-northeast-2", + }: endpoint{}, + endpointKey{ + Region: "ap-northeast-3", + }: endpoint{}, + endpointKey{ + Region: "ap-south-1", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-1", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-2", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, + endpointKey{ + Region: "ca-central-1", + }: endpoint{}, + endpointKey{ + Region: "eu-central-1", + }: endpoint{}, + endpointKey{ + Region: "eu-north-1", + }: endpoint{}, + endpointKey{ + Region: "eu-south-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-2", + }: endpoint{}, + endpointKey{ + Region: "me-central-1", + }: endpoint{}, + endpointKey{ + Region: "me-south-1", + }: endpoint{}, + endpointKey{ + Region: "sa-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-2", + }: endpoint{}, + endpointKey{ + Region: "us-west-1", + }: endpoint{}, + endpointKey{ + Region: "us-west-2", + }: endpoint{}, + }, + }, "mgh": service{ Endpoints: serviceEndpoints{ endpointKey{ @@ -17010,6 +17113,9 @@ var awsPartition = partition{ }, Deprecated: boxedTrue, }, + endpointKey{ + Region: "me-central-1", + }: endpoint{}, endpointKey{ Region: "me-south-1", }: endpoint{}, @@ -28513,6 +28619,16 @@ var awscnPartition = partition{ }: endpoint{}, }, }, + "metrics.sagemaker": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "cn-north-1", + }: endpoint{}, + endpointKey{ + Region: "cn-northwest-1", + }: endpoint{}, + }, + }, "monitoring": service{ Defaults: endpointDefaults{ defaultKey{}: endpoint{ @@ -32280,6 +32396,13 @@ var awsusgovPartition = partition{ }: endpoint{}, }, }, + "metrics.sagemaker": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "us-gov-west-1", + }: endpoint{}, + }, + }, "models.lex": service{ Defaults: endpointDefaults{ defaultKey{}: endpoint{ @@ -35001,6 +35124,13 @@ var awsisoPartition = partition{ }: endpoint{}, }, }, + "metrics.sagemaker": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "us-iso-east-1", + }: endpoint{}, + }, + }, "monitoring": service{ Endpoints: serviceEndpoints{ endpointKey{ @@ -35655,6 +35785,13 @@ var awsisobPartition = partition{ }: endpoint{}, }, }, + "metrics.sagemaker": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "us-isob-east-1", + }: endpoint{}, + }, + }, "monitoring": service{ Endpoints: serviceEndpoints{ endpointKey{ diff --git a/aws/version.go b/aws/version.go index 08ee50b5ca..5c32976543 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.44.157" +const SDKVersion = "1.44.158" 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 405cb604bd..018567cfba 100644 --- a/models/apis/customer-profiles/2020-08-15/api-2.json +++ b/models/apis/customer-profiles/2020-08-15/api-2.json @@ -929,7 +929,9 @@ "ShippingAddress":{"shape":"Address"}, "MailingAddress":{"shape":"Address"}, "BillingAddress":{"shape":"Address"}, - "Attributes":{"shape":"Attributes"} + "Attributes":{"shape":"Attributes"}, + "PartyTypeString":{"shape":"string1To255"}, + "GenderString":{"shape":"string1To255"} } }, "CreateProfileResponse":{ @@ -2775,7 +2777,9 @@ "ShippingAddress":{"shape":"UpdateAddress"}, "MailingAddress":{"shape":"UpdateAddress"}, "BillingAddress":{"shape":"UpdateAddress"}, - "Attributes":{"shape":"UpdateAttributes"} + "Attributes":{"shape":"UpdateAttributes"}, + "PartyTypeString":{"shape":"string0To255"}, + "GenderString":{"shape":"string0To255"} } }, "UpdateProfileResponse":{ 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 639e3f95fb..62a8205ed9 100644 --- a/models/apis/customer-profiles/2020-08-15/docs-2.json +++ b/models/apis/customer-profiles/2020-08-15/docs-2.json @@ -1511,7 +1511,9 @@ "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$PersonalEmailAddress": "

The customer’s personal email address.

", - "UpdateProfileRequest$BusinessEmailAddress": "

The customer’s business email address.

" + "UpdateProfileRequest$BusinessEmailAddress": "

The customer’s business email address.

", + "UpdateProfileRequest$PartyTypeString": "

An alternative to PartyType which accepts any string as input.

", + "UpdateProfileRequest$GenderString": "

An alternative to Gender which accepts any string as input.

" } }, "string1To1000": { @@ -1556,6 +1558,8 @@ "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.

", + "CreateProfileRequest$PartyTypeString": "

An alternative to PartyType which accepts any string as input.

", + "CreateProfileRequest$GenderString": "

An alternative to Gender which accepts any string as input.

", "DeleteIntegrationRequest$Uri": "

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

", "DeleteProfileObjectRequest$ProfileObjectUniqueKey": "

The unique identifier of the profile object generated by the service.

", "DeleteWorkflowRequest$WorkflowId": "

Unique identifier for the workflow.

", diff --git a/models/apis/customer-profiles/2020-08-15/endpoint-rule-set-1.json b/models/apis/customer-profiles/2020-08-15/endpoint-rule-set-1.json index a2e97c85b5..2d9402c703 100644 --- a/models/apis/customer-profiles/2020-08-15/endpoint-rule-set-1.json +++ b/models/apis/customer-profiles/2020-08-15/endpoint-rule-set-1.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": false, + "required": true, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -52,15 +52,6 @@ "ref": "Endpoint" } ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" } ], "type": "tree", diff --git a/models/apis/customer-profiles/2020-08-15/endpoint-tests-1.json b/models/apis/customer-profiles/2020-08-15/endpoint-tests-1.json index 71d6bc5f17..ef1d7d4275 100644 --- a/models/apis/customer-profiles/2020-08-15/endpoint-tests-1.json +++ b/models/apis/customer-profiles/2020-08-15/endpoint-tests-1.json @@ -9,8 +9,8 @@ }, "params": { "UseFIPS": true, - "Region": "ca-central-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "ca-central-1" } }, { @@ -22,8 +22,8 @@ }, "params": { "UseFIPS": true, - "Region": "ca-central-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "ca-central-1" } }, { @@ -35,8 +35,8 @@ }, "params": { "UseFIPS": false, - "Region": "ca-central-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "ca-central-1" } }, { @@ -48,8 +48,8 @@ }, "params": { "UseFIPS": false, - "Region": "ca-central-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "ca-central-1" } }, { @@ -61,8 +61,8 @@ }, "params": { "UseFIPS": true, - "Region": "eu-central-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "eu-central-1" } }, { @@ -74,8 +74,8 @@ }, "params": { "UseFIPS": true, - "Region": "eu-central-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "eu-central-1" } }, { @@ -87,8 +87,8 @@ }, "params": { "UseFIPS": false, - "Region": "eu-central-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "eu-central-1" } }, { @@ -100,8 +100,8 @@ }, "params": { "UseFIPS": false, - "Region": "eu-central-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "eu-central-1" } }, { @@ -113,8 +113,8 @@ }, "params": { "UseFIPS": true, - "Region": "us-west-2", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-west-2" } }, { @@ -126,8 +126,8 @@ }, "params": { "UseFIPS": true, - "Region": "us-west-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-west-2" } }, { @@ -139,8 +139,8 @@ }, "params": { "UseFIPS": false, - "Region": "us-west-2", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-west-2" } }, { @@ -152,8 +152,8 @@ }, "params": { "UseFIPS": false, - "Region": "us-west-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-west-2" } }, { @@ -165,8 +165,8 @@ }, "params": { "UseFIPS": true, - "Region": "af-south-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "af-south-1" } }, { @@ -178,8 +178,8 @@ }, "params": { "UseFIPS": true, - "Region": "af-south-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "af-south-1" } }, { @@ -191,8 +191,8 @@ }, "params": { "UseFIPS": false, - "Region": "af-south-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "af-south-1" } }, { @@ -204,8 +204,8 @@ }, "params": { "UseFIPS": false, - "Region": "af-south-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "af-south-1" } }, { @@ -217,8 +217,8 @@ }, "params": { "UseFIPS": true, - "Region": "eu-west-2", - "UseDualStack": true + "UseDualStack": true, + "Region": "eu-west-2" } }, { @@ -230,8 +230,8 @@ }, "params": { "UseFIPS": true, - "Region": "eu-west-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "eu-west-2" } }, { @@ -243,8 +243,8 @@ }, "params": { "UseFIPS": false, - "Region": "eu-west-2", - "UseDualStack": true + "UseDualStack": true, + "Region": "eu-west-2" } }, { @@ -256,8 +256,8 @@ }, "params": { "UseFIPS": false, - "Region": "eu-west-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "eu-west-2" } }, { @@ -269,8 +269,8 @@ }, "params": { "UseFIPS": true, - "Region": "ap-northeast-2", - "UseDualStack": true + "UseDualStack": true, + "Region": "ap-northeast-2" } }, { @@ -282,8 +282,8 @@ }, "params": { "UseFIPS": true, - "Region": "ap-northeast-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "ap-northeast-2" } }, { @@ -295,8 +295,8 @@ }, "params": { "UseFIPS": false, - "Region": "ap-northeast-2", - "UseDualStack": true + "UseDualStack": true, + "Region": "ap-northeast-2" } }, { @@ -308,8 +308,8 @@ }, "params": { "UseFIPS": false, - "Region": "ap-northeast-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "ap-northeast-2" } }, { @@ -321,8 +321,8 @@ }, "params": { "UseFIPS": true, - "Region": "ap-northeast-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "ap-northeast-1" } }, { @@ -334,8 +334,8 @@ }, "params": { "UseFIPS": true, - "Region": "ap-northeast-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "ap-northeast-1" } }, { @@ -347,8 +347,8 @@ }, "params": { "UseFIPS": false, - "Region": "ap-northeast-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "ap-northeast-1" } }, { @@ -360,8 +360,8 @@ }, "params": { "UseFIPS": false, - "Region": "ap-northeast-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "ap-northeast-1" } }, { @@ -373,8 +373,8 @@ }, "params": { "UseFIPS": true, - "Region": "ap-southeast-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "ap-southeast-1" } }, { @@ -386,8 +386,8 @@ }, "params": { "UseFIPS": true, - "Region": "ap-southeast-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "ap-southeast-1" } }, { @@ -399,8 +399,8 @@ }, "params": { "UseFIPS": false, - "Region": "ap-southeast-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "ap-southeast-1" } }, { @@ -412,8 +412,8 @@ }, "params": { "UseFIPS": false, - "Region": "ap-southeast-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "ap-southeast-1" } }, { @@ -425,8 +425,8 @@ }, "params": { "UseFIPS": true, - "Region": "ap-southeast-2", - "UseDualStack": true + "UseDualStack": true, + "Region": "ap-southeast-2" } }, { @@ -438,8 +438,8 @@ }, "params": { "UseFIPS": true, - "Region": "ap-southeast-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "ap-southeast-2" } }, { @@ -451,8 +451,8 @@ }, "params": { "UseFIPS": false, - "Region": "ap-southeast-2", - "UseDualStack": true + "UseDualStack": true, + "Region": "ap-southeast-2" } }, { @@ -464,8 +464,8 @@ }, "params": { "UseFIPS": false, - "Region": "ap-southeast-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "ap-southeast-2" } }, { @@ -477,8 +477,8 @@ }, "params": { "UseFIPS": true, - "Region": "us-east-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-east-1" } }, { @@ -490,8 +490,8 @@ }, "params": { "UseFIPS": true, - "Region": "us-east-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-east-1" } }, { @@ -503,8 +503,8 @@ }, "params": { "UseFIPS": false, - "Region": "us-east-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-east-1" } }, { @@ -516,8 +516,8 @@ }, "params": { "UseFIPS": false, - "Region": "us-east-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-east-1" } }, { @@ -529,8 +529,8 @@ }, "params": { "UseFIPS": false, - "Region": "us-east-1", "UseDualStack": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -541,8 +541,8 @@ }, "params": { "UseFIPS": true, - "Region": "us-east-1", "UseDualStack": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -553,8 +553,8 @@ }, "params": { "UseFIPS": false, - "Region": "us-east-1", "UseDualStack": true, + "Region": "us-east-1", "Endpoint": "https://example.com" } } diff --git a/models/apis/ec2/2016-11-15/api-2.json b/models/apis/ec2/2016-11-15/api-2.json index faf3cd8b49..a8cd03f618 100755 --- a/models/apis/ec2/2016-11-15/api-2.json +++ b/models/apis/ec2/2016-11-15/api-2.json @@ -21514,6 +21514,10 @@ "DataRetentionSupport":{ "shape":"Boolean", "locationName":"dataRetentionSupport" + }, + "InstanceTypes":{ + "shape":"InstanceTypesList", + "locationName":"instanceTypes" } } }, @@ -26446,6 +26450,13 @@ "max":1000, "min":0 }, + "InstanceTypesList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"item" + } + }, "InstanceUsage":{ "type":"structure", "members":{ @@ -35451,7 +35462,8 @@ "verified-access-endpoint", "verified-access-policy", "verified-access-trust-provider", - "vpn-connection-device-type" + "vpn-connection-device-type", + "vpc-block-public-access-exclusion" ] }, "ResponseError":{ diff --git a/models/apis/ec2/2016-11-15/docs-2.json b/models/apis/ec2/2016-11-15/docs-2.json index 13afc0b6b3..218bb836b5 100755 --- a/models/apis/ec2/2016-11-15/docs-2.json +++ b/models/apis/ec2/2016-11-15/docs-2.json @@ -11123,6 +11123,12 @@ "GetSpotPlacementScoresRequest$InstanceTypes": "

The instance types. We recommend that you specify at least three instance types. If you specify one or two instance types, or specify variations of a single instance type (for example, an m3.xlarge with and without instance storage), the returned placement score will always be low.

If you specify InstanceTypes, you can't specify InstanceRequirementsWithMetadata.

" } }, + "InstanceTypesList": { + "base": null, + "refs": { + "FpgaImage$InstanceTypes": null + } + }, "InstanceUsage": { "base": "

Information about the Capacity Reservation usage.

", "refs": { @@ -18554,6 +18560,7 @@ "InstanceTagKeySet$member": null, "InstanceTypeInfoFromInstanceRequirements$InstanceType": "

The matching instance type.

", "InstanceTypes$member": null, + "InstanceTypesList$member": null, "InstanceUsage$AccountId": "

The ID of the Amazon Web Services account that is making use of the Capacity Reservation.

", "InternetGateway$InternetGatewayId": "

The ID of the internet gateway.

", "InternetGateway$OwnerId": "

The ID of the Amazon Web Services account that owns the internet gateway.

", diff --git a/models/apis/ec2/2016-11-15/endpoint-rule-set-1.json b/models/apis/ec2/2016-11-15/endpoint-rule-set-1.json index 54f6aee0ab..f45371abf0 100644 --- a/models/apis/ec2/2016-11-15/endpoint-rule-set-1.json +++ b/models/apis/ec2/2016-11-15/endpoint-rule-set-1.json @@ -52,15 +52,6 @@ "ref": "Endpoint" } ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" } ], "type": "tree", diff --git a/models/apis/ec2/2016-11-15/endpoint-tests-1.json b/models/apis/ec2/2016-11-15/endpoint-tests-1.json index b6fa8ed123..59a00d5dcb 100644 --- a/models/apis/ec2/2016-11-15/endpoint-tests-1.json +++ b/models/apis/ec2/2016-11-15/endpoint-tests-1.json @@ -8,9 +8,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "ap-south-2", - "UseDualStack": true + "UseFIPS": true } }, { @@ -21,9 +21,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "ap-south-2", - "UseDualStack": false + "UseFIPS": true } }, { @@ -34,9 +34,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "ap-south-2", - "UseDualStack": true + "UseFIPS": false } }, { @@ -47,9 +47,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "ap-south-2", - "UseDualStack": false + "UseFIPS": false } }, { @@ -60,9 +60,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "ap-south-1", - "UseDualStack": true + "UseFIPS": true } }, { @@ -73,9 +73,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "ap-south-1", - "UseDualStack": false + "UseFIPS": true } }, { @@ -86,9 +86,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "ap-south-1", - "UseDualStack": true + "UseFIPS": false } }, { @@ -99,9 +99,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "ap-south-1", - "UseDualStack": false + "UseFIPS": false } }, { @@ -112,9 +112,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "eu-south-1", - "UseDualStack": true + "UseFIPS": true } }, { @@ -125,9 +125,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "eu-south-1", - "UseDualStack": false + "UseFIPS": true } }, { @@ -138,9 +138,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "eu-south-1", - "UseDualStack": true + "UseFIPS": false } }, { @@ -151,9 +151,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "eu-south-1", - "UseDualStack": false + "UseFIPS": false } }, { @@ -164,9 +164,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "eu-south-2", - "UseDualStack": true + "UseFIPS": true } }, { @@ -177,9 +177,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "eu-south-2", - "UseDualStack": false + "UseFIPS": true } }, { @@ -190,9 +190,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "eu-south-2", - "UseDualStack": true + "UseFIPS": false } }, { @@ -203,9 +203,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "eu-south-2", - "UseDualStack": false + "UseFIPS": false } }, { @@ -216,9 +216,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "us-gov-east-1", - "UseDualStack": true + "UseFIPS": true } }, { @@ -229,9 +229,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "us-gov-east-1", - "UseDualStack": false + "UseFIPS": true } }, { @@ -242,9 +242,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "us-gov-east-1", - "UseDualStack": true + "UseFIPS": false } }, { @@ -255,9 +255,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "us-gov-east-1", - "UseDualStack": false + "UseFIPS": false } }, { @@ -268,9 +268,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "me-central-1", - "UseDualStack": true + "UseFIPS": true } }, { @@ -281,9 +281,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "me-central-1", - "UseDualStack": false + "UseFIPS": true } }, { @@ -294,9 +294,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "me-central-1", - "UseDualStack": true + "UseFIPS": false } }, { @@ -307,9 +307,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "me-central-1", - "UseDualStack": false + "UseFIPS": false } }, { @@ -320,9 +320,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "ca-central-1", - "UseDualStack": true + "UseFIPS": true } }, { @@ -333,9 +333,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "ca-central-1", - "UseDualStack": false + "UseFIPS": true } }, { @@ -346,9 +346,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "ca-central-1", - "UseDualStack": true + "UseFIPS": false } }, { @@ -359,9 +359,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "ca-central-1", - "UseDualStack": false + "UseFIPS": false } }, { @@ -372,9 +372,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "eu-central-1", - "UseDualStack": true + "UseFIPS": true } }, { @@ -385,9 +385,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "eu-central-1", - "UseDualStack": false + "UseFIPS": true } }, { @@ -398,9 +398,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "eu-central-1", - "UseDualStack": true + "UseFIPS": false } }, { @@ -411,9 +411,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "eu-central-1", - "UseDualStack": false + "UseFIPS": false } }, { @@ -422,9 +422,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "us-iso-west-1", - "UseDualStack": true + "UseFIPS": true } }, { @@ -435,9 +435,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "us-iso-west-1", - "UseDualStack": false + "UseFIPS": true } }, { @@ -446,9 +446,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "us-iso-west-1", - "UseDualStack": true + "UseFIPS": false } }, { @@ -459,9 +459,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "us-iso-west-1", - "UseDualStack": false + "UseFIPS": false } }, { @@ -472,9 +472,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "eu-central-2", - "UseDualStack": true + "UseFIPS": true } }, { @@ -485,9 +485,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "eu-central-2", - "UseDualStack": false + "UseFIPS": true } }, { @@ -498,9 +498,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "eu-central-2", - "UseDualStack": true + "UseFIPS": false } }, { @@ -511,9 +511,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "eu-central-2", - "UseDualStack": false + "UseFIPS": false } }, { @@ -524,9 +524,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "us-west-1", - "UseDualStack": true + "UseFIPS": true } }, { @@ -537,9 +537,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "us-west-1", - "UseDualStack": false + "UseFIPS": true } }, { @@ -550,9 +550,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "us-west-1", - "UseDualStack": true + "UseFIPS": false } }, { @@ -563,9 +563,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "us-west-1", - "UseDualStack": false + "UseFIPS": false } }, { @@ -576,9 +576,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "us-west-2", - "UseDualStack": true + "UseFIPS": true } }, { @@ -589,9 +589,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "us-west-2", - "UseDualStack": false + "UseFIPS": true } }, { @@ -602,9 +602,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "us-west-2", - "UseDualStack": true + "UseFIPS": false } }, { @@ -615,9 +615,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "us-west-2", - "UseDualStack": false + "UseFIPS": false } }, { @@ -626,9 +626,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "us-isob-west-1", - "UseDualStack": true + "UseFIPS": true } }, { @@ -639,9 +639,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "us-isob-west-1", - "UseDualStack": false + "UseFIPS": true } }, { @@ -650,9 +650,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "us-isob-west-1", - "UseDualStack": true + "UseFIPS": false } }, { @@ -663,9 +663,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "us-isob-west-1", - "UseDualStack": false + "UseFIPS": false } }, { @@ -676,9 +676,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "af-south-1", - "UseDualStack": true + "UseFIPS": true } }, { @@ -689,9 +689,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "af-south-1", - "UseDualStack": false + "UseFIPS": true } }, { @@ -702,9 +702,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "af-south-1", - "UseDualStack": true + "UseFIPS": false } }, { @@ -715,9 +715,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "af-south-1", - "UseDualStack": false + "UseFIPS": false } }, { @@ -728,9 +728,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "eu-north-1", - "UseDualStack": true + "UseFIPS": true } }, { @@ -741,9 +741,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "eu-north-1", - "UseDualStack": false + "UseFIPS": true } }, { @@ -754,9 +754,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "eu-north-1", - "UseDualStack": true + "UseFIPS": false } }, { @@ -767,9 +767,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "eu-north-1", - "UseDualStack": false + "UseFIPS": false } }, { @@ -780,9 +780,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "eu-west-3", - "UseDualStack": true + "UseFIPS": true } }, { @@ -793,9 +793,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "eu-west-3", - "UseDualStack": false + "UseFIPS": true } }, { @@ -806,9 +806,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "eu-west-3", - "UseDualStack": true + "UseFIPS": false } }, { @@ -819,9 +819,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "eu-west-3", - "UseDualStack": false + "UseFIPS": false } }, { @@ -832,9 +832,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "eu-west-2", - "UseDualStack": true + "UseFIPS": true } }, { @@ -845,9 +845,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "eu-west-2", - "UseDualStack": false + "UseFIPS": true } }, { @@ -858,9 +858,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "eu-west-2", - "UseDualStack": true + "UseFIPS": false } }, { @@ -871,9 +871,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "eu-west-2", - "UseDualStack": false + "UseFIPS": false } }, { @@ -884,9 +884,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "eu-west-1", - "UseDualStack": true + "UseFIPS": true } }, { @@ -897,9 +897,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "eu-west-1", - "UseDualStack": false + "UseFIPS": true } }, { @@ -910,9 +910,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "eu-west-1", - "UseDualStack": true + "UseFIPS": false } }, { @@ -923,9 +923,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "eu-west-1", - "UseDualStack": false + "UseFIPS": false } }, { @@ -936,9 +936,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "ap-northeast-3", - "UseDualStack": true + "UseFIPS": true } }, { @@ -949,9 +949,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "ap-northeast-3", - "UseDualStack": false + "UseFIPS": true } }, { @@ -962,9 +962,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "ap-northeast-3", - "UseDualStack": true + "UseFIPS": false } }, { @@ -975,9 +975,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "ap-northeast-3", - "UseDualStack": false + "UseFIPS": false } }, { @@ -988,9 +988,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "ap-northeast-2", - "UseDualStack": true + "UseFIPS": true } }, { @@ -1001,9 +1001,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "ap-northeast-2", - "UseDualStack": false + "UseFIPS": true } }, { @@ -1014,9 +1014,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "ap-northeast-2", - "UseDualStack": true + "UseFIPS": false } }, { @@ -1027,9 +1027,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "ap-northeast-2", - "UseDualStack": false + "UseFIPS": false } }, { @@ -1040,9 +1040,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "ap-northeast-1", - "UseDualStack": true + "UseFIPS": true } }, { @@ -1053,9 +1053,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "ap-northeast-1", - "UseDualStack": false + "UseFIPS": true } }, { @@ -1066,9 +1066,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "ap-northeast-1", - "UseDualStack": true + "UseFIPS": false } }, { @@ -1079,9 +1079,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "ap-northeast-1", - "UseDualStack": false + "UseFIPS": false } }, { @@ -1092,9 +1092,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "me-south-1", - "UseDualStack": true + "UseFIPS": true } }, { @@ -1105,9 +1105,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "me-south-1", - "UseDualStack": false + "UseFIPS": true } }, { @@ -1118,9 +1118,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "me-south-1", - "UseDualStack": true + "UseFIPS": false } }, { @@ -1131,9 +1131,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "me-south-1", - "UseDualStack": false + "UseFIPS": false } }, { @@ -1144,9 +1144,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "sa-east-1", - "UseDualStack": true + "UseFIPS": true } }, { @@ -1157,9 +1157,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "sa-east-1", - "UseDualStack": false + "UseFIPS": true } }, { @@ -1170,9 +1170,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "sa-east-1", - "UseDualStack": true + "UseFIPS": false } }, { @@ -1183,9 +1183,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "sa-east-1", - "UseDualStack": false + "UseFIPS": false } }, { @@ -1196,9 +1196,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "ap-east-1", - "UseDualStack": true + "UseFIPS": true } }, { @@ -1209,9 +1209,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "ap-east-1", - "UseDualStack": false + "UseFIPS": true } }, { @@ -1222,9 +1222,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "ap-east-1", - "UseDualStack": true + "UseFIPS": false } }, { @@ -1235,9 +1235,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "ap-east-1", - "UseDualStack": false + "UseFIPS": false } }, { @@ -1248,9 +1248,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "cn-north-1", - "UseDualStack": true + "UseFIPS": true } }, { @@ -1261,9 +1261,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "cn-north-1", - "UseDualStack": false + "UseFIPS": true } }, { @@ -1274,9 +1274,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "cn-north-1", - "UseDualStack": true + "UseFIPS": false } }, { @@ -1287,9 +1287,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "cn-north-1", - "UseDualStack": false + "UseFIPS": false } }, { @@ -1300,9 +1300,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "ca-west-1", - "UseDualStack": true + "UseFIPS": true } }, { @@ -1313,9 +1313,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "ca-west-1", - "UseDualStack": false + "UseFIPS": true } }, { @@ -1326,9 +1326,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "ca-west-1", - "UseDualStack": true + "UseFIPS": false } }, { @@ -1339,9 +1339,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "ca-west-1", - "UseDualStack": false + "UseFIPS": false } }, { @@ -1352,9 +1352,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "us-gov-west-1", - "UseDualStack": true + "UseFIPS": true } }, { @@ -1365,9 +1365,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "us-gov-west-1", - "UseDualStack": false + "UseFIPS": true } }, { @@ -1378,9 +1378,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "us-gov-west-1", - "UseDualStack": true + "UseFIPS": false } }, { @@ -1391,9 +1391,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "us-gov-west-1", - "UseDualStack": false + "UseFIPS": false } }, { @@ -1404,9 +1404,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "ap-southeast-1", - "UseDualStack": true + "UseFIPS": true } }, { @@ -1417,9 +1417,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "ap-southeast-1", - "UseDualStack": false + "UseFIPS": true } }, { @@ -1430,9 +1430,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "ap-southeast-1", - "UseDualStack": true + "UseFIPS": false } }, { @@ -1443,9 +1443,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "ap-southeast-1", - "UseDualStack": false + "UseFIPS": false } }, { @@ -1456,9 +1456,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "ap-southeast-2", - "UseDualStack": true + "UseFIPS": true } }, { @@ -1469,9 +1469,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "ap-southeast-2", - "UseDualStack": false + "UseFIPS": true } }, { @@ -1482,9 +1482,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "ap-southeast-2", - "UseDualStack": true + "UseFIPS": false } }, { @@ -1495,9 +1495,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "ap-southeast-2", - "UseDualStack": false + "UseFIPS": false } }, { @@ -1506,9 +1506,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "us-iso-east-1", - "UseDualStack": true + "UseFIPS": true } }, { @@ -1519,9 +1519,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "us-iso-east-1", - "UseDualStack": false + "UseFIPS": true } }, { @@ -1530,9 +1530,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "us-iso-east-1", - "UseDualStack": true + "UseFIPS": false } }, { @@ -1543,9 +1543,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "us-iso-east-1", - "UseDualStack": false + "UseFIPS": false } }, { @@ -1556,9 +1556,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "ap-southeast-3", - "UseDualStack": true + "UseFIPS": true } }, { @@ -1569,9 +1569,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "ap-southeast-3", - "UseDualStack": false + "UseFIPS": true } }, { @@ -1582,9 +1582,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "ap-southeast-3", - "UseDualStack": true + "UseFIPS": false } }, { @@ -1595,9 +1595,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "ap-southeast-3", - "UseDualStack": false + "UseFIPS": false } }, { @@ -1608,9 +1608,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "ap-southeast-4", - "UseDualStack": true + "UseFIPS": true } }, { @@ -1621,9 +1621,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "ap-southeast-4", - "UseDualStack": false + "UseFIPS": true } }, { @@ -1634,9 +1634,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "ap-southeast-4", - "UseDualStack": true + "UseFIPS": false } }, { @@ -1647,9 +1647,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "ap-southeast-4", - "UseDualStack": false + "UseFIPS": false } }, { @@ -1660,9 +1660,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "us-east-1", - "UseDualStack": true + "UseFIPS": true } }, { @@ -1673,9 +1673,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "us-east-1", - "UseDualStack": false + "UseFIPS": true } }, { @@ -1686,9 +1686,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "us-east-1", - "UseDualStack": true + "UseFIPS": false } }, { @@ -1699,9 +1699,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "us-east-1", - "UseDualStack": false + "UseFIPS": false } }, { @@ -1712,9 +1712,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "us-east-2", - "UseDualStack": true + "UseFIPS": true } }, { @@ -1725,9 +1725,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "us-east-2", - "UseDualStack": false + "UseFIPS": true } }, { @@ -1738,9 +1738,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "us-east-2", - "UseDualStack": true + "UseFIPS": false } }, { @@ -1751,9 +1751,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "us-east-2", - "UseDualStack": false + "UseFIPS": false } }, { @@ -1764,9 +1764,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "cn-northwest-1", - "UseDualStack": true + "UseFIPS": true } }, { @@ -1777,9 +1777,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "cn-northwest-1", - "UseDualStack": false + "UseFIPS": true } }, { @@ -1790,9 +1790,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "cn-northwest-1", - "UseDualStack": true + "UseFIPS": false } }, { @@ -1803,9 +1803,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "cn-northwest-1", - "UseDualStack": false + "UseFIPS": false } }, { @@ -1814,9 +1814,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseFIPS": true, + "UseDualStack": true, "Region": "us-isob-east-1", - "UseDualStack": true + "UseFIPS": true } }, { @@ -1827,9 +1827,9 @@ } }, "params": { - "UseFIPS": true, + "UseDualStack": false, "Region": "us-isob-east-1", - "UseDualStack": false + "UseFIPS": true } }, { @@ -1838,9 +1838,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseFIPS": false, + "UseDualStack": true, "Region": "us-isob-east-1", - "UseDualStack": true + "UseFIPS": false } }, { @@ -1851,9 +1851,9 @@ } }, "params": { - "UseFIPS": false, + "UseDualStack": false, "Region": "us-isob-east-1", - "UseDualStack": false + "UseFIPS": false } }, { @@ -1864,9 +1864,9 @@ } }, "params": { - "UseFIPS": false, - "Region": "us-east-1", "UseDualStack": false, + "Region": "us-east-1", + "UseFIPS": false, "Endpoint": "https://example.com" } }, @@ -1876,9 +1876,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseFIPS": true, - "Region": "us-east-1", "UseDualStack": false, + "Region": "us-east-1", + "UseFIPS": true, "Endpoint": "https://example.com" } }, @@ -1888,9 +1888,9 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseFIPS": false, - "Region": "us-east-1", "UseDualStack": true, + "Region": "us-east-1", + "UseFIPS": false, "Endpoint": "https://example.com" } } diff --git a/models/apis/kinesisvideo/2017-09-30/api-2.json b/models/apis/kinesisvideo/2017-09-30/api-2.json index ca9a6d32ae..cf0a28a776 100644 --- a/models/apis/kinesisvideo/2017-09-30/api-2.json +++ b/models/apis/kinesisvideo/2017-09-30/api-2.json @@ -80,6 +80,22 @@ {"shape":"ResourceInUseException"} ] }, + "DescribeEdgeConfiguration":{ + "name":"DescribeEdgeConfiguration", + "http":{ + "method":"POST", + "requestUri":"/describeEdgeConfiguration" + }, + "input":{"shape":"DescribeEdgeConfigurationInput"}, + "output":{"shape":"DescribeEdgeConfigurationOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ClientLimitExceededException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"StreamEdgeConfigurationNotFoundException"} + ] + }, "DescribeImageGenerationConfiguration":{ "name":"DescribeImageGenerationConfiguration", "http":{ @@ -229,6 +245,23 @@ {"shape":"InvalidResourceFormatException"} ] }, + "StartEdgeConfigurationUpdate":{ + "name":"StartEdgeConfigurationUpdate", + "http":{ + "method":"POST", + "requestUri":"/startEdgeConfigurationUpdate" + }, + "input":{"shape":"StartEdgeConfigurationUpdateInput"}, + "output":{"shape":"StartEdgeConfigurationUpdateOutput"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ClientLimitExceededException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"NoDataRetentionException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "TagResource":{ "name":"TagResource", "http":{ @@ -529,6 +562,7 @@ "type":"integer", "min":0 }, + "DeleteAfterUpload":{"type":"boolean"}, "DeleteSignalingChannelInput":{ "type":"structure", "required":["ChannelARN"], @@ -555,6 +589,33 @@ "members":{ } }, + "DeletionConfig":{ + "type":"structure", + "members":{ + "EdgeRetentionInHours":{"shape":"EdgeRetentionInHours"}, + "LocalSizeConfig":{"shape":"LocalSizeConfig"}, + "DeleteAfterUpload":{"shape":"DeleteAfterUpload"} + } + }, + "DescribeEdgeConfigurationInput":{ + "type":"structure", + "members":{ + "StreamName":{"shape":"StreamName"}, + "StreamARN":{"shape":"ResourceARN"} + } + }, + "DescribeEdgeConfigurationOutput":{ + "type":"structure", + "members":{ + "StreamName":{"shape":"StreamName"}, + "StreamARN":{"shape":"ResourceARN"}, + "CreationTime":{"shape":"Timestamp"}, + "LastUpdatedTime":{"shape":"Timestamp"}, + "SyncStatus":{"shape":"SyncStatus"}, + "FailedStatusDetails":{"shape":"FailedStatusDetails"}, + "EdgeConfig":{"shape":"EdgeConfig"} + } + }, "DescribeImageGenerationConfigurationInput":{ "type":"structure", "members":{ @@ -633,7 +694,31 @@ "error":{"httpStatusCode":400}, "exception":true }, + "DurationInSeconds":{ + "type":"integer", + "max":3600, + "min":60 + }, + "EdgeConfig":{ + "type":"structure", + "required":[ + "HubDeviceArn", + "RecorderConfig" + ], + "members":{ + "HubDeviceArn":{"shape":"HubDeviceArn"}, + "RecorderConfig":{"shape":"RecorderConfig"}, + "UploaderConfig":{"shape":"UploaderConfig"}, + "DeletionConfig":{"shape":"DeletionConfig"} + } + }, + "EdgeRetentionInHours":{ + "type":"integer", + "max":720, + "min":1 + }, "ErrorMessage":{"type":"string"}, + "FailedStatusDetails":{"type":"string"}, "Format":{ "type":"string", "enum":[ @@ -692,6 +777,12 @@ "max":2160, "min":1 }, + "HubDeviceArn":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"arn:[a-z\\d-]+:iot:[a-z0-9-]+:[0-9]+:thing/[a-zA-Z0-9_.-]+" + }, "ImageGenerationConfiguration":{ "type":"structure", "required":[ @@ -831,12 +922,49 @@ "Tags":{"shape":"ResourceTags"} } }, + "LocalSizeConfig":{ + "type":"structure", + "members":{ + "MaxLocalMediaSizeInMB":{"shape":"MaxLocalMediaSizeInMB"}, + "StrategyOnFullSize":{"shape":"StrategyOnFullSize"} + } + }, + "MaxLocalMediaSizeInMB":{ + "type":"integer", + "max":2000000, + "min":64 + }, + "MediaSourceConfig":{ + "type":"structure", + "required":[ + "MediaUriSecretArn", + "MediaUriType" + ], + "members":{ + "MediaUriSecretArn":{"shape":"MediaUriSecretArn"}, + "MediaUriType":{"shape":"MediaUriType"} + } + }, "MediaType":{ "type":"string", "max":128, "min":1, "pattern":"[\\w\\-\\.\\+]+/[\\w\\-\\.\\+]+(,[\\w\\-\\.\\+]+/[\\w\\-\\.\\+]+)*" }, + "MediaUriSecretArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:[a-z\\d-]+:secretsmanager:[a-z0-9-]+:[0-9]+:secret:[a-zA-Z0-9_.-]+", + "sensitive":true + }, + "MediaUriType":{ + "type":"string", + "enum":[ + "RTSP_URI", + "FILE_URI" + ] + }, "MessageTtlSeconds":{ "type":"integer", "max":120, @@ -882,6 +1010,14 @@ "Uri":{"shape":"DestinationUri"} } }, + "RecorderConfig":{ + "type":"structure", + "required":["MediaSourceConfig"], + "members":{ + "MediaSourceConfig":{"shape":"MediaSourceConfig"}, + "ScheduleConfig":{"shape":"ScheduleConfig"} + } + }, "ResourceARN":{ "type":"string", "max":1024, @@ -928,6 +1064,23 @@ "max":20000, "min":3000 }, + "ScheduleConfig":{ + "type":"structure", + "required":[ + "ScheduleExpression", + "DurationInSeconds" + ], + "members":{ + "ScheduleExpression":{"shape":"ScheduleExpression"}, + "DurationInSeconds":{"shape":"DurationInSeconds"} + } + }, + "ScheduleExpression":{ + "type":"string", + "max":100, + "min":11, + "pattern":"[^\\n]{11,100}" + }, "SingleMasterChannelEndpointConfiguration":{ "type":"structure", "members":{ @@ -941,6 +1094,27 @@ "MessageTtlSeconds":{"shape":"MessageTtlSeconds"} } }, + "StartEdgeConfigurationUpdateInput":{ + "type":"structure", + "required":["EdgeConfig"], + "members":{ + "StreamName":{"shape":"StreamName"}, + "StreamARN":{"shape":"ResourceARN"}, + "EdgeConfig":{"shape":"EdgeConfig"} + } + }, + "StartEdgeConfigurationUpdateOutput":{ + "type":"structure", + "members":{ + "StreamName":{"shape":"StreamName"}, + "StreamARN":{"shape":"ResourceARN"}, + "CreationTime":{"shape":"Timestamp"}, + "LastUpdatedTime":{"shape":"Timestamp"}, + "SyncStatus":{"shape":"SyncStatus"}, + "FailedStatusDetails":{"shape":"FailedStatusDetails"}, + "EdgeConfig":{"shape":"EdgeConfig"} + } + }, "Status":{ "type":"string", "enum":[ @@ -950,6 +1124,21 @@ "DELETING" ] }, + "StrategyOnFullSize":{ + "type":"string", + "enum":[ + "DELETE_OLDEST_MEDIA", + "DENY_NEW_MEDIA" + ] + }, + "StreamEdgeConfigurationNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":404}, + "exception":true + }, "StreamInfo":{ "type":"structure", "members":{ @@ -981,6 +1170,17 @@ "ComparisonValue":{"shape":"StreamName"} } }, + "SyncStatus":{ + "type":"string", + "enum":[ + "SYNCING", + "ACKNOWLEDGED", + "IN_SYNC", + "SYNC_FAILED", + "DELETING", + "DELETE_FAILED" + ] + }, "Tag":{ "type":"structure", "required":[ @@ -1177,6 +1377,13 @@ "members":{ } }, + "UploaderConfig":{ + "type":"structure", + "required":["ScheduleConfig"], + "members":{ + "ScheduleConfig":{"shape":"ScheduleConfig"} + } + }, "Version":{ "type":"string", "max":64, diff --git a/models/apis/kinesisvideo/2017-09-30/docs-2.json b/models/apis/kinesisvideo/2017-09-30/docs-2.json index 227c3199ac..f0a1354342 100644 --- a/models/apis/kinesisvideo/2017-09-30/docs-2.json +++ b/models/apis/kinesisvideo/2017-09-30/docs-2.json @@ -6,6 +6,7 @@ "CreateStream": "

Creates a new Kinesis video stream.

When you create a new stream, Kinesis Video Streams assigns it a version number. When you change the stream's metadata, Kinesis Video Streams updates the version.

CreateStream is an asynchronous operation.

For information about how the service works, see How it Works.

You must have permissions for the KinesisVideo:CreateStream action.

", "DeleteSignalingChannel": "

Deletes a specified signaling channel. DeleteSignalingChannel is an asynchronous operation. If you don't specify the channel's current version, the most recent version is deleted.

", "DeleteStream": "

Deletes a Kinesis video stream and the data contained in the stream.

This method marks the stream for deletion, and makes the data in the stream inaccessible immediately.

To ensure that you have the latest version of the stream before deleting it, you can specify the stream version. Kinesis Video Streams assigns a version to each stream. When you update a stream, Kinesis Video Streams assigns a new version number. To get the latest stream version, use the DescribeStream API.

This operation requires permission for the KinesisVideo:DeleteStream action.

", + "DescribeEdgeConfiguration": "

Describes a stream’s edge configuration that was set using the StartEdgeConfigurationUpdate API. Use this API to get the status of the configuration if the configuration is in sync with the Edge Agent.

", "DescribeImageGenerationConfiguration": "

Gets the ImageGenerationConfiguration for a given Kinesis video stream.

", "DescribeNotificationConfiguration": "

Gets the NotificationConfiguration for a given Kinesis video stream.

", "DescribeSignalingChannel": "

Returns the most current information about the signaling channel. You must specify either the name or the Amazon Resource Name (ARN) of the channel that you want to describe.

", @@ -16,6 +17,7 @@ "ListStreams": "

Returns an array of StreamInfo objects. Each object describes a stream. To retrieve only streams that satisfy a specific condition, you can specify a StreamNameCondition.

", "ListTagsForResource": "

Returns a list of tags associated with the specified signaling channel.

", "ListTagsForStream": "

Returns a list of tags associated with the specified stream.

In the request, you must specify either the StreamName or the StreamARN.

", + "StartEdgeConfigurationUpdate": "

An asynchronous API that updates a stream’s existing edge configuration. If this API is invoked for the first time, a new edge configuration will be created for the stream, and the sync status will be set to SYNCING.

The Kinesis Video Stream will sync the stream’s edge configuration with the Edge Agent IoT Greengrass component that runs on an IoT Hub Device setup at your premise. The time to sync can vary and depends on the connectivity of the Hub Device. The SyncStatus will be updated as the edge configuration is acknowledged, and synced with the Edge Agent. You will have to wait for the sync status to reach a terminal state such as: IN_SYNC and SYNC_FAILED, before using this API again.

If you invoke this API during the syncing process, a ResourceInUseException will be thrown. The connectivity of the stream's edge configuration and the Edge Agent will be retried for 15 minutes. After 15 minutes, the status will transition into the SYNC_FAILED state.

", "TagResource": "

Adds one or more tags to a signaling channel. A tag is a key-value pair (the value is optional) that you can define and assign to Amazon Web Services resources. If you specify a tag that already exists, the tag value is replaced with the value that you specify in the request. For more information, see Using Cost Allocation Tags in the Billing and Cost Management and Cost Management User Guide.

", "TagStream": "

Adds one or more tags to a stream. A tag is a key-value pair (the value is optional) that you can define and assign to Amazon Web Services resources. If you specify a tag that already exists, the tag value is replaced with the value that you specify in the request. For more information, see Using Cost Allocation Tags in the Billing and Cost Management and Cost Management User Guide.

You must provide either the StreamName or the StreamARN.

This operation requires permission for the KinesisVideo:TagStream action.

A Kinesis video stream can support up to 50 tags.

", "UntagResource": "

Removes one or more tags from a signaling channel. In the request, specify only a tag key or keys; don't specify the value. If you specify a tag key that does not exist, it's ignored.

", @@ -154,6 +156,12 @@ "StreamInfo$DataRetentionInHours": "

How long the stream retains data, in hours.

" } }, + "DeleteAfterUpload": { + "base": null, + "refs": { + "DeletionConfig$DeleteAfterUpload": "

The boolean value used to indicate whether or not you want to mark the media for deletion, once it has been uploaded to the Kinesis Video Stream cloud. The media files can be deleted if any of the deletion configuration values are set to true, such as when the limit for the EdgeRetentionInHours, or the MaxLocalMediaSizeInMB, has been reached.

Since the default value is set to true, configure the uploader schedule such that the media files are not being deleted before they are initially uploaded to AWS cloud.

" + } + }, "DeleteSignalingChannelInput": { "base": null, "refs": { @@ -174,6 +182,22 @@ "refs": { } }, + "DeletionConfig": { + "base": "

The configuration details required to delete the connection of the stream from the Edge Agent.

", + "refs": { + "EdgeConfig$DeletionConfig": "

The deletion configuration is made up of the retention time (EdgeRetentionInHours) and local size configuration (LocalSizeConfig) details that are used to make the deletion.

" + } + }, + "DescribeEdgeConfigurationInput": { + "base": null, + "refs": { + } + }, + "DescribeEdgeConfigurationOutput": { + "base": null, + "refs": { + } + }, "DescribeImageGenerationConfigurationInput": { "base": null, "refs": { @@ -223,8 +247,8 @@ "DestinationUri": { "base": null, "refs": { - "ImageGenerationDestinationConfig$Uri": "

The Uniform Resource Idenifier (URI) that identifies where the images will be delivered.

", - "NotificationDestinationConfig$Uri": "

The Uniform Resource Idenifier (URI) that identifies where the images will be delivered.

" + "ImageGenerationDestinationConfig$Uri": "

The Uniform Resource Identifier (URI) that identifies where the images will be delivered.

", + "NotificationDestinationConfig$Uri": "

The Uniform Resource Identifier (URI) that identifies where the images will be delivered.

" } }, "DeviceName": { @@ -240,6 +264,26 @@ "refs": { } }, + "DurationInSeconds": { + "base": null, + "refs": { + "ScheduleConfig$DurationInSeconds": "

The total duration to record the media. If the ScheduleExpression attribute is provided, then the DurationInSeconds attribute should also be specified.

" + } + }, + "EdgeConfig": { + "base": "

A description of the stream's edge configuration that will be used to sync with the Edge Agent IoT Greengrass component. The Edge Agent component will run on an IoT Hub Device setup at your premise.

", + "refs": { + "DescribeEdgeConfigurationOutput$EdgeConfig": "

A description of the stream's edge configuration that will be used to sync with the Edge Agent IoT Greengrass component. The Edge Agent component will run on an IoT Hub Device setup at your premise.

", + "StartEdgeConfigurationUpdateInput$EdgeConfig": "

The edge configuration details required to invoke the update process.

", + "StartEdgeConfigurationUpdateOutput$EdgeConfig": "

A description of the stream's edge configuration that will be used to sync with the Edge Agent IoT Greengrass component. The Edge Agent component will run on an IoT Hub Device setup at your premise.

" + } + }, + "EdgeRetentionInHours": { + "base": null, + "refs": { + "DeletionConfig$EdgeRetentionInHours": "

The number of hours that you want to retain the data in the stream on the Edge Agent. The default value of the retention time is 720 hours, which translates to 30 days.

" + } + }, "ErrorMessage": { "base": null, "refs": { @@ -255,10 +299,18 @@ "NotAuthorizedException$Message": null, "ResourceInUseException$Message": null, "ResourceNotFoundException$Message": null, + "StreamEdgeConfigurationNotFoundException$Message": null, "TagsPerResourceExceededLimitException$Message": null, "VersionMismatchException$Message": null } }, + "FailedStatusDetails": { + "base": null, + "refs": { + "DescribeEdgeConfigurationOutput$FailedStatusDetails": "

A description of the generated failure status.

", + "StartEdgeConfigurationUpdateOutput$FailedStatusDetails": "

A description of the generated failure status.

" + } + }, "Format": { "base": null, "refs": { @@ -309,6 +361,12 @@ "ImageGenerationConfiguration$HeightPixels": "

The height of the output image that is used in conjunction with the WidthPixels parameter. When both HeightPixels and WidthPixels parameters are provided, the image will be stretched to fit the specified aspect ratio. If only the HeightPixels parameter is provided, its original aspect ratio will be used to calculate the WidthPixels ratio. If neither parameter is provided, the original image size will be returned.

" } }, + "HubDeviceArn": { + "base": null, + "refs": { + "EdgeConfig$HubDeviceArn": "

The \"Internet of Things (IoT) Thing\" Arn of the stream.

" + } + }, "ImageGenerationConfiguration": { "base": "

The structure that contains the information required for the KVS images delivery. If null, the configuration will be deleted from the stream.

", "refs": { @@ -403,6 +461,24 @@ "refs": { } }, + "LocalSizeConfig": { + "base": "

The configuration details that include the maximum size of the media (MaxLocalMediaSizeInMB) that you want to store for a stream on the Edge Agent, as well as the strategy that should be used (StrategyOnFullSize) when a stream's maximum size has been reached.

", + "refs": { + "DeletionConfig$LocalSizeConfig": "

The value of the local size required in order to delete the edge configuration.

" + } + }, + "MaxLocalMediaSizeInMB": { + "base": null, + "refs": { + "LocalSizeConfig$MaxLocalMediaSizeInMB": "

The overall maximum size of the media that you want to store for a stream on the Edge Agent.

" + } + }, + "MediaSourceConfig": { + "base": "

The configuration details that consist of the credentials required (MediaUriSecretArn and MediaUriType) to access the media files that are streamed to the camera.

", + "refs": { + "RecorderConfig$MediaSourceConfig": "

The configuration details that consist of the credentials required (MediaUriSecretArn and MediaUriType) to access the media files streamed to the camera.

" + } + }, "MediaType": { "base": null, "refs": { @@ -411,6 +487,18 @@ "UpdateStreamInput$MediaType": "

The stream's media type. Use MediaType to specify the type of content that the stream contains to the consumers of the stream. For more information about media types, see Media Types. If you choose to specify the MediaType, see Naming Requirements.

To play video on the console, you must specify the correct video type. For example, if the video in the stream is H.264, specify video/h264 as the MediaType.

" } }, + "MediaUriSecretArn": { + "base": null, + "refs": { + "MediaSourceConfig$MediaUriSecretArn": "

The AWS Secrets Manager ARN for the username and password of the camera, or a local media file location.

" + } + }, + "MediaUriType": { + "base": null, + "refs": { + "MediaSourceConfig$MediaUriType": "

The Uniform Resource Identifier (Uri) type. The FILE_URI value can be used to stream local media files.

" + } + }, "MessageTtlSeconds": { "base": null, "refs": { @@ -453,6 +541,12 @@ "NotificationConfiguration$DestinationConfig": "

The destination information required to deliver a notification to a customer.

" } }, + "RecorderConfig": { + "base": "

The recorder configuration consists of the local MediaSourceConfig details that are used as credentials to accesss the local media files streamed on the camera.

", + "refs": { + "EdgeConfig$RecorderConfig": "

The recorder configuration consists of the local MediaSourceConfig details, that are used as credentials to access the local media files streamed on the camera.

" + } + }, "ResourceARN": { "base": null, "refs": { @@ -461,6 +555,8 @@ "CreateStreamOutput$StreamARN": "

The Amazon Resource Name (ARN) of the stream.

", "DeleteSignalingChannelInput$ChannelARN": "

The Amazon Resource Name (ARN) of the signaling channel that you want to delete.

", "DeleteStreamInput$StreamARN": "

The Amazon Resource Name (ARN) of the stream that you want to delete.

", + "DescribeEdgeConfigurationInput$StreamARN": "

The Amazon Resource Name (ARN) of the stream. Specify either the StreamNameor the StreamARN.

", + "DescribeEdgeConfigurationOutput$StreamARN": "

The Amazon Resource Name (ARN) of the stream.

", "DescribeImageGenerationConfigurationInput$StreamARN": "

The Amazon Resource Name (ARN) of the Kinesis video stream from which to retrieve the image generation configuration. You must specify either the StreamName or the StreamARN.

", "DescribeNotificationConfigurationInput$StreamARN": "

The Amazon Resource Name (ARN) of the Kinesis video stream from where you want to retrieve the notification configuration. You must specify either the StreamName or the StreamARN.

", "DescribeSignalingChannelInput$ChannelARN": "

The ARN of the signaling channel that you want to describe.

", @@ -469,6 +565,8 @@ "GetSignalingChannelEndpointInput$ChannelARN": "

The Amazon Resource Name (ARN) of the signalling channel for which you want to get an endpoint.

", "ListTagsForResourceInput$ResourceARN": "

The Amazon Resource Name (ARN) of the signaling channel for which you want to list tags.

", "ListTagsForStreamInput$StreamARN": "

The Amazon Resource Name (ARN) of the stream that you want to list tags for.

", + "StartEdgeConfigurationUpdateInput$StreamARN": "

The Amazon Resource Name (ARN) of the stream. Specify either the StreamName or the StreamARN.

", + "StartEdgeConfigurationUpdateOutput$StreamARN": "

The Amazon Resource Name (ARN) of the stream.

", "StreamInfo$StreamARN": "

The Amazon Resource Name (ARN) of the stream.

", "TagResourceInput$ResourceARN": "

The Amazon Resource Name (ARN) of the signaling channel to which you want to add tags.

", "TagStreamInput$StreamARN": "

The Amazon Resource Name (ARN) of the resource that you want to add the tag or tags to.

", @@ -524,6 +622,19 @@ "ImageGenerationConfiguration$SamplingInterval": "

The time interval in milliseconds (ms) at which the images need to be generated from the stream. The minimum value that can be provided is 33 ms, because a camera that generates content at 30 FPS would create a frame every 33.3 ms. If the timestamp range is less than the sampling interval, the Image from the StartTimestamp will be returned if available.

" } }, + "ScheduleConfig": { + "base": "

This API enables you to specify the duration that the camera, or local media file, should record onto the Edge Agent. The ScheduleConfig consists of the ScheduleExpression and the DurationInMinutes attributes.

If the ScheduleExpression is not provided, then the Edge Agent will always be set to recording mode.

", + "refs": { + "RecorderConfig$ScheduleConfig": "

The configuration that consists of the ScheduleExpression and the DurationInMinutes details that specify the scheduling to record from a camera, or local media file, onto the Edge Agent. If the ScheduleExpression attribute is not provided, then the Edge Agent will always be set to recording mode.

", + "UploaderConfig$ScheduleConfig": "

The configuration that consists of the ScheduleExpression and the DurationInMinutesdetails that specify the scheduling to record from a camera, or local media file, onto the Edge Agent. If the ScheduleExpression is not provided, then the Edge Agent will always be in recording mode.

" + } + }, + "ScheduleExpression": { + "base": null, + "refs": { + "ScheduleConfig$ScheduleExpression": "

The Quartz cron expression that takes care of scheduling jobs to record from the camera, or local media file, onto the Edge Agent. If the ScheduleExpression is not provided for the RecorderConfig, then the Edge Agent will always be set to recording mode.

For more information about Quartz, refer to the Cron Trigger Tutorial page to understand the valid expressions and its use.

" + } + }, "SingleMasterChannelEndpointConfiguration": { "base": "

An object that contains the endpoint configuration for the SINGLE_MASTER channel type.

", "refs": { @@ -538,6 +649,16 @@ "UpdateSignalingChannelInput$SingleMasterConfiguration": "

The structure containing the configuration for the SINGLE_MASTER type of the signaling channel that you want to update.

" } }, + "StartEdgeConfigurationUpdateInput": { + "base": null, + "refs": { + } + }, + "StartEdgeConfigurationUpdateOutput": { + "base": null, + "refs": { + } + }, "Status": { "base": null, "refs": { @@ -545,6 +666,17 @@ "StreamInfo$Status": "

The status of the stream.

" } }, + "StrategyOnFullSize": { + "base": null, + "refs": { + "LocalSizeConfig$StrategyOnFullSize": "

The strategy to perform when a stream’s MaxLocalMediaSizeInMB limit is reached.

" + } + }, + "StreamEdgeConfigurationNotFoundException": { + "base": "

The Exception rendered when the Amazon Kinesis Video Stream can't find a stream's edge configuration that you specified.

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

An object describing a Kinesis video stream.

", "refs": { @@ -562,11 +694,15 @@ "base": null, "refs": { "CreateStreamInput$StreamName": "

A name for the stream that you are creating.

The stream name is an identifier for the stream, and must be unique for each account and region.

", + "DescribeEdgeConfigurationInput$StreamName": "

The name of the stream whose edge configuration you want to update. Specify either the StreamName or the StreamARN.

", + "DescribeEdgeConfigurationOutput$StreamName": "

The name of the stream from which the edge configuration was updated.

", "DescribeImageGenerationConfigurationInput$StreamName": "

The name of the stream from which to retrieve the image generation configuration. You must specify either the StreamName or the StreamARN.

", "DescribeNotificationConfigurationInput$StreamName": "

The name of the stream from which to retrieve the notification configuration. You must specify either the StreamName or the StreamARN.

", "DescribeStreamInput$StreamName": "

The name of the stream.

", "GetDataEndpointInput$StreamName": "

The name of the stream that you want to get the endpoint for. You must specify either this parameter or a StreamARN in the request.

", "ListTagsForStreamInput$StreamName": "

The name of the stream that you want to list tags for.

", + "StartEdgeConfigurationUpdateInput$StreamName": "

The name of the stream whose edge configuration you want to update. Specify either the StreamName or the StreamARN.

", + "StartEdgeConfigurationUpdateOutput$StreamName": "

The name of the stream from which the edge configuration was updated.

", "StreamInfo$StreamName": "

The name of the stream.

", "StreamNameCondition$ComparisonValue": "

A value to compare.

", "TagStreamInput$StreamName": "

The name of the stream that you want to add the tag or tags to.

", @@ -583,6 +719,13 @@ "ListStreamsInput$StreamNameCondition": "

Optional: Returns only streams that satisfy a specific condition. Currently, you can specify only the prefix of a stream name as a condition.

" } }, + "SyncStatus": { + "base": null, + "refs": { + "DescribeEdgeConfigurationOutput$SyncStatus": "

The latest status of the edge configuration update.

", + "StartEdgeConfigurationUpdateOutput$SyncStatus": "

The current sync status of the stream's edge configuration. When you invoke this API, the sync status will be set to the SYNCING state. Use the DescribeEdgeConfiguration API to get the latest status of the edge configuration.

" + } + }, "Tag": { "base": "

A key and value pair that is associated with the specified signaling channel.

", "refs": { @@ -653,6 +796,10 @@ "base": null, "refs": { "ChannelInfo$CreationTime": "

The time at which the signaling channel was created.

", + "DescribeEdgeConfigurationOutput$CreationTime": "

The timestamp at which a stream’s edge configuration was first created.

", + "DescribeEdgeConfigurationOutput$LastUpdatedTime": "

The timestamp at which a stream’s edge configuration was last updated.

", + "StartEdgeConfigurationUpdateOutput$CreationTime": "

The timestamp at which a stream’s edge configuration was first created.

", + "StartEdgeConfigurationUpdateOutput$LastUpdatedTime": "

The timestamp at which a stream’s edge configuration was last updated.

", "StreamInfo$CreationTime": "

A time stamp that indicates when the stream was created.

" } }, @@ -732,6 +879,12 @@ "refs": { } }, + "UploaderConfig": { + "base": "

The configuration that consists of the ScheduleConfig attribute that's required, to schedule the jobs to upload the recorded media files onto the Edge Agent in a Kinesis Video Stream.

", + "refs": { + "EdgeConfig$UploaderConfig": "

The uploader configuration contains the ScheduleExpression details that are used, to schedule upload jobs for the recorded media files from the Edge Agent, to a Kinesis Video Stream.

" + } + }, "Version": { "base": null, "refs": { diff --git a/models/apis/kinesisvideo/2017-09-30/endpoint-rule-set-1.json b/models/apis/kinesisvideo/2017-09-30/endpoint-rule-set-1.json new file mode 100644 index 0000000000..88b2afecfa --- /dev/null +++ b/models/apis/kinesisvideo/2017-09-30/endpoint-rule-set-1.json @@ -0,0 +1,306 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": true, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://kinesisvideo-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://kinesisvideo-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://kinesisvideo.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://kinesisvideo.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/kinesisvideo/2017-09-30/endpoint-tests-1.json b/models/apis/kinesisvideo/2017-09-30/endpoint-tests-1.json new file mode 100644 index 0000000000..588d8a5e4c --- /dev/null +++ b/models/apis/kinesisvideo/2017-09-30/endpoint-tests-1.json @@ -0,0 +1,1279 @@ +{ + "testCases": [ + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.ap-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.ap-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.ap-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-south-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.us-gov-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.ca-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.ca-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.ca-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ca-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.eu-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.eu-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-iso-west-1" + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.us-iso-west-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-iso-west-1" + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-iso-west-1" + } + }, + { + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.us-iso-west-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-iso-west-1" + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.us-west-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.us-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.us-west-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.us-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-west-2" + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.af-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "af-south-1" + } + }, + { + "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.af-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "af-south-1" + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.af-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "af-south-1" + } + }, + { + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.af-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "af-south-1" + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.eu-north-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.eu-north-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.eu-north-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.eu-north-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-north-1" + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.eu-west-3.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.eu-west-3.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.eu-west-3.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-west-3" + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.eu-west-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.eu-west-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.eu-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-west-2" + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.eu-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.eu-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.ap-northeast-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.ap-northeast-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.ap-northeast-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.ap-northeast-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.me-south-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "me-south-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.me-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "me-south-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.me-south-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "me-south-1" + } + }, + { + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.me-south-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "me-south-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.sa-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.sa-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.sa-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "sa-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.ap-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.ap-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.ap-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.ap-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-east-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.us-gov-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-gov-west-1" + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-gov-west-1" + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.us-gov-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-gov-west-1" + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-gov-west-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.ap-southeast-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.ap-southeast-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-southeast-1" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.ap-southeast-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.ap-southeast-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-southeast-2" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.us-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.us-east-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.us-east-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.us-east-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.us-east-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://kinesisvideo.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-east-1", + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-east-1", + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-east-1", + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/lookoutvision/2020-11-20/docs-2.json b/models/apis/lookoutvision/2020-11-20/docs-2.json index 05979ce344..307fa6c6c5 100644 --- a/models/apis/lookoutvision/2020-11-20/docs-2.json +++ b/models/apis/lookoutvision/2020-11-20/docs-2.json @@ -19,7 +19,7 @@ "ListProjects": "

Lists the Amazon Lookout for Vision projects in your AWS account that are in the AWS Region in which you call ListProjects.

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

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

", "ListTagsForResource": "

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

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

", "StartModel": "

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

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

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

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

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

", - "StartModelPackagingJob": "

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

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

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

This operation requires the following permissions:

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

", + "StartModelPackagingJob": "

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

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

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

This operation requires the following permissions:

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

", "StopModel": "

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

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

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

", "TagResource": "

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

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

", "UntagResource": "

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

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

", diff --git a/models/apis/lookoutvision/2020-11-20/endpoint-rule-set-1.json b/models/apis/lookoutvision/2020-11-20/endpoint-rule-set-1.json new file mode 100644 index 0000000000..02c8d086db --- /dev/null +++ b/models/apis/lookoutvision/2020-11-20/endpoint-rule-set-1.json @@ -0,0 +1,306 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": true, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://lookoutvision-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://lookoutvision-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://lookoutvision.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://lookoutvision.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/lookoutvision/2020-11-20/endpoint-tests-1.json b/models/apis/lookoutvision/2020-11-20/endpoint-tests-1.json new file mode 100644 index 0000000000..56603f6367 --- /dev/null +++ b/models/apis/lookoutvision/2020-11-20/endpoint-tests-1.json @@ -0,0 +1,407 @@ +{ + "testCases": [ + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lookoutvision-fips.eu-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lookoutvision-fips.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lookoutvision.eu-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lookoutvision.eu-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-central-1" + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lookoutvision-fips.us-west-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lookoutvision-fips.us-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lookoutvision.us-west-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-west-2" + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lookoutvision.us-west-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-west-2" + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lookoutvision-fips.eu-west-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lookoutvision-fips.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lookoutvision.eu-west-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lookoutvision.eu-west-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "eu-west-1" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lookoutvision-fips.ap-northeast-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lookoutvision-fips.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lookoutvision.ap-northeast-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lookoutvision.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-northeast-2" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lookoutvision-fips.ap-northeast-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lookoutvision-fips.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lookoutvision.ap-northeast-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lookoutvision.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "ap-northeast-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lookoutvision-fips.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lookoutvision-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lookoutvision.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lookoutvision.us-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lookoutvision-fips.us-east-2.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lookoutvision-fips.us-east-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://lookoutvision.us-east-2.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-east-2" + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://lookoutvision.us-east-2.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-east-2" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-east-1", + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-east-1", + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-east-1", + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/migration-hub-refactor-spaces/2021-10-26/api-2.json b/models/apis/migration-hub-refactor-spaces/2021-10-26/api-2.json index 7973004690..db0af97f8c 100644 --- a/models/apis/migration-hub-refactor-spaces/2021-10-26/api-2.json +++ b/models/apis/migration-hub-refactor-spaces/2021-10-26/api-2.json @@ -1266,7 +1266,7 @@ "type":"string", "max":2048, "min":1, - "pattern":"^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_]+(: (\\$LATEST|[a-zA-Z0-9-_]+))?$" + "pattern":"^arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$" }, "LambdaEndpointConfig":{ "type":"structure", diff --git a/models/apis/migration-hub-refactor-spaces/2021-10-26/docs-2.json b/models/apis/migration-hub-refactor-spaces/2021-10-26/docs-2.json index 71bec529b0..f33361a80d 100644 --- a/models/apis/migration-hub-refactor-spaces/2021-10-26/docs-2.json +++ b/models/apis/migration-hub-refactor-spaces/2021-10-26/docs-2.json @@ -1,10 +1,10 @@ { "version": "2.0", - "service": "

Amazon Web Services Migration Hub Refactor Spaces

 <p>This API reference provides descriptions, syntax, and other details about each of the actions and data types for Amazon Web Services Migration Hub Refactor Spaces (Refactor Spaces). The topic for each action shows the API request parameters and the response. Alternatively, you can use one of the Amazon Web Services SDKs to access an API that is tailored to the programming language or platform that you're using. For more information, see <a href="https://aws.amazon.com/tools/#SDKs">Amazon Web Services SDKs</a>.</p> <p>To share Refactor Spaces environments with other Amazon Web Services accounts or with Organizations and their OUs, use Resource Access Manager's <code>CreateResourceShare</code> API. See <a href="https://docs.aws.amazon.com/ram/latest/APIReference/API_CreateResourceShare.html">CreateResourceShare</a> in the <i>Amazon Web Services RAM API Reference</i>.</p> 
", + "service": "

Amazon Web Services Migration Hub Refactor Spaces

This API reference provides descriptions, syntax, and other details about each of the actions and data types for Amazon Web Services Migration Hub Refactor Spaces (Refactor Spaces). The topic for each action shows the API request parameters and the response. Alternatively, you can use one of the Amazon Web Services SDKs to access an API that is tailored to the programming language or platform that you're using. For more information, see Amazon Web Services SDKs.

To share Refactor Spaces environments with other Amazon Web Services accounts or with Organizations and their OUs, use Resource Access Manager's CreateResourceShare API. See CreateResourceShare in the Amazon Web Services RAM API Reference.

", "operations": { "CreateApplication": "

Creates an Amazon Web Services Migration Hub Refactor Spaces application. The account that owns the environment also owns the applications created inside the environment, regardless of the account that creates the application. Refactor Spaces provisions an Amazon API Gateway, API Gateway VPC link, and Network Load Balancer for the application proxy inside your account.

", "CreateEnvironment": "

Creates an Amazon Web Services Migration Hub Refactor Spaces environment. The caller owns the environment resource, and all Refactor Spaces applications, services, and routes created within the environment. They are referred to as the environment owner. The environment owner has cross-account visibility and control of Refactor Spaces resources that are added to the environment by other accounts that the environment is shared with. When creating an environment, Refactor Spaces provisions a transit gateway in your account.

", - "CreateRoute": "

Creates an Amazon Web Services Migration Hub Refactor Spaces route. The account owner of the service resource is always the environment owner, regardless of which account creates the route. Routes target a service in the application. If an application does not have any routes, then the first route must be created as a DEFAULT RouteType.

When created, the default route defaults to an active state so state is not a required input. However, like all other state values the state of the default route can be updated after creation, but only when all other routes are also inactive. Conversely, no route can be active without the default route also being active.

When you create a route, Refactor Spaces configures the Amazon API Gateway to send traffic to the target service as follows:

A one-time health check is performed on the service when either the route is updated from inactive to active, or when it is created with an active state. If the health check fails, the route transitions the route state to FAILED, an error code of SERVICE_ENDPOINT_HEALTH_CHECK_FAILURE is provided, and no traffic is sent to the service.

For Lambda functions, the Lambda function state is checked. If the function is not active, the function configuration is updated so that Lambda resources are provisioned. If the Lambda state is Failed, then the route creation fails. For more information, see the GetFunctionConfiguration's State response parameter in the Lambda Developer Guide.

For Lambda endpoints, a check is performed to determine that a Lambda function with the specified ARN exists. If it does not exist, the health check fails. For public URLs, a connection is opened to the public endpoint. If the URL is not reachable, the health check fails.

For private URLS, a target group is created on the Elastic Load Balancing and the target group health check is run. The HealthCheckProtocol, HealthCheckPort, and HealthCheckPath are the same protocol, port, and path specified in the URL or health URL, if used. All other settings use the default values, as described in Health checks for your target groups. The health check is considered successful if at least one target within the target group transitions to a healthy state.

Services can have HTTP or HTTPS URL endpoints. For HTTPS URLs, publicly-signed certificates are supported. Private Certificate Authorities (CAs) are permitted only if the CA's domain is also publicly resolvable.

", + "CreateRoute": "

Creates an Amazon Web Services Migration Hub Refactor Spaces route. The account owner of the service resource is always the environment owner, regardless of which account creates the route. Routes target a service in the application. If an application does not have any routes, then the first route must be created as a DEFAULT RouteType.

When created, the default route defaults to an active state so state is not a required input. However, like all other state values the state of the default route can be updated after creation, but only when all other routes are also inactive. Conversely, no route can be active without the default route also being active.

When you create a route, Refactor Spaces configures the Amazon API Gateway to send traffic to the target service as follows:

A one-time health check is performed on the service when either the route is updated from inactive to active, or when it is created with an active state. If the health check fails, the route transitions the route state to FAILED, an error code of SERVICE_ENDPOINT_HEALTH_CHECK_FAILURE is provided, and no traffic is sent to the service.

For Lambda functions, the Lambda function state is checked. If the function is not active, the function configuration is updated so that Lambda resources are provisioned. If the Lambda state is Failed, then the route creation fails. For more information, see the GetFunctionConfiguration's State response parameter in the Lambda Developer Guide.

For Lambda endpoints, a check is performed to determine that a Lambda function with the specified ARN exists. If it does not exist, the health check fails. For public URLs, a connection is opened to the public endpoint. If the URL is not reachable, the health check fails.

Refactor Spaces automatically resolves the public Domain Name System (DNS) names that are set in CreateServiceRequest$UrlEndpoint when you create a service. The DNS names resolve when the DNS time-to-live (TTL) expires, or every 60 seconds for TTLs less than 60 seconds. This periodic DNS resolution ensures that the route configuration remains up-to-date.

For private URLS, a target group is created on the Elastic Load Balancing and the target group health check is run. The HealthCheckProtocol, HealthCheckPort, and HealthCheckPath are the same protocol, port, and path specified in the URL or health URL, if used. All other settings use the default values, as described in Health checks for your target groups. The health check is considered successful if at least one target within the target group transitions to a healthy state.

Services can have HTTP or HTTPS URL endpoints. For HTTPS URLs, publicly-signed certificates are supported. Private Certificate Authorities (CAs) are permitted only if the CA's domain is also publicly resolvable.

", "CreateService": "

Creates an Amazon Web Services Migration Hub Refactor Spaces service. The account owner of the service is always the environment owner, regardless of which account in the environment creates the service. Services have either a URL endpoint in a virtual private cloud (VPC), or a Lambda function endpoint.

If an Amazon Web Services resource is launched in a service VPC, and you want it to be accessible to all of an environment’s services with VPCs and routes, apply the RefactorSpacesSecurityGroup to the resource. Alternatively, to add more cross-account constraints, apply your own security group.

", "DeleteApplication": "

Deletes an Amazon Web Services Migration Hub Refactor Spaces application. Before you can delete an application, you must first delete any services or routes within the application.

", "DeleteEnvironment": "

Deletes an Amazon Web Services Migration Hub Refactor Spaces environment. Before you can delete an environment, you must first delete any applications and services within the environment.

", @@ -510,7 +510,7 @@ "base": null, "refs": { "LambdaEndpointConfig$Arn": "

The Amazon Resource Name (ARN) of the Lambda endpoint.

", - "LambdaEndpointInput$Arn": "

The Amazon Resource Name (ARN) of the Lambda endpoint.

", + "LambdaEndpointInput$Arn": "

The Amazon Resource Name (ARN) of the Lambda function or alias.

", "LambdaEndpointSummary$Arn": "

The Amazon Resource Name (ARN) of the Lambda endpoint.

" } }, @@ -1038,7 +1038,7 @@ "UrlEndpointInput": { "base": "

The configuration for the URL endpoint type.

", "refs": { - "CreateServiceRequest$UrlEndpoint": "

The configuration for the URL endpoint type.

", + "CreateServiceRequest$UrlEndpoint": "

The configuration for the URL endpoint type. When creating a route to a service, Refactor Spaces automatically resolves the address in the UrlEndpointInput object URL when the Domain Name System (DNS) time-to-live (TTL) expires, or every 60 seconds for TTLs less than 60 seconds.

", "CreateServiceResponse$UrlEndpoint": "

The configuration for the URL endpoint type.

" } }, diff --git a/models/apis/migration-hub-refactor-spaces/2021-10-26/endpoint-rule-set-1.json b/models/apis/migration-hub-refactor-spaces/2021-10-26/endpoint-rule-set-1.json new file mode 100644 index 0000000000..170abd6b8c --- /dev/null +++ b/models/apis/migration-hub-refactor-spaces/2021-10-26/endpoint-rule-set-1.json @@ -0,0 +1,309 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "parseURL", + "argv": [ + { + "ref": "Endpoint" + } + ], + "assign": "url" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://refactor-spaces-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://refactor-spaces-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://refactor-spaces.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://refactor-spaces.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/migration-hub-refactor-spaces/2021-10-26/endpoint-tests-1.json b/models/apis/migration-hub-refactor-spaces/2021-10-26/endpoint-tests-1.json new file mode 100644 index 0000000000..ff1bae97f5 --- /dev/null +++ b/models/apis/migration-hub-refactor-spaces/2021-10-26/endpoint-tests-1.json @@ -0,0 +1,43 @@ +{ + "testCases": [ + { + "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "UseFIPS": true, + "Region": "us-east-1", + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "UseFIPS": false, + "Region": "us-east-1", + "UseDualStack": true, + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/rds/2014-10-31/api-2.json b/models/apis/rds/2014-10-31/api-2.json index aaa54f0b56..5f828bf685 100644 --- a/models/apis/rds/2014-10-31/api-2.json +++ b/models/apis/rds/2014-10-31/api-2.json @@ -3010,7 +3010,8 @@ "CopyTags":{"shape":"BooleanOptional"}, "PreSignedUrl":{"shape":"String"}, "OptionGroupName":{"shape":"String"}, - "TargetCustomAvailabilityZone":{"shape":"String"} + "TargetCustomAvailabilityZone":{"shape":"String"}, + "CopyOptionGroup":{"shape":"BooleanOptional"} } }, "CopyDBSnapshotResult":{ @@ -6940,7 +6941,10 @@ "Options":{"shape":"OptionsList"}, "AllowsVpcAndNonVpcInstanceMemberships":{"shape":"Boolean"}, "VpcId":{"shape":"String"}, - "OptionGroupArn":{"shape":"String"} + "OptionGroupArn":{"shape":"String"}, + "SourceOptionGroup":{"shape":"String"}, + "SourceAccountId":{"shape":"String"}, + "CopyTimestamp":{"shape":"TStamp"} }, "wrapper":true }, @@ -6998,7 +7002,8 @@ "VpcOnly":{"shape":"Boolean"}, "SupportsOptionVersionDowngrade":{"shape":"BooleanOptional"}, "OptionGroupOptionSettings":{"shape":"OptionGroupOptionSettingsList"}, - "OptionGroupOptionVersions":{"shape":"OptionGroupOptionVersionsList"} + "OptionGroupOptionVersions":{"shape":"OptionGroupOptionVersionsList"}, + "CopyableCrossAccount":{"shape":"BooleanOptional"} } }, "OptionGroupOptionSetting":{ diff --git a/models/apis/rds/2014-10-31/docs-2.json b/models/apis/rds/2014-10-31/docs-2.json index f3d28845ad..ebc8630f3e 100644 --- a/models/apis/rds/2014-10-31/docs-2.json +++ b/models/apis/rds/2014-10-31/docs-2.json @@ -516,7 +516,8 @@ "Certificate$CustomerOverride": "

Whether there is an override for the default certificate identifier.

", "ClusterPendingModifiedValues$IAMDatabaseAuthenticationEnabled": "

A value that indicates whether mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts is enabled.

", "CopyDBClusterSnapshotMessage$CopyTags": "

A value that indicates whether to copy all tags from the source DB cluster snapshot to the target DB cluster snapshot. By default, tags are not copied.

", - "CopyDBSnapshotMessage$CopyTags": "

A value that indicates whether to copy all tags from the source DB snapshot to the target DB snapshot. By default, tags are not copied.

", + "CopyDBSnapshotMessage$CopyTags": "

A value that indicates whether to copy all tags from the source DB snapshot to the target DB snapshot. By default, tags aren't copied.

", + "CopyDBSnapshotMessage$CopyOptionGroup": "

A value that indicates whether to copy the DB option group associated with the source DB snapshot to the target Amazon Web Services account and associate with the target DB snapshot. The associated option group can be copied only with cross-account snapshot copy calls.

", "CreateDBClusterMessage$StorageEncrypted": "

A value that indicates whether the DB cluster is encrypted.

Valid for: Aurora DB clusters and Multi-AZ DB clusters

", "CreateDBClusterMessage$EnableIAMDatabaseAuthentication": "

A value that indicates whether to enable mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts. By default, mapping isn't enabled.

For more information, see IAM Database Authentication in the Amazon Aurora User Guide.

Valid for: Aurora DB clusters only

", "CreateDBClusterMessage$DeletionProtection": "

A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection isn't enabled.

Valid for: Aurora DB clusters and Multi-AZ DB clusters

", @@ -593,6 +594,7 @@ "ModifyGlobalClusterMessage$DeletionProtection": "

Indicates if the global database cluster has deletion protection enabled. The global database cluster can't be deleted when deletion protection is enabled.

", "ModifyGlobalClusterMessage$AllowMajorVersionUpgrade": "

A value that indicates whether major version upgrades are allowed.

Constraints: You must allow major version upgrades when specifying a value for the EngineVersion parameter that is a different major version than the DB cluster's current version.

If you upgrade the major version of a global database, the cluster and DB instance parameter groups are set to the default parameter groups for the new version. Apply any custom parameter groups after completing the upgrade.

", "OptionGroupOption$SupportsOptionVersionDowngrade": "

If true, you can change the option to an earlier version of the option. This only applies to options that have different versions available.

", + "OptionGroupOption$CopyableCrossAccount": "

Specifies whether the option can be copied across Amazon Web Services accounts.

", "OrderableDBInstanceOption$SupportsStorageAutoscaling": "

Whether Amazon RDS can automatically scale storage for DB instances that use the specified DB instance class.

", "OrderableDBInstanceOption$SupportsKerberosAuthentication": "

Whether a DB instance supports Kerberos Authentication.

", "PendingModifiedValues$MultiAZ": "

A value that indicates that the Single-AZ DB instance will change to a Multi-AZ deployment.

", @@ -4518,7 +4520,9 @@ "OptionGroup$EngineName": "

Indicates the name of the engine that this option group can be applied to.

", "OptionGroup$MajorEngineVersion": "

Indicates the major engine version associated with this option group.

", "OptionGroup$VpcId": "

If AllowsVpcAndNonVpcInstanceMemberships is false, this field is blank. If AllowsVpcAndNonVpcInstanceMemberships is true and this field is blank, then this option group can be applied to both VPC and non-VPC instances. If this field contains a value, then this option group can only be applied to instances that are in the VPC indicated by this field.

", - "OptionGroup$OptionGroupArn": "

The Amazon Resource Name (ARN) for the option group.

", + "OptionGroup$OptionGroupArn": "

Specifies the Amazon Resource Name (ARN) for the option group.

", + "OptionGroup$SourceOptionGroup": "

Specifies the name of the option group from which this option group is copied.

", + "OptionGroup$SourceAccountId": "

Specifies the Amazon Web Services account ID for the option group from which this option group is copied.

", "OptionGroupMembership$OptionGroupName": "

The name of the option group that the instance belongs to.

", "OptionGroupMembership$Status": "

The status of the DB instance's option group membership. Valid values are: in-sync, pending-apply, pending-removal, pending-maintenance-apply, pending-maintenance-removal, applying, removing, and failed.

", "OptionGroupOption$Name": "

The name of the option.

", @@ -4962,6 +4966,7 @@ "ExportTask$SnapshotTime": "

The time that the snapshot was created.

", "ExportTask$TaskStartTime": "

The time that the snapshot export task started.

", "ExportTask$TaskEndTime": "

The time that the snapshot export task completed.

", + "OptionGroup$CopyTimestamp": "

Indicates when the option group was copied.

", "PendingMaintenanceAction$AutoAppliedAfterDate": "

The date of the maintenance window when the action is applied. The maintenance action is applied to the resource during its first maintenance window after this date.

", "PendingMaintenanceAction$ForcedApplyDate": "

The date when the maintenance action is automatically applied.

On this date, the maintenance action is applied to the resource as soon as possible, regardless of the maintenance window for the resource. There might be a delay of one or more days from this date before the maintenance action is applied.

", "PendingMaintenanceAction$CurrentApplyDate": "

The effective date when the pending maintenance action is applied to the resource. This date takes into account opt-in requests received from the ApplyPendingMaintenanceAction API, the AutoAppliedAfterDate, and the ForcedApplyDate. This value is blank if an opt-in request has not been received and nothing has been specified as AutoAppliedAfterDate or ForcedApplyDate.

", diff --git a/models/apis/rekognition/2016-06-27/api-2.json b/models/apis/rekognition/2016-06-27/api-2.json index b17e20b377..f4bbbb3ef8 100644 --- a/models/apis/rekognition/2016-06-27/api-2.json +++ b/models/apis/rekognition/2016-06-27/api-2.json @@ -2464,7 +2464,8 @@ "JobId":{"shape":"JobId"}, "MaxResults":{"shape":"MaxResults"}, "NextToken":{"shape":"PaginationToken"}, - "SortBy":{"shape":"LabelDetectionSortBy"} + "SortBy":{"shape":"LabelDetectionSortBy"}, + "AggregateBy":{"shape":"LabelDetectionAggregateBy"} } }, "GetLabelDetectionResponse":{ @@ -2827,7 +2828,33 @@ "type":"structure", "members":{ "Timestamp":{"shape":"Timestamp"}, - "Label":{"shape":"Label"} + "Label":{"shape":"Label"}, + "StartTimestampMillis":{"shape":"ULong"}, + "EndTimestampMillis":{"shape":"ULong"}, + "DurationMillis":{"shape":"ULong"} + } + }, + "LabelDetectionAggregateBy":{ + "type":"string", + "enum":[ + "TIMESTAMPS", + "SEGMENTS" + ] + }, + "LabelDetectionFeatureList":{ + "type":"list", + "member":{"shape":"LabelDetectionFeatureName"}, + "max":1, + "min":0 + }, + "LabelDetectionFeatureName":{ + "type":"string", + "enum":["GENERAL_LABELS"] + }, + "LabelDetectionSettings":{ + "type":"structure", + "members":{ + "GeneralLabels":{"shape":"GeneralLabelsSettings"} } }, "LabelDetectionSortBy":{ @@ -3731,7 +3758,9 @@ "ClientRequestToken":{"shape":"ClientRequestToken"}, "MinConfidence":{"shape":"Percent"}, "NotificationChannel":{"shape":"NotificationChannel"}, - "JobTag":{"shape":"JobTag"} + "JobTag":{"shape":"JobTag"}, + "Features":{"shape":"LabelDetectionFeatureList"}, + "Settings":{"shape":"LabelDetectionSettings"} } }, "StartLabelDetectionResponse":{ diff --git a/models/apis/rekognition/2016-06-27/docs-2.json b/models/apis/rekognition/2016-06-27/docs-2.json index baf23a495b..73e1058017 100644 --- a/models/apis/rekognition/2016-06-27/docs-2.json +++ b/models/apis/rekognition/2016-06-27/docs-2.json @@ -23,7 +23,7 @@ "DescribeStreamProcessor": "

Provides information about a stream processor created by CreateStreamProcessor. You can get information about the input and output streams, the input parameters for the face recognition being performed, and the current status of the stream processor.

", "DetectCustomLabels": "

Detects custom labels in a supplied image by using an Amazon Rekognition Custom Labels model.

You specify which version of a model version to use by using the ProjectVersionArn input parameter.

You pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

For each object that the model version detects on an image, the API returns a (CustomLabel) object in an array (CustomLabels). Each CustomLabel object provides the label name (Name), the level of confidence that the image contains the object (Confidence), and object location information, if it exists, for the label on the image (Geometry).

To filter labels that are returned, specify a value for MinConfidence. DetectCustomLabelsLabels only returns labels with a confidence that's higher than the specified value. The value of MinConfidence maps to the assumed threshold values created during training. For more information, see Assumed threshold in the Amazon Rekognition Custom Labels Developer Guide. Amazon Rekognition Custom Labels metrics expresses an assumed threshold as a floating point value between 0-1. The range of MinConfidence normalizes the threshold value to a percentage value (0-100). Confidence responses from DetectCustomLabels are also returned as a percentage. You can use MinConfidence to change the precision and recall or your model. For more information, see Analyzing an image in the Amazon Rekognition Custom Labels Developer Guide.

If you don't specify a value for MinConfidence, DetectCustomLabels returns labels based on the assumed threshold of each label.

This is a stateless API operation. That is, the operation does not persist any data.

This operation requires permissions to perform the rekognition:DetectCustomLabels action.

For more information, see Analyzing an image in the Amazon Rekognition Custom Labels Developer Guide.

", "DetectFaces": "

Detects faces within an image that is provided as input.

DetectFaces detects the 100 largest faces in the image. For each face detected, the operation returns face details. These details include a bounding box of the face, a confidence value (that the bounding box contains a face), and a fixed set of attributes such as facial landmarks (for example, coordinates of eye and mouth), presence of beard, sunglasses, and so on.

The face-detection algorithm is most effective on frontal faces. For non-frontal or obscured faces, the algorithm might not detect the faces or might detect faces with lower confidence.

You pass the input image either as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

This is a stateless API operation. That is, the operation does not persist any data.

This operation requires permissions to perform the rekognition:DetectFaces action.

", - "DetectLabels": "

Detects instances of real-world entities within an image (JPEG or PNG) provided as input. This includes objects like flower, tree, and table; events like wedding, graduation, and birthday party; and concepts like landscape, evening, and nature.

For an example, see Analyzing images stored in an Amazon S3 bucket in the Amazon Rekognition Developer Guide.

You pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

Optional Parameters

You can specify one or both of the GENERAL_LABELS and IMAGE_PROPERTIES feature types when calling the DetectLabels API. Including GENERAL_LABELS will ensure the response includes the labels detected in the input image, while including IMAGE_PROPERTIES will ensure the response includes information about the image quality and color.

When using GENERAL_LABELS and/or IMAGE_PROPERTIES you can provide filtering criteria to the Settings parameter. You can filter with sets of individual labels or with label categories. You can specify inclusive filters, exclusive filters, or a combination of inclusive and exclusive filters. For more information on filtering see Detecting Labels in an Image.

You can specify MinConfidence to control the confidence threshold for the labels returned. The default is 55%. You can also add the MaxLabels parameter to limit the number of labels returned. The default and upper limit is 1000 labels.

Response Elements

For each object, scene, and concept the API returns one or more labels. The API returns the following types of information regarding labels:

The API returns the following information regarding the image, as part of the ImageProperties structure:

The list of returned labels will include at least one label for every detected object, along with information about that label. In the following example, suppose the input image has a lighthouse, the sea, and a rock. The response includes all three labels, one for each object, as well as the confidence in the label:

{Name: lighthouse, Confidence: 98.4629}

{Name: rock,Confidence: 79.2097}

{Name: sea,Confidence: 75.061}

The list of labels can include multiple labels for the same object. For example, if the input image shows a flower (for example, a tulip), the operation might return the following three labels.

{Name: flower,Confidence: 99.0562}

{Name: plant,Confidence: 99.0562}

{Name: tulip,Confidence: 99.0562}

In this example, the detection algorithm more precisely identifies the flower as a tulip.

If the object detected is a person, the operation doesn't provide the same facial details that the DetectFaces operation provides.

This is a stateless API operation. That is, the operation does not persist any data.

This operation requires permissions to perform the rekognition:DetectLabels action.

", + "DetectLabels": "

Detects instances of real-world entities within an image (JPEG or PNG) provided as input. This includes objects like flower, tree, and table; events like wedding, graduation, and birthday party; and concepts like landscape, evening, and nature.

For an example, see Analyzing images stored in an Amazon S3 bucket in the Amazon Rekognition Developer Guide.

You pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

Optional Parameters

You can specify one or both of the GENERAL_LABELS and IMAGE_PROPERTIES feature types when calling the DetectLabels API. Including GENERAL_LABELS will ensure the response includes the labels detected in the input image, while including IMAGE_PROPERTIES will ensure the response includes information about the image quality and color.

When using GENERAL_LABELS and/or IMAGE_PROPERTIES you can provide filtering criteria to the Settings parameter. You can filter with sets of individual labels or with label categories. You can specify inclusive filters, exclusive filters, or a combination of inclusive and exclusive filters. For more information on filtering see Detecting Labels in an Image.

You can specify MinConfidence to control the confidence threshold for the labels returned. The default is 55%. You can also add the MaxLabels parameter to limit the number of labels returned. The default and upper limit is 1000 labels.

Response Elements

For each object, scene, and concept the API returns one or more labels. The API returns the following types of information regarding labels:

The API returns the following information regarding the image, as part of the ImageProperties structure:

The list of returned labels will include at least one label for every detected object, along with information about that label. In the following example, suppose the input image has a lighthouse, the sea, and a rock. The response includes all three labels, one for each object, as well as the confidence in the label:

{Name: lighthouse, Confidence: 98.4629}

{Name: rock,Confidence: 79.2097}

{Name: sea,Confidence: 75.061}

The list of labels can include multiple labels for the same object. For example, if the input image shows a flower (for example, a tulip), the operation might return the following three labels.

{Name: flower,Confidence: 99.0562}

{Name: plant,Confidence: 99.0562}

{Name: tulip,Confidence: 99.0562}

In this example, the detection algorithm more precisely identifies the flower as a tulip.

If the object detected is a person, the operation doesn't provide the same facial details that the DetectFaces operation provides.

This is a stateless API operation. That is, the operation does not persist any data.

This operation requires permissions to perform the rekognition:DetectLabels action.

", "DetectModerationLabels": "

Detects unsafe content in a specified JPEG or PNG format image. Use DetectModerationLabels to moderate images depending on your requirements. For example, you might want to filter images that contain nudity, but not images containing suggestive content.

To filter images, use the labels returned by DetectModerationLabels to determine which types of content are appropriate.

For information about moderation labels, see Detecting Unsafe Content in the Amazon Rekognition Developer Guide.

You pass the input image either as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

", "DetectProtectiveEquipment": "

Detects Personal Protective Equipment (PPE) worn by people detected in an image. Amazon Rekognition can detect the following types of PPE.

You pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. The image must be either a PNG or JPG formatted file.

DetectProtectiveEquipment detects PPE worn by up to 15 persons detected in an image.

For each person detected in the image the API returns an array of body parts (face, head, left-hand, right-hand). For each body part, an array of detected items of PPE is returned, including an indicator of whether or not the PPE covers the body part. The API returns the confidence it has in each detection (person, PPE, body part and body part coverage). It also returns a bounding box (BoundingBox) for each detected person and each detected item of PPE.

You can optionally request a summary of detected PPE items with the SummarizationAttributes input parameter. The summary provides the following information.

This is a stateless API operation. That is, the operation does not persist any data.

This operation requires permissions to perform the rekognition:DetectProtectiveEquipment action.

", "DetectText": "

Detects text in the input image and converts it into machine-readable text.

Pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, you must pass it as a reference to an image in an Amazon S3 bucket. For the AWS CLI, passing image bytes is not supported. The image must be either a .png or .jpeg formatted file.

The DetectText operation returns text in an array of TextDetection elements, TextDetections. Each TextDetection element provides information about a single word or line of text that was detected in the image.

A word is one or more script characters that are not separated by spaces. DetectText can detect up to 100 words in an image.

A line is a string of equally spaced words. A line isn't necessarily a complete sentence. For example, a driver's license number is detected as a line. A line ends when there is no aligned text after it. Also, a line ends when there is a large gap between words, relative to the length of the words. This means, depending on the gap between words, Amazon Rekognition may detect multiple lines in text aligned in the same direction. Periods don't represent the end of a line. If a sentence spans multiple lines, the DetectText operation returns multiple lines.

To determine whether a TextDetection element is a line of text or a word, use the TextDetection object Type field.

To be detected, text must be within +/- 90 degrees orientation of the horizontal axis.

For more information, see Detecting text in the Amazon Rekognition Developer Guide.

", @@ -33,7 +33,7 @@ "GetContentModeration": "

Gets the inappropriate, unwanted, or offensive content analysis results for a Amazon Rekognition Video analysis started by StartContentModeration. For a list of moderation labels in Amazon Rekognition, see Using the image and video moderation APIs.

Amazon Rekognition Video inappropriate or offensive content detection in a stored video is an asynchronous operation. You start analysis by calling StartContentModeration which returns a job identifier (JobId). When analysis finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartContentModeration. To get the results of the content analysis, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetContentModeration and pass the job identifier (JobId) from the initial call to StartContentModeration.

For more information, see Working with Stored Videos in the Amazon Rekognition Devlopers Guide.

GetContentModeration returns detected inappropriate, unwanted, or offensive content moderation labels, and the time they are detected, in an array, ModerationLabels, of ContentModerationDetection objects.

By default, the moderated labels are returned sorted by time, in milliseconds from the start of the video. You can also sort them by moderated label by specifying NAME for the SortBy input parameter.

Since video analysis can return a large number of results, use the MaxResults parameter to limit the number of labels returned in a single call to GetContentModeration. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetContentModeration and populate the NextToken request parameter with the value of NextToken returned from the previous call to GetContentModeration.

For more information, see moderating content in the Amazon Rekognition Developer Guide.

", "GetFaceDetection": "

Gets face detection results for a Amazon Rekognition Video analysis started by StartFaceDetection.

Face detection with Amazon Rekognition Video is an asynchronous operation. You start face detection by calling StartFaceDetection which returns a job identifier (JobId). When the face detection operation finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartFaceDetection. To get the results of the face detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetFaceDetection and pass the job identifier (JobId) from the initial call to StartFaceDetection.

GetFaceDetection returns an array of detected faces (Faces) sorted by the time the faces were detected.

Use MaxResults parameter to limit the number of labels returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetFaceDetection and populate the NextToken request parameter with the token value returned from the previous call to GetFaceDetection.

", "GetFaceSearch": "

Gets the face search results for Amazon Rekognition Video face search started by StartFaceSearch. The search returns faces in a collection that match the faces of persons detected in a video. It also includes the time(s) that faces are matched in the video.

Face search in a video is an asynchronous operation. You start face search by calling to StartFaceSearch which returns a job identifier (JobId). When the search operation finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartFaceSearch. To get the search results, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetFaceSearch and pass the job identifier (JobId) from the initial call to StartFaceSearch.

For more information, see Searching Faces in a Collection in the Amazon Rekognition Developer Guide.

The search results are retured in an array, Persons, of PersonMatch objects. EachPersonMatch element contains details about the matching faces in the input collection, person information (facial attributes, bounding boxes, and person identifer) for the matched person, and the time the person was matched in the video.

GetFaceSearch only returns the default facial attributes (BoundingBox, Confidence, Landmarks, Pose, and Quality). The other facial attributes listed in the Face object of the following response syntax are not returned. For more information, see FaceDetail in the Amazon Rekognition Developer Guide.

By default, the Persons array is sorted by the time, in milliseconds from the start of the video, persons are matched. You can also sort by persons by specifying INDEX for the SORTBY input parameter.

", - "GetLabelDetection": "

Gets the label detection results of a Amazon Rekognition Video analysis started by StartLabelDetection.

The label detection operation is started by a call to StartLabelDetection which returns a job identifier (JobId). When the label detection operation finishes, Amazon Rekognition publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartlabelDetection. To get the results of the label detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetLabelDetection and pass the job identifier (JobId) from the initial call to StartLabelDetection.

GetLabelDetection returns an array of detected labels (Labels) sorted by the time the labels were detected. You can also sort by the label name by specifying NAME for the SortBy input parameter.

The labels returned include the label name, the percentage confidence in the accuracy of the detected label, and the time the label was detected in the video.

The returned labels also include bounding box information for common objects, a hierarchical taxonomy of detected labels, and the version of the label model used for detection.

Use MaxResults parameter to limit the number of labels returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetlabelDetection and populate the NextToken request parameter with the token value returned from the previous call to GetLabelDetection.

", + "GetLabelDetection": "

Gets the label detection results of a Amazon Rekognition Video analysis started by StartLabelDetection.

The label detection operation is started by a call to StartLabelDetection which returns a job identifier (JobId). When the label detection operation finishes, Amazon Rekognition publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartlabelDetection.

To get the results of the label detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetLabelDetection and pass the job identifier (JobId) from the initial call to StartLabelDetection.

GetLabelDetection returns an array of detected labels (Labels) sorted by the time the labels were detected. You can also sort by the label name by specifying NAME for the SortBy input parameter. If there is no NAME specified, the default sort is by timestamp.

You can select how results are aggregated by using the AggregateBy input parameter. The default aggregation method is TIMESTAMPS. You can also aggregate by SEGMENTS, which aggregates all instances of labels detected in a given segment.

The returned Labels array may include the following attributes:

Timestamp and Bounding box information are returned for detected Instances, only if aggregation is done by TIMESTAMPS. If aggregating by SEGMENTS, information about detected instances isn’t returned.

The version of the label model used for the detection is also returned.

Note DominantColors isn't returned for Instances, although it is shown as part of the response in the sample seen below.

Use MaxResults parameter to limit the number of labels returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetlabelDetection and populate the NextToken request parameter with the token value returned from the previous call to GetLabelDetection.

", "GetPersonTracking": "

Gets the path tracking results of a Amazon Rekognition Video analysis started by StartPersonTracking.

The person path tracking operation is started by a call to StartPersonTracking which returns a job identifier (JobId). When the operation finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartPersonTracking.

To get the results of the person path tracking operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetPersonTracking and pass the job identifier (JobId) from the initial call to StartPersonTracking.

GetPersonTracking returns an array, Persons, of tracked persons and the time(s) their paths were tracked in the video.

GetPersonTracking only returns the default facial attributes (BoundingBox, Confidence, Landmarks, Pose, and Quality). The other facial attributes listed in the Face object of the following response syntax are not returned.

For more information, see FaceDetail in the Amazon Rekognition Developer Guide.

By default, the array is sorted by the time(s) a person's path is tracked in the video. You can sort by tracked persons by specifying INDEX for the SortBy input parameter.

Use the MaxResults parameter to limit the number of items returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetPersonTracking and populate the NextToken request parameter with the token value returned from the previous call to GetPersonTracking.

", "GetSegmentDetection": "

Gets the segment detection results of a Amazon Rekognition Video analysis started by StartSegmentDetection.

Segment detection with Amazon Rekognition Video is an asynchronous operation. You start segment detection by calling StartSegmentDetection which returns a job identifier (JobId). When the segment detection operation finishes, Amazon Rekognition publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartSegmentDetection. To get the results of the segment detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. if so, call GetSegmentDetection and pass the job identifier (JobId) from the initial call of StartSegmentDetection.

GetSegmentDetection returns detected segments in an array (Segments) of SegmentDetection objects. Segments is sorted by the segment types specified in the SegmentTypes input parameter of StartSegmentDetection. Each element of the array includes the detected segment, the precentage confidence in the acuracy of the detected segment, the type of the segment, and the frame in which the segment was detected.

Use SelectedSegmentTypes to find out the type of segment detection requested in the call to StartSegmentDetection.

Use the MaxResults parameter to limit the number of segment detections returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetSegmentDetection and populate the NextToken request parameter with the token value returned from the previous call to GetSegmentDetection.

For more information, see Detecting video segments in stored video in the Amazon Rekognition Developer Guide.

", "GetTextDetection": "

Gets the text detection results of a Amazon Rekognition Video analysis started by StartTextDetection.

Text detection with Amazon Rekognition Video is an asynchronous operation. You start text detection by calling StartTextDetection which returns a job identifier (JobId) When the text detection operation finishes, Amazon Rekognition publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartTextDetection. To get the results of the text detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. if so, call GetTextDetection and pass the job identifier (JobId) from the initial call of StartLabelDetection.

GetTextDetection returns an array of detected text (TextDetections) sorted by the time the text was detected, up to 50 words per frame of video.

Each element of the array includes the detected text, the precentage confidence in the acuracy of the detected text, the time the text was detected, bounding box information for where the text was located, and unique identifiers for words and their lines.

Use MaxResults parameter to limit the number of text detections returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetTextDetection and populate the NextToken request parameter with the token value returned from the previous call to GetTextDetection.

", @@ -53,7 +53,7 @@ "StartContentModeration": "

Starts asynchronous detection of inappropriate, unwanted, or offensive content in a stored video. For a list of moderation labels in Amazon Rekognition, see Using the image and video moderation APIs.

Amazon Rekognition Video can moderate content in a video stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartContentModeration returns a job identifier (JobId) which you use to get the results of the analysis. When content analysis is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel.

To get the results of the content analysis, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetContentModeration and pass the job identifier (JobId) from the initial call to StartContentModeration.

For more information, see Moderating content in the Amazon Rekognition Developer Guide.

", "StartFaceDetection": "

Starts asynchronous detection of faces in a stored video.

Amazon Rekognition Video can detect faces in a video stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartFaceDetection returns a job identifier (JobId) that you use to get the results of the operation. When face detection is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel. To get the results of the face detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetFaceDetection and pass the job identifier (JobId) from the initial call to StartFaceDetection.

For more information, see Detecting faces in a stored video in the Amazon Rekognition Developer Guide.

", "StartFaceSearch": "

Starts the asynchronous search for faces in a collection that match the faces of persons detected in a stored video.

The video must be stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartFaceSearch returns a job identifier (JobId) which you use to get the search results once the search has completed. When searching is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel. To get the search results, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetFaceSearch and pass the job identifier (JobId) from the initial call to StartFaceSearch. For more information, see Searching stored videos for faces.

", - "StartLabelDetection": "

Starts asynchronous detection of labels in a stored video.

Amazon Rekognition Video can detect labels in a video. Labels are instances of real-world entities. This includes objects like flower, tree, and table; events like wedding, graduation, and birthday party; concepts like landscape, evening, and nature; and activities like a person getting out of a car or a person skiing.

The video must be stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartLabelDetection returns a job identifier (JobId) which you use to get the results of the operation. When label detection is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel.

To get the results of the label detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetLabelDetection and pass the job identifier (JobId) from the initial call to StartLabelDetection.

", + "StartLabelDetection": "

Starts asynchronous detection of labels in a stored video.

Amazon Rekognition Video can detect labels in a video. Labels are instances of real-world entities. This includes objects like flower, tree, and table; events like wedding, graduation, and birthday party; concepts like landscape, evening, and nature; and activities like a person getting out of a car or a person skiing.

The video must be stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartLabelDetection returns a job identifier (JobId) which you use to get the results of the operation. When label detection is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel.

To get the results of the label detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetLabelDetection and pass the job identifier (JobId) from the initial call to StartLabelDetection.

Optional Parameters

StartLabelDetection has the GENERAL_LABELS Feature applied by default. This feature allows you to provide filtering criteria to the Settings parameter. You can filter with sets of individual labels or with label categories. You can specify inclusive filters, exclusive filters, or a combination of inclusive and exclusive filters. For more information on filtering, see Detecting labels in a video.

You can specify MinConfidence to control the confidence threshold for the labels returned. The default is 50.

", "StartPersonTracking": "

Starts the asynchronous tracking of a person's path in a stored video.

Amazon Rekognition Video can track the path of people in a video stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartPersonTracking returns a job identifier (JobId) which you use to get the results of the operation. When label detection is finished, Amazon Rekognition publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel.

To get the results of the person detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetPersonTracking and pass the job identifier (JobId) from the initial call to StartPersonTracking.

", "StartProjectVersion": "

Starts the running of the version of a model. Starting a model takes a while to complete. To check the current state of the model, use DescribeProjectVersions.

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

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

For more information, see Running a trained Amazon Rekognition Custom Labels model in the Amazon Rekognition Custom Labels Guide.

This operation requires permissions to perform the rekognition:StartProjectVersion action.

", "StartSegmentDetection": "

Starts asynchronous detection of segment detection in a stored video.

Amazon Rekognition Video can detect segments in a video stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartSegmentDetection returns a job identifier (JobId) which you use to get the results of the operation. When segment detection is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel.

You can use the Filters (StartSegmentDetectionFilters) input parameter to specify the minimum detection confidence returned in the response. Within Filters, use ShotFilter (StartShotDetectionFilter) to filter detected shots. Use TechnicalCueFilter (StartTechnicalCueDetectionFilter) to filter technical cues.

To get the results of the segment detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. if so, call GetSegmentDetection and pass the job identifier (JobId) from the initial call to StartSegmentDetection.

For more information, see Detecting video segments in stored video in the Amazon Rekognition Developer Guide.

", @@ -948,7 +948,7 @@ } }, "FaceDetail": { - "base": "

Structure containing attributes of the face that the algorithm detected.

A FaceDetail object contains either the default facial attributes or all facial attributes. The default attributes are BoundingBox, Confidence, Landmarks, Pose, and Quality.

GetFaceDetection is the only Amazon Rekognition Video stored video operation that can return a FaceDetail object with all attributes. To specify which attributes to return, use the FaceAttributes input parameter for StartFaceDetection. The following Amazon Rekognition Video operations return only the default attributes. The corresponding Start operations don't have a FaceAttributes input parameter.

The Amazon Rekognition Image DetectFaces and IndexFaces operations can return all facial attributes. To specify which attributes to return, use the Attributes input parameter for DetectFaces. For IndexFaces, use the DetectAttributes input parameter.

", + "base": "

Structure containing attributes of the face that the algorithm detected.

A FaceDetail object contains either the default facial attributes or all facial attributes. The default attributes are BoundingBox, Confidence, Landmarks, Pose, and Quality.

GetFaceDetection is the only Amazon Rekognition Video stored video operation that can return a FaceDetail object with all attributes. To specify which attributes to return, use the FaceAttributes input parameter for StartFaceDetection. The following Amazon Rekognition Video operations return only the default attributes. The corresponding Start operations don't have a FaceAttributes input parameter:

The Amazon Rekognition Image DetectFaces and IndexFaces operations can return all facial attributes. To specify which attributes to return, use the Attributes input parameter for DetectFaces. For IndexFaces, use the DetectAttributes input parameter.

", "refs": { "CelebrityDetail$Face": "

Face details for the recognized celebrity.

", "FaceDetailList$member": null, @@ -1098,7 +1098,8 @@ "GeneralLabelsSettings": { "base": "

Contains filters for the object labels returned by DetectLabels. Filters can be inclusive, exclusive, or a combination of both and can be applied to individual l abels or entire label categories.

", "refs": { - "DetectLabelsSettings$GeneralLabels": "

Contains the specified filters for GENERAL_LABELS.

" + "DetectLabelsSettings$GeneralLabels": "

Contains the specified filters for GENERAL_LABELS.

", + "LabelDetectionSettings$GeneralLabels": null } }, "Geometry": { @@ -1520,6 +1521,30 @@ "LabelDetections$member": null } }, + "LabelDetectionAggregateBy": { + "base": null, + "refs": { + "GetLabelDetectionRequest$AggregateBy": "

Defines how to aggregate the returned results. Results can be aggregated by timestamps or segments.

" + } + }, + "LabelDetectionFeatureList": { + "base": null, + "refs": { + "StartLabelDetectionRequest$Features": "

The features to return after video analysis. You can specify that GENERAL_LABELS are returned.

" + } + }, + "LabelDetectionFeatureName": { + "base": null, + "refs": { + "LabelDetectionFeatureList$member": null + } + }, + "LabelDetectionSettings": { + "base": "

Contains the specified filters that should be applied to a list of returned GENERAL_LABELS.

", + "refs": { + "StartLabelDetectionRequest$Settings": "

The settings for a StartLabelDetection request.Contains the specified parameters for the label detection request of an asynchronous label analysis operation. Settings can include filters for GENERAL_LABELS.

" + } + }, "LabelDetectionSortBy": { "base": null, "refs": { @@ -1844,7 +1869,7 @@ "Smile$Confidence": "

Level of confidence in the determination.

", "StartContentModerationRequest$MinConfidence": "

Specifies the minimum confidence that Amazon Rekognition must have in order to return a moderated content label. Confidence represents how certain Amazon Rekognition is that the moderated content is correctly identified. 0 is the lowest confidence. 100 is the highest confidence. Amazon Rekognition doesn't return any moderated content labels with a confidence level lower than this specified value. If you don't specify MinConfidence, GetContentModeration returns labels with confidence values greater than or equal to 50 percent.

", "StartFaceSearchRequest$FaceMatchThreshold": "

The minimum confidence in the person match to return. For example, don't return any matches where confidence in matches is less than 70%. The default value is 80%.

", - "StartLabelDetectionRequest$MinConfidence": "

Specifies the minimum confidence that Amazon Rekognition Video must have in order to return a detected label. Confidence represents how certain Amazon Rekognition is that a label is correctly identified.0 is the lowest confidence. 100 is the highest confidence. Amazon Rekognition Video doesn't return any labels with a confidence level lower than this specified value.

If you don't specify MinConfidence, the operation returns labels with confidence values greater than or equal to 50 percent.

", + "StartLabelDetectionRequest$MinConfidence": "

Specifies the minimum confidence that Amazon Rekognition Video must have in order to return a detected label. Confidence represents how certain Amazon Rekognition is that a label is correctly identified.0 is the lowest confidence. 100 is the highest confidence. Amazon Rekognition Video doesn't return any labels with a confidence level lower than this specified value.

If you don't specify MinConfidence, the operation returns labels and bounding boxes (if detected) with confidence values greater than or equal to 50 percent.

", "Sunglasses$Confidence": "

Level of confidence in the determination.

", "TextDetection$Confidence": "

The confidence that Amazon Rekognition has in the accuracy of the detected text and the accuracy of the geometry points around the detected text.

" } @@ -2837,6 +2862,9 @@ "AudioMetadata$NumberOfChannels": "

The number of audio channels in the segment.

", "DescribeCollectionResponse$FaceCount": "

The number of faces that are indexed into the collection. To index faces into a collection, use IndexFaces.

", "KinesisVideoStreamStartSelector$ProducerTimestamp": "

The timestamp from the producer corresponding to the fragment, in milliseconds, expressed in unix time format.

", + "LabelDetection$StartTimestampMillis": "

The time in milliseconds defining the start of the timeline segment containing a continuously detected label.

", + "LabelDetection$EndTimestampMillis": "

The time in milliseconds defining the end of the timeline segment containing a continuously detected label.

", + "LabelDetection$DurationMillis": "

The time duration of a segment in milliseconds, I.e. time elapsed from StartTimestampMillis to EndTimestampMillis.

", "ProjectVersionDescription$BillableTrainingTimeInSeconds": "

The duration, in seconds, that you were billed for a successful training of the model version. This value is only returned if the model version has been successfully trained.

", "SegmentDetection$DurationMillis": "

The duration of the detected segment in milliseconds.

", "SegmentDetection$StartFrameNumber": "

The frame number of the start of a video segment, using a frame index that starts with 0.

", diff --git a/models/apis/rekognition/2016-06-27/endpoint-rule-set-1.json b/models/apis/rekognition/2016-06-27/endpoint-rule-set-1.json index 3427293192..c8fc2f4fa5 100644 --- a/models/apis/rekognition/2016-06-27/endpoint-rule-set-1.json +++ b/models/apis/rekognition/2016-06-27/endpoint-rule-set-1.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": false, + "required": true, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -52,15 +52,6 @@ "ref": "Endpoint" } ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" } ], "type": "tree", diff --git a/models/apis/rekognition/2016-06-27/endpoint-tests-1.json b/models/apis/rekognition/2016-06-27/endpoint-tests-1.json index 090b6215d8..648e8febe9 100644 --- a/models/apis/rekognition/2016-06-27/endpoint-tests-1.json +++ b/models/apis/rekognition/2016-06-27/endpoint-tests-1.json @@ -8,8 +8,8 @@ } }, "params": { - "UseDualStack": true, "UseFIPS": true, + "UseDualStack": true, "Region": "ap-south-1" } }, @@ -21,8 +21,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Region": "ap-south-1" } }, @@ -34,8 +34,8 @@ } }, "params": { - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Region": "ap-south-1" } }, @@ -47,8 +47,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Region": "ap-south-1" } }, @@ -60,8 +60,8 @@ } }, "params": { - "UseDualStack": true, "UseFIPS": true, + "UseDualStack": true, "Region": "ca-central-1" } }, @@ -73,8 +73,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Region": "ca-central-1" } }, @@ -86,8 +86,8 @@ } }, "params": { - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Region": "ca-central-1" } }, @@ -99,8 +99,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Region": "ca-central-1" } }, @@ -112,8 +112,8 @@ } }, "params": { - "UseDualStack": true, "UseFIPS": true, + "UseDualStack": true, "Region": "eu-central-1" } }, @@ -125,8 +125,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Region": "eu-central-1" } }, @@ -138,8 +138,8 @@ } }, "params": { - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Region": "eu-central-1" } }, @@ -151,8 +151,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Region": "eu-central-1" } }, @@ -164,8 +164,8 @@ } }, "params": { - "UseDualStack": true, "UseFIPS": true, + "UseDualStack": true, "Region": "us-west-1" } }, @@ -177,8 +177,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Region": "us-west-1" } }, @@ -190,8 +190,8 @@ } }, "params": { - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Region": "us-west-1" } }, @@ -203,8 +203,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Region": "us-west-1" } }, @@ -216,8 +216,8 @@ } }, "params": { - "UseDualStack": true, "UseFIPS": true, + "UseDualStack": true, "Region": "us-west-2" } }, @@ -229,8 +229,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Region": "us-west-2" } }, @@ -242,8 +242,8 @@ } }, "params": { - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Region": "us-west-2" } }, @@ -255,8 +255,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Region": "us-west-2" } }, @@ -268,8 +268,8 @@ } }, "params": { - "UseDualStack": true, "UseFIPS": true, + "UseDualStack": true, "Region": "eu-west-2" } }, @@ -281,8 +281,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Region": "eu-west-2" } }, @@ -294,8 +294,8 @@ } }, "params": { - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Region": "eu-west-2" } }, @@ -307,8 +307,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Region": "eu-west-2" } }, @@ -320,8 +320,8 @@ } }, "params": { - "UseDualStack": true, "UseFIPS": true, + "UseDualStack": true, "Region": "eu-west-1" } }, @@ -333,8 +333,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Region": "eu-west-1" } }, @@ -346,8 +346,8 @@ } }, "params": { - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Region": "eu-west-1" } }, @@ -359,8 +359,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Region": "eu-west-1" } }, @@ -372,8 +372,8 @@ } }, "params": { - "UseDualStack": true, "UseFIPS": true, + "UseDualStack": true, "Region": "ap-northeast-2" } }, @@ -385,8 +385,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Region": "ap-northeast-2" } }, @@ -398,8 +398,8 @@ } }, "params": { - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Region": "ap-northeast-2" } }, @@ -411,8 +411,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Region": "ap-northeast-2" } }, @@ -424,8 +424,8 @@ } }, "params": { - "UseDualStack": true, "UseFIPS": true, + "UseDualStack": true, "Region": "ap-northeast-1" } }, @@ -437,8 +437,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Region": "ap-northeast-1" } }, @@ -450,8 +450,8 @@ } }, "params": { - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Region": "ap-northeast-1" } }, @@ -463,8 +463,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Region": "ap-northeast-1" } }, @@ -476,8 +476,8 @@ } }, "params": { - "UseDualStack": true, "UseFIPS": true, + "UseDualStack": true, "Region": "us-gov-west-1" } }, @@ -489,8 +489,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Region": "us-gov-west-1" } }, @@ -502,8 +502,8 @@ } }, "params": { - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Region": "us-gov-west-1" } }, @@ -515,8 +515,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Region": "us-gov-west-1" } }, @@ -528,8 +528,8 @@ } }, "params": { - "UseDualStack": true, "UseFIPS": true, + "UseDualStack": true, "Region": "ap-southeast-1" } }, @@ -541,8 +541,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Region": "ap-southeast-1" } }, @@ -554,8 +554,8 @@ } }, "params": { - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Region": "ap-southeast-1" } }, @@ -567,8 +567,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Region": "ap-southeast-1" } }, @@ -580,8 +580,8 @@ } }, "params": { - "UseDualStack": true, "UseFIPS": true, + "UseDualStack": true, "Region": "ap-southeast-2" } }, @@ -593,8 +593,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Region": "ap-southeast-2" } }, @@ -606,8 +606,8 @@ } }, "params": { - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Region": "ap-southeast-2" } }, @@ -619,8 +619,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Region": "ap-southeast-2" } }, @@ -632,8 +632,8 @@ } }, "params": { - "UseDualStack": true, "UseFIPS": true, + "UseDualStack": true, "Region": "us-east-1" } }, @@ -645,8 +645,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Region": "us-east-1" } }, @@ -658,8 +658,8 @@ } }, "params": { - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Region": "us-east-1" } }, @@ -671,8 +671,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Region": "us-east-1" } }, @@ -684,8 +684,8 @@ } }, "params": { - "UseDualStack": true, "UseFIPS": true, + "UseDualStack": true, "Region": "us-east-2" } }, @@ -697,8 +697,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Region": "us-east-2" } }, @@ -710,8 +710,8 @@ } }, "params": { - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Region": "us-east-2" } }, @@ -723,8 +723,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Region": "us-east-2" } }, @@ -736,8 +736,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Region": "us-east-1", "Endpoint": "https://example.com" } @@ -748,8 +748,8 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Region": "us-east-1", "Endpoint": "https://example.com" } @@ -760,8 +760,8 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Region": "us-east-1", "Endpoint": "https://example.com" } diff --git a/models/apis/sagemaker-metrics/2022-09-30/api-2.json b/models/apis/sagemaker-metrics/2022-09-30/api-2.json new file mode 100644 index 0000000000..ef958cd78f --- /dev/null +++ b/models/apis/sagemaker-metrics/2022-09-30/api-2.json @@ -0,0 +1,105 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2022-09-30", + "endpointPrefix":"metrics.sagemaker", + "protocol":"rest-json", + "serviceAbbreviation":"SageMaker Metrics", + "serviceFullName":"Amazon SageMaker Metrics Service", + "serviceId":"SageMaker Metrics", + "signatureVersion":"v4", + "signingName":"sagemaker", + "uid":"sagemaker-metrics-2022-09-30" + }, + "operations":{ + "BatchPutMetrics":{ + "name":"BatchPutMetrics", + "http":{ + "method":"PUT", + "requestUri":"/BatchPutMetrics" + }, + "input":{"shape":"BatchPutMetricsRequest"}, + "output":{"shape":"BatchPutMetricsResponse"} + } + }, + "shapes":{ + "BatchPutMetricsError":{ + "type":"structure", + "members":{ + "Code":{"shape":"PutMetricsErrorCode"}, + "MetricIndex":{"shape":"Integer"} + } + }, + "BatchPutMetricsErrorList":{ + "type":"list", + "member":{"shape":"BatchPutMetricsError"}, + "max":10, + "min":1 + }, + "BatchPutMetricsRequest":{ + "type":"structure", + "required":[ + "TrialComponentName", + "MetricData" + ], + "members":{ + "TrialComponentName":{"shape":"ExperimentEntityName"}, + "MetricData":{"shape":"RawMetricDataList"} + } + }, + "BatchPutMetricsResponse":{ + "type":"structure", + "members":{ + "Errors":{"shape":"BatchPutMetricsErrorList"} + } + }, + "Double":{"type":"double"}, + "ExperimentEntityName":{ + "type":"string", + "max":120, + "min":1, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,119}" + }, + "Integer":{"type":"integer"}, + "MetricName":{ + "type":"string", + "max":255, + "min":1, + "pattern":".+" + }, + "PutMetricsErrorCode":{ + "type":"string", + "enum":[ + "METRIC_LIMIT_EXCEEDED", + "INTERNAL_ERROR", + "VALIDATION_ERROR", + "CONFLICT_ERROR" + ] + }, + "RawMetricData":{ + "type":"structure", + "required":[ + "MetricName", + "Timestamp", + "Value" + ], + "members":{ + "MetricName":{"shape":"MetricName"}, + "Timestamp":{"shape":"Timestamp"}, + "Step":{"shape":"Step"}, + "Value":{"shape":"Double"} + } + }, + "RawMetricDataList":{ + "type":"list", + "member":{"shape":"RawMetricData"}, + "max":10, + "min":1 + }, + "Step":{ + "type":"integer", + "min":0 + }, + "Timestamp":{"type":"timestamp"} + } +} diff --git a/models/apis/sagemaker-metrics/2022-09-30/docs-2.json b/models/apis/sagemaker-metrics/2022-09-30/docs-2.json new file mode 100644 index 0000000000..7d108670ea --- /dev/null +++ b/models/apis/sagemaker-metrics/2022-09-30/docs-2.json @@ -0,0 +1,85 @@ +{ + "version": "2.0", + "service": "

Contains all data plane API operations and data types for Amazon SageMaker Metrics. Use these APIs to put and retrieve (get) features related to your training run.

", + "operations": { + "BatchPutMetrics": "

Used to ingest training metrics into SageMaker which can be visualized in SageMaker Studio and retrieved with the GetMetrics API.

" + }, + "shapes": { + "BatchPutMetricsError": { + "base": "

An error that occured when putting the metric data.

", + "refs": { + "BatchPutMetricsErrorList$member": null + } + }, + "BatchPutMetricsErrorList": { + "base": null, + "refs": { + "BatchPutMetricsResponse$Errors": "

Any errors that occur when inserting metric data will appear in this.

" + } + }, + "BatchPutMetricsRequest": { + "base": null, + "refs": { + } + }, + "BatchPutMetricsResponse": { + "base": null, + "refs": { + } + }, + "Double": { + "base": null, + "refs": { + "RawMetricData$Value": "

The metric value.

" + } + }, + "ExperimentEntityName": { + "base": null, + "refs": { + "BatchPutMetricsRequest$TrialComponentName": "

The name of Trial Component to associate the metrics with.

" + } + }, + "Integer": { + "base": null, + "refs": { + "BatchPutMetricsError$MetricIndex": "

An index that corresponds to the metric in the request.

" + } + }, + "MetricName": { + "base": null, + "refs": { + "RawMetricData$MetricName": "

The name of the metric.

" + } + }, + "PutMetricsErrorCode": { + "base": null, + "refs": { + "BatchPutMetricsError$Code": "

The error code of an error that occured when attempting to put metrics.

" + } + }, + "RawMetricData": { + "base": "

The raw metric data to associate with the resource.

", + "refs": { + "RawMetricDataList$member": null + } + }, + "RawMetricDataList": { + "base": null, + "refs": { + "BatchPutMetricsRequest$MetricData": "

A list of raw metric values to put.

" + } + }, + "Step": { + "base": null, + "refs": { + "RawMetricData$Step": "

Metric step (aka Epoch).

" + } + }, + "Timestamp": { + "base": null, + "refs": { + "RawMetricData$Timestamp": "

The time when the metric was recorded.

" + } + } + } +} diff --git a/models/apis/sagemaker-metrics/2022-09-30/endpoint-rule-set-1.json b/models/apis/sagemaker-metrics/2022-09-30/endpoint-rule-set-1.json new file mode 100644 index 0000000000..25f7c75eac --- /dev/null +++ b/models/apis/sagemaker-metrics/2022-09-30/endpoint-rule-set-1.json @@ -0,0 +1,300 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": true, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://metrics.sagemaker-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://metrics.sagemaker-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://metrics.sagemaker.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://metrics.sagemaker.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/sagemaker-metrics/2022-09-30/endpoint-tests-1.json b/models/apis/sagemaker-metrics/2022-09-30/endpoint-tests-1.json new file mode 100644 index 0000000000..8a32af46e7 --- /dev/null +++ b/models/apis/sagemaker-metrics/2022-09-30/endpoint-tests-1.json @@ -0,0 +1,295 @@ +{ + "testCases": [ + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://metrics.sagemaker-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://metrics.sagemaker-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://metrics.sagemaker.us-gov-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://metrics.sagemaker.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://metrics.sagemaker-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://metrics.sagemaker-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://metrics.sagemaker.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://metrics.sagemaker.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://metrics.sagemaker-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://metrics.sagemaker.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://metrics.sagemaker-fips.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://metrics.sagemaker-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://metrics.sagemaker.us-east-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://metrics.sagemaker.us-east-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://metrics.sagemaker-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://metrics.sagemaker.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "us-east-1", + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "us-east-1", + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "us-east-1", + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/sagemaker-metrics/2022-09-30/examples-1.json b/models/apis/sagemaker-metrics/2022-09-30/examples-1.json new file mode 100644 index 0000000000..0ea7e3b0bb --- /dev/null +++ b/models/apis/sagemaker-metrics/2022-09-30/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/sagemaker-metrics/2022-09-30/paginators-1.json b/models/apis/sagemaker-metrics/2022-09-30/paginators-1.json new file mode 100644 index 0000000000..5677bd8e4a --- /dev/null +++ b/models/apis/sagemaker-metrics/2022-09-30/paginators-1.json @@ -0,0 +1,4 @@ +{ + "pagination": { + } +} diff --git a/models/apis/wafv2/2019-07-29/docs-2.json b/models/apis/wafv2/2019-07-29/docs-2.json index 6eb52fce53..36b2c43b44 100755 --- a/models/apis/wafv2/2019-07-29/docs-2.json +++ b/models/apis/wafv2/2019-07-29/docs-2.json @@ -40,7 +40,7 @@ "ListRuleGroups": "

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

", "ListTagsForResource": "

Retrieves the TagInfoForResource for the specified resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing. For example, you might set the tag key to \"customer\" and the value to the customer name or ID. You can specify one or more tags to add to each Amazon Web Services resource, up to 50 tags for a resource.

You can tag the Amazon Web Services resources that you manage through WAF: web ACLs, rule groups, IP sets, and regex pattern sets. You can't manage or view tags through the WAF console.

", "ListWebACLs": "

Retrieves an array of WebACLSummary objects for the web ACLs that you manage.

", - "PutLoggingConfiguration": "

Enables the specified LoggingConfiguration, to start logging from a web ACL, according to the configuration provided.

You can define one logging destination per web ACL.

You can access information about the traffic that WAF inspects using the following steps:

  1. Create your logging destination. You can use an Amazon CloudWatch Logs log group, an Amazon Simple Storage Service (Amazon S3) bucket, or an Amazon Kinesis Data Firehose. For information about configuring logging destinations and the permissions that are required for each, see Logging web ACL traffic information in the WAF Developer Guide.

  2. Associate your logging destination to your web ACL using a PutLoggingConfiguration request.

When you successfully enable logging using a PutLoggingConfiguration request, WAF creates an additional role or policy that is required to write logs to the logging destination. For an Amazon CloudWatch Logs log group, WAF creates a resource policy on the log group. For an Amazon S3 bucket, WAF creates a bucket policy. For an Amazon Kinesis Data Firehose, WAF creates a service-linked role.

For additional information about web ACL logging, see Logging web ACL traffic information in the WAF Developer Guide.

This operation completely replaces the mutable specifications that you already have for the logging configuration with the ones that you provide to this call. To modify the logging configuration, retrieve it by calling GetLoggingConfiguration, update the settings as needed, and then provide the complete logging configuration specification to this call.

", + "PutLoggingConfiguration": "

Enables the specified LoggingConfiguration, to start logging from a web ACL, according to the configuration provided.

You can define one logging destination per web ACL.

You can access information about the traffic that WAF inspects using the following steps:

  1. Create your logging destination. You can use an Amazon CloudWatch Logs log group, an Amazon Simple Storage Service (Amazon S3) bucket, or an Amazon Kinesis Data Firehose.

    The name that you give the destination must start with aws-waf-logs-. Depending on the type of destination, you might need to configure additional settings or permissions.

    For configuration requirements and pricing information for each destination type, see Logging web ACL traffic in the WAF Developer Guide.

  2. Associate your logging destination to your web ACL using a PutLoggingConfiguration request.

When you successfully enable logging using a PutLoggingConfiguration request, WAF creates an additional role or policy that is required to write logs to the logging destination. For an Amazon CloudWatch Logs log group, WAF creates a resource policy on the log group. For an Amazon S3 bucket, WAF creates a bucket policy. For an Amazon Kinesis Data Firehose, WAF creates a service-linked role.

For additional information about web ACL logging, see Logging web ACL traffic information in the WAF Developer Guide.

This operation completely replaces the mutable specifications that you already have for the logging configuration with the ones that you provide to this call. To modify the logging configuration, retrieve it by calling GetLoggingConfiguration, update the settings as needed, and then provide the complete logging configuration specification to this call.

", "PutManagedRuleSetVersions": "

Defines the versions of your managed rule set that you are offering to the customers. Customers see your offerings as managed rule groups with versioning.

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

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

Customers retrieve their managed rule group list by calling ListAvailableManagedRuleGroups. The name that you provide here for your managed rule set is the name the customer sees for the corresponding managed rule group. Customers can retrieve the available versions for a managed rule group by calling ListAvailableManagedRuleGroupVersions. You provide a rule group specification for each version. For each managed rule set, you must specify a version that you recommend using.

To initiate the expiration of a managed rule group version, use UpdateManagedRuleSetVersionExpiryDate.

", "PutPermissionPolicy": "

Attaches an IAM policy to the specified resource. Use this to share a rule group across accounts.

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

This action is subject to the following restrictions:

", "TagResource": "

Associates tags with the specified Amazon Web Services resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing. For example, you might set the tag key to \"customer\" and the value to the customer name or ID. You can specify one or more tags to add to each Amazon Web Services resource, up to 50 tags for a resource.

You can tag the Amazon Web Services resources that you manage through WAF: web ACLs, rule groups, IP sets, and regex pattern sets. You can't manage or view tags through the WAF console.

", @@ -1243,7 +1243,7 @@ } }, "LoggingConfiguration": { - "base": "

Defines an association between logging destinations and a web ACL resource, for logging from WAF. As part of the association, you can specify parts of the standard logging fields to keep out of the logs and you can specify filters so that you log only a subset of the logging records.

You can define one logging destination per web ACL.

You can access information about the traffic that WAF inspects using the following steps:

  1. Create your logging destination. You can use an Amazon CloudWatch Logs log group, an Amazon Simple Storage Service (Amazon S3) bucket, or an Amazon Kinesis Data Firehose. For information about configuring logging destinations and the permissions that are required for each, see Logging web ACL traffic information in the WAF Developer Guide.

  2. Associate your logging destination to your web ACL using a PutLoggingConfiguration request.

When you successfully enable logging using a PutLoggingConfiguration request, WAF creates an additional role or policy that is required to write logs to the logging destination. For an Amazon CloudWatch Logs log group, WAF creates a resource policy on the log group. For an Amazon S3 bucket, WAF creates a bucket policy. For an Amazon Kinesis Data Firehose, WAF creates a service-linked role.

For additional information about web ACL logging, see Logging web ACL traffic information in the WAF Developer Guide.

", + "base": "

Defines an association between logging destinations and a web ACL resource, for logging from WAF. As part of the association, you can specify parts of the standard logging fields to keep out of the logs and you can specify filters so that you log only a subset of the logging records.

You can define one logging destination per web ACL.

You can access information about the traffic that WAF inspects using the following steps:

  1. Create your logging destination. You can use an Amazon CloudWatch Logs log group, an Amazon Simple Storage Service (Amazon S3) bucket, or an Amazon Kinesis Data Firehose.

    The name that you give the destination must start with aws-waf-logs-. Depending on the type of destination, you might need to configure additional settings or permissions.

    For configuration requirements and pricing information for each destination type, see Logging web ACL traffic in the WAF Developer Guide.

  2. Associate your logging destination to your web ACL using a PutLoggingConfiguration request.

When you successfully enable logging using a PutLoggingConfiguration request, WAF creates an additional role or policy that is required to write logs to the logging destination. For an Amazon CloudWatch Logs log group, WAF creates a resource policy on the log group. For an Amazon S3 bucket, WAF creates a bucket policy. For an Amazon Kinesis Data Firehose, WAF creates a service-linked role.

For additional information about web ACL logging, see Logging web ACL traffic information in the WAF Developer Guide.

", "refs": { "GetLoggingConfigurationResponse$LoggingConfiguration": "

The LoggingConfiguration for the specified web ACL.

", "LoggingConfigurations$member": null, @@ -2052,8 +2052,8 @@ "TokenDomains": { "base": null, "refs": { - "CreateWebACLRequest$TokenDomains": "

Specifies the domains that WAF should accept in a web request token. This enables the use of tokens across multiple protected websites. When WAF provides a token, it uses the domain of the Amazon Web Services resource that the web ACL is protecting. If you don't specify a list of token domains, WAF accepts tokens only for the domain of the protected resource. With a token domain list, WAF accepts the resource's host domain plus all domains in the token domain list, including their prefixed subdomains.

Example JSON: \"TokenDomains\": { \"mywebsite.com\", \"myotherwebsite.com\" }

", - "UpdateWebACLRequest$TokenDomains": "

Specifies the domains that WAF should accept in a web request token. This enables the use of tokens across multiple protected websites. When WAF provides a token, it uses the domain of the Amazon Web Services resource that the web ACL is protecting. If you don't specify a list of token domains, WAF accepts tokens only for the domain of the protected resource. With a token domain list, WAF accepts the resource's host domain plus all domains in the token domain list, including their prefixed subdomains.

Example JSON: \"TokenDomains\": { \"mywebsite.com\", \"myotherwebsite.com\" }

", + "CreateWebACLRequest$TokenDomains": "

Specifies the domains that WAF should accept in a web request token. This enables the use of tokens across multiple protected websites. When WAF provides a token, it uses the domain of the Amazon Web Services resource that the web ACL is protecting. If you don't specify a list of token domains, WAF accepts tokens only for the domain of the protected resource. With a token domain list, WAF accepts the resource's host domain plus all domains in the token domain list, including their prefixed subdomains.

Example JSON: \"TokenDomains\": { \"mywebsite.com\", \"myotherwebsite.com\" }

Public suffixes aren't allowed. For example, you can't use usa.gov or co.uk as token domains.

", + "UpdateWebACLRequest$TokenDomains": "

Specifies the domains that WAF should accept in a web request token. This enables the use of tokens across multiple protected websites. When WAF provides a token, it uses the domain of the Amazon Web Services resource that the web ACL is protecting. If you don't specify a list of token domains, WAF accepts tokens only for the domain of the protected resource. With a token domain list, WAF accepts the resource's host domain plus all domains in the token domain list, including their prefixed subdomains.

Example JSON: \"TokenDomains\": { \"mywebsite.com\", \"myotherwebsite.com\" }

Public suffixes aren't allowed. For example, you can't use usa.gov or co.uk as token domains.

", "WebACL$TokenDomains": "

Specifies the domains that WAF should accept in a web request token. This enables the use of tokens across multiple protected websites. When WAF provides a token, it uses the domain of the Amazon Web Services resource that the web ACL is protecting. If you don't specify a list of token domains, WAF accepts tokens only for the domain of the protected resource. With a token domain list, WAF accepts the resource's host domain plus all domains in the token domain list, including their prefixed subdomains.

" } }, diff --git a/models/apis/wafv2/2019-07-29/endpoint-rule-set-1.json b/models/apis/wafv2/2019-07-29/endpoint-rule-set-1.json index 2d500acd7d..b3db6ba531 100644 --- a/models/apis/wafv2/2019-07-29/endpoint-rule-set-1.json +++ b/models/apis/wafv2/2019-07-29/endpoint-rule-set-1.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": false, + "required": true, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -52,15 +52,6 @@ "ref": "Endpoint" } ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" } ], "type": "tree", diff --git a/models/apis/wafv2/2019-07-29/endpoint-tests-1.json b/models/apis/wafv2/2019-07-29/endpoint-tests-1.json index 573c1f9c22..c94d84c3a4 100644 --- a/models/apis/wafv2/2019-07-29/endpoint-tests-1.json +++ b/models/apis/wafv2/2019-07-29/endpoint-tests-1.json @@ -9,8 +9,8 @@ }, "params": { "UseFIPS": true, - "Region": "ap-south-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "ap-south-1" } }, { @@ -22,8 +22,8 @@ }, "params": { "UseFIPS": true, - "Region": "ap-south-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "ap-south-1" } }, { @@ -35,8 +35,8 @@ }, "params": { "UseFIPS": false, - "Region": "ap-south-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "ap-south-1" } }, { @@ -48,8 +48,8 @@ }, "params": { "UseFIPS": false, - "Region": "ap-south-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "ap-south-1" } }, { @@ -61,8 +61,8 @@ }, "params": { "UseFIPS": true, - "Region": "eu-south-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "eu-south-1" } }, { @@ -74,8 +74,8 @@ }, "params": { "UseFIPS": true, - "Region": "eu-south-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "eu-south-1" } }, { @@ -87,8 +87,8 @@ }, "params": { "UseFIPS": false, - "Region": "eu-south-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "eu-south-1" } }, { @@ -100,8 +100,8 @@ }, "params": { "UseFIPS": false, - "Region": "eu-south-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "eu-south-1" } }, { @@ -113,8 +113,8 @@ }, "params": { "UseFIPS": true, - "Region": "us-gov-east-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-gov-east-1" } }, { @@ -126,8 +126,8 @@ }, "params": { "UseFIPS": true, - "Region": "us-gov-east-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-gov-east-1" } }, { @@ -139,8 +139,8 @@ }, "params": { "UseFIPS": false, - "Region": "us-gov-east-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-gov-east-1" } }, { @@ -152,8 +152,60 @@ }, "params": { "UseFIPS": false, - "Region": "us-gov-east-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wafv2-fips.me-central-1.api.aws" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": true, + "Region": "me-central-1" + } + }, + { + "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wafv2-fips.me-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": true, + "UseDualStack": false, + "Region": "me-central-1" + } + }, + { + "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://wafv2.me-central-1.api.aws" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": true, + "Region": "me-central-1" + } + }, + { + "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://wafv2.me-central-1.amazonaws.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Region": "me-central-1" } }, { @@ -165,8 +217,8 @@ }, "params": { "UseFIPS": true, - "Region": "ca-central-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "ca-central-1" } }, { @@ -178,8 +230,8 @@ }, "params": { "UseFIPS": true, - "Region": "ca-central-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "ca-central-1" } }, { @@ -191,8 +243,8 @@ }, "params": { "UseFIPS": false, - "Region": "ca-central-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "ca-central-1" } }, { @@ -204,8 +256,8 @@ }, "params": { "UseFIPS": false, - "Region": "ca-central-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "ca-central-1" } }, { @@ -217,8 +269,8 @@ }, "params": { "UseFIPS": true, - "Region": "eu-central-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "eu-central-1" } }, { @@ -230,8 +282,8 @@ }, "params": { "UseFIPS": true, - "Region": "eu-central-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "eu-central-1" } }, { @@ -243,8 +295,8 @@ }, "params": { "UseFIPS": false, - "Region": "eu-central-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "eu-central-1" } }, { @@ -256,8 +308,8 @@ }, "params": { "UseFIPS": false, - "Region": "eu-central-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "eu-central-1" } }, { @@ -269,8 +321,8 @@ }, "params": { "UseFIPS": true, - "Region": "us-west-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-west-1" } }, { @@ -282,8 +334,8 @@ }, "params": { "UseFIPS": true, - "Region": "us-west-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-west-1" } }, { @@ -295,8 +347,8 @@ }, "params": { "UseFIPS": false, - "Region": "us-west-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-west-1" } }, { @@ -308,8 +360,8 @@ }, "params": { "UseFIPS": false, - "Region": "us-west-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-west-1" } }, { @@ -321,8 +373,8 @@ }, "params": { "UseFIPS": true, - "Region": "us-west-2", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-west-2" } }, { @@ -334,8 +386,8 @@ }, "params": { "UseFIPS": true, - "Region": "us-west-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-west-2" } }, { @@ -347,8 +399,8 @@ }, "params": { "UseFIPS": false, - "Region": "us-west-2", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-west-2" } }, { @@ -360,8 +412,8 @@ }, "params": { "UseFIPS": false, - "Region": "us-west-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-west-2" } }, { @@ -373,8 +425,8 @@ }, "params": { "UseFIPS": true, - "Region": "af-south-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "af-south-1" } }, { @@ -386,8 +438,8 @@ }, "params": { "UseFIPS": true, - "Region": "af-south-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "af-south-1" } }, { @@ -399,8 +451,8 @@ }, "params": { "UseFIPS": false, - "Region": "af-south-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "af-south-1" } }, { @@ -412,8 +464,8 @@ }, "params": { "UseFIPS": false, - "Region": "af-south-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "af-south-1" } }, { @@ -425,8 +477,8 @@ }, "params": { "UseFIPS": true, - "Region": "eu-north-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "eu-north-1" } }, { @@ -438,8 +490,8 @@ }, "params": { "UseFIPS": true, - "Region": "eu-north-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "eu-north-1" } }, { @@ -451,8 +503,8 @@ }, "params": { "UseFIPS": false, - "Region": "eu-north-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "eu-north-1" } }, { @@ -464,8 +516,8 @@ }, "params": { "UseFIPS": false, - "Region": "eu-north-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "eu-north-1" } }, { @@ -477,8 +529,8 @@ }, "params": { "UseFIPS": true, - "Region": "eu-west-3", - "UseDualStack": true + "UseDualStack": true, + "Region": "eu-west-3" } }, { @@ -490,8 +542,8 @@ }, "params": { "UseFIPS": true, - "Region": "eu-west-3", - "UseDualStack": false + "UseDualStack": false, + "Region": "eu-west-3" } }, { @@ -503,8 +555,8 @@ }, "params": { "UseFIPS": false, - "Region": "eu-west-3", - "UseDualStack": true + "UseDualStack": true, + "Region": "eu-west-3" } }, { @@ -516,8 +568,8 @@ }, "params": { "UseFIPS": false, - "Region": "eu-west-3", - "UseDualStack": false + "UseDualStack": false, + "Region": "eu-west-3" } }, { @@ -529,8 +581,8 @@ }, "params": { "UseFIPS": true, - "Region": "eu-west-2", - "UseDualStack": true + "UseDualStack": true, + "Region": "eu-west-2" } }, { @@ -542,8 +594,8 @@ }, "params": { "UseFIPS": true, - "Region": "eu-west-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "eu-west-2" } }, { @@ -555,8 +607,8 @@ }, "params": { "UseFIPS": false, - "Region": "eu-west-2", - "UseDualStack": true + "UseDualStack": true, + "Region": "eu-west-2" } }, { @@ -568,8 +620,8 @@ }, "params": { "UseFIPS": false, - "Region": "eu-west-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "eu-west-2" } }, { @@ -581,8 +633,8 @@ }, "params": { "UseFIPS": true, - "Region": "eu-west-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "eu-west-1" } }, { @@ -594,8 +646,8 @@ }, "params": { "UseFIPS": true, - "Region": "eu-west-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "eu-west-1" } }, { @@ -607,8 +659,8 @@ }, "params": { "UseFIPS": false, - "Region": "eu-west-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "eu-west-1" } }, { @@ -620,8 +672,8 @@ }, "params": { "UseFIPS": false, - "Region": "eu-west-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "eu-west-1" } }, { @@ -633,8 +685,8 @@ }, "params": { "UseFIPS": true, - "Region": "ap-northeast-3", - "UseDualStack": true + "UseDualStack": true, + "Region": "ap-northeast-3" } }, { @@ -646,8 +698,8 @@ }, "params": { "UseFIPS": true, - "Region": "ap-northeast-3", - "UseDualStack": false + "UseDualStack": false, + "Region": "ap-northeast-3" } }, { @@ -659,8 +711,8 @@ }, "params": { "UseFIPS": false, - "Region": "ap-northeast-3", - "UseDualStack": true + "UseDualStack": true, + "Region": "ap-northeast-3" } }, { @@ -672,8 +724,8 @@ }, "params": { "UseFIPS": false, - "Region": "ap-northeast-3", - "UseDualStack": false + "UseDualStack": false, + "Region": "ap-northeast-3" } }, { @@ -685,8 +737,8 @@ }, "params": { "UseFIPS": true, - "Region": "ap-northeast-2", - "UseDualStack": true + "UseDualStack": true, + "Region": "ap-northeast-2" } }, { @@ -698,8 +750,8 @@ }, "params": { "UseFIPS": true, - "Region": "ap-northeast-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "ap-northeast-2" } }, { @@ -711,8 +763,8 @@ }, "params": { "UseFIPS": false, - "Region": "ap-northeast-2", - "UseDualStack": true + "UseDualStack": true, + "Region": "ap-northeast-2" } }, { @@ -724,8 +776,8 @@ }, "params": { "UseFIPS": false, - "Region": "ap-northeast-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "ap-northeast-2" } }, { @@ -737,8 +789,8 @@ }, "params": { "UseFIPS": true, - "Region": "ap-northeast-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "ap-northeast-1" } }, { @@ -750,8 +802,8 @@ }, "params": { "UseFIPS": true, - "Region": "ap-northeast-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "ap-northeast-1" } }, { @@ -763,8 +815,8 @@ }, "params": { "UseFIPS": false, - "Region": "ap-northeast-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "ap-northeast-1" } }, { @@ -776,8 +828,8 @@ }, "params": { "UseFIPS": false, - "Region": "ap-northeast-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "ap-northeast-1" } }, { @@ -789,8 +841,8 @@ }, "params": { "UseFIPS": true, - "Region": "me-south-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "me-south-1" } }, { @@ -802,8 +854,8 @@ }, "params": { "UseFIPS": true, - "Region": "me-south-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "me-south-1" } }, { @@ -815,8 +867,8 @@ }, "params": { "UseFIPS": false, - "Region": "me-south-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "me-south-1" } }, { @@ -828,8 +880,8 @@ }, "params": { "UseFIPS": false, - "Region": "me-south-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "me-south-1" } }, { @@ -841,8 +893,8 @@ }, "params": { "UseFIPS": true, - "Region": "sa-east-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "sa-east-1" } }, { @@ -854,8 +906,8 @@ }, "params": { "UseFIPS": true, - "Region": "sa-east-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "sa-east-1" } }, { @@ -867,8 +919,8 @@ }, "params": { "UseFIPS": false, - "Region": "sa-east-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "sa-east-1" } }, { @@ -880,8 +932,8 @@ }, "params": { "UseFIPS": false, - "Region": "sa-east-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "sa-east-1" } }, { @@ -893,8 +945,8 @@ }, "params": { "UseFIPS": true, - "Region": "ap-east-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "ap-east-1" } }, { @@ -906,8 +958,8 @@ }, "params": { "UseFIPS": true, - "Region": "ap-east-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "ap-east-1" } }, { @@ -919,8 +971,8 @@ }, "params": { "UseFIPS": false, - "Region": "ap-east-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "ap-east-1" } }, { @@ -932,8 +984,8 @@ }, "params": { "UseFIPS": false, - "Region": "ap-east-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "ap-east-1" } }, { @@ -945,8 +997,8 @@ }, "params": { "UseFIPS": true, - "Region": "cn-north-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "cn-north-1" } }, { @@ -958,8 +1010,8 @@ }, "params": { "UseFIPS": true, - "Region": "cn-north-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "cn-north-1" } }, { @@ -971,8 +1023,8 @@ }, "params": { "UseFIPS": false, - "Region": "cn-north-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "cn-north-1" } }, { @@ -984,8 +1036,8 @@ }, "params": { "UseFIPS": false, - "Region": "cn-north-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "cn-north-1" } }, { @@ -997,8 +1049,8 @@ }, "params": { "UseFIPS": true, - "Region": "us-gov-west-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-gov-west-1" } }, { @@ -1010,8 +1062,8 @@ }, "params": { "UseFIPS": true, - "Region": "us-gov-west-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-gov-west-1" } }, { @@ -1023,8 +1075,8 @@ }, "params": { "UseFIPS": false, - "Region": "us-gov-west-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-gov-west-1" } }, { @@ -1036,8 +1088,8 @@ }, "params": { "UseFIPS": false, - "Region": "us-gov-west-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-gov-west-1" } }, { @@ -1049,8 +1101,8 @@ }, "params": { "UseFIPS": true, - "Region": "ap-southeast-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "ap-southeast-1" } }, { @@ -1062,8 +1114,8 @@ }, "params": { "UseFIPS": true, - "Region": "ap-southeast-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "ap-southeast-1" } }, { @@ -1075,8 +1127,8 @@ }, "params": { "UseFIPS": false, - "Region": "ap-southeast-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "ap-southeast-1" } }, { @@ -1088,8 +1140,8 @@ }, "params": { "UseFIPS": false, - "Region": "ap-southeast-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "ap-southeast-1" } }, { @@ -1101,8 +1153,8 @@ }, "params": { "UseFIPS": true, - "Region": "ap-southeast-2", - "UseDualStack": true + "UseDualStack": true, + "Region": "ap-southeast-2" } }, { @@ -1114,8 +1166,8 @@ }, "params": { "UseFIPS": true, - "Region": "ap-southeast-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "ap-southeast-2" } }, { @@ -1127,8 +1179,8 @@ }, "params": { "UseFIPS": false, - "Region": "ap-southeast-2", - "UseDualStack": true + "UseDualStack": true, + "Region": "ap-southeast-2" } }, { @@ -1140,8 +1192,8 @@ }, "params": { "UseFIPS": false, - "Region": "ap-southeast-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "ap-southeast-2" } }, { @@ -1153,8 +1205,8 @@ }, "params": { "UseFIPS": true, - "Region": "ap-southeast-3", - "UseDualStack": true + "UseDualStack": true, + "Region": "ap-southeast-3" } }, { @@ -1166,8 +1218,8 @@ }, "params": { "UseFIPS": true, - "Region": "ap-southeast-3", - "UseDualStack": false + "UseDualStack": false, + "Region": "ap-southeast-3" } }, { @@ -1179,8 +1231,8 @@ }, "params": { "UseFIPS": false, - "Region": "ap-southeast-3", - "UseDualStack": true + "UseDualStack": true, + "Region": "ap-southeast-3" } }, { @@ -1192,8 +1244,8 @@ }, "params": { "UseFIPS": false, - "Region": "ap-southeast-3", - "UseDualStack": false + "UseDualStack": false, + "Region": "ap-southeast-3" } }, { @@ -1205,8 +1257,8 @@ }, "params": { "UseFIPS": true, - "Region": "us-east-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-east-1" } }, { @@ -1218,8 +1270,8 @@ }, "params": { "UseFIPS": true, - "Region": "us-east-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-east-1" } }, { @@ -1231,8 +1283,8 @@ }, "params": { "UseFIPS": false, - "Region": "us-east-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-east-1" } }, { @@ -1244,8 +1296,8 @@ }, "params": { "UseFIPS": false, - "Region": "us-east-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-east-1" } }, { @@ -1257,8 +1309,8 @@ }, "params": { "UseFIPS": true, - "Region": "us-east-2", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-east-2" } }, { @@ -1270,8 +1322,8 @@ }, "params": { "UseFIPS": true, - "Region": "us-east-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-east-2" } }, { @@ -1283,8 +1335,8 @@ }, "params": { "UseFIPS": false, - "Region": "us-east-2", - "UseDualStack": true + "UseDualStack": true, + "Region": "us-east-2" } }, { @@ -1296,8 +1348,8 @@ }, "params": { "UseFIPS": false, - "Region": "us-east-2", - "UseDualStack": false + "UseDualStack": false, + "Region": "us-east-2" } }, { @@ -1309,8 +1361,8 @@ }, "params": { "UseFIPS": true, - "Region": "cn-northwest-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "cn-northwest-1" } }, { @@ -1322,8 +1374,8 @@ }, "params": { "UseFIPS": true, - "Region": "cn-northwest-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "cn-northwest-1" } }, { @@ -1335,8 +1387,8 @@ }, "params": { "UseFIPS": false, - "Region": "cn-northwest-1", - "UseDualStack": true + "UseDualStack": true, + "Region": "cn-northwest-1" } }, { @@ -1348,8 +1400,8 @@ }, "params": { "UseFIPS": false, - "Region": "cn-northwest-1", - "UseDualStack": false + "UseDualStack": false, + "Region": "cn-northwest-1" } }, { @@ -1361,8 +1413,8 @@ }, "params": { "UseFIPS": false, - "Region": "us-east-1", "UseDualStack": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -1373,8 +1425,8 @@ }, "params": { "UseFIPS": true, - "Region": "us-east-1", "UseDualStack": false, + "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -1385,8 +1437,8 @@ }, "params": { "UseFIPS": false, - "Region": "us-east-1", "UseDualStack": true, + "Region": "us-east-1", "Endpoint": "https://example.com" } } diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 612bff9fff..c7d2f5bd14 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -1710,6 +1710,7 @@ "deprecated" : true, "hostname" : "appstream2-fips.us-west-2.amazonaws.com" }, + "sa-east-1" : { }, "us-east-1" : { "variants" : [ { "hostname" : "appstream2-fips.us-east-1.amazonaws.com", @@ -9132,14 +9133,35 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, + "fips-ca-central-1" : { + "deprecated" : true + }, + "fips-us-east-1" : { + "deprecated" : true + }, + "fips-us-west-2" : { + "deprecated" : true + }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "tags" : [ "fips" ] + } ] + } } }, "machinelearning" : { @@ -9616,6 +9638,32 @@ "us-west-2" : { } } }, + "metrics.sagemaker" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-northeast-3" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ap-southeast-3" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "me-central-1" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, "mgh" : { "endpoints" : { "ap-northeast-1" : { }, @@ -9867,6 +9915,7 @@ "deprecated" : true, "hostname" : "mq-fips.us-west-2.amazonaws.com" }, + "me-central-1" : { }, "me-south-1" : { }, "sa-east-1" : { }, "us-east-1" : { @@ -16647,6 +16696,12 @@ "cn-northwest-1" : { } } }, + "metrics.sagemaker" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, "monitoring" : { "defaults" : { "protocols" : [ "http", "https" ] @@ -19379,6 +19434,11 @@ "us-gov-west-1" : { } } }, + "metrics.sagemaker" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, "models.lex" : { "defaults" : { "credentialScope" : { @@ -21314,6 +21374,11 @@ "us-iso-east-1" : { } } }, + "metrics.sagemaker" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, "monitoring" : { "endpoints" : { "us-iso-east-1" : { }, @@ -21768,6 +21833,11 @@ "us-isob-east-1" : { } } }, + "metrics.sagemaker" : { + "endpoints" : { + "us-isob-east-1" : { } + } + }, "monitoring" : { "endpoints" : { "us-isob-east-1" : { } diff --git a/service/customerprofiles/api.go b/service/customerprofiles/api.go index f57d24a0cd..156363522c 100644 --- a/service/customerprofiles/api.go +++ b/service/customerprofiles/api.go @@ -5215,6 +5215,9 @@ type CreateProfileInput struct { // The gender with which the customer identifies. Gender *string `type:"string" enum:"Gender"` + // An alternative to Gender which accepts any string as input. + GenderString *string `min:"1" type:"string"` + // The customer’s home phone number. HomePhoneNumber *string `min:"1" type:"string"` @@ -5233,6 +5236,9 @@ type CreateProfileInput struct { // The type of profile used to describe the customer. PartyType *string `type:"string" enum:"PartyType"` + // An alternative to PartyType which accepts any string as input. + PartyTypeString *string `min:"1" type:"string"` + // The customer’s personal email address. PersonalEmailAddress *string `min:"1" type:"string"` @@ -5295,6 +5301,9 @@ func (s *CreateProfileInput) Validate() error { if s.FirstName != nil && len(*s.FirstName) < 1 { invalidParams.Add(request.NewErrParamMinLen("FirstName", 1)) } + if s.GenderString != nil && len(*s.GenderString) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GenderString", 1)) + } if s.HomePhoneNumber != nil && len(*s.HomePhoneNumber) < 1 { invalidParams.Add(request.NewErrParamMinLen("HomePhoneNumber", 1)) } @@ -5307,6 +5316,9 @@ func (s *CreateProfileInput) Validate() error { if s.MobilePhoneNumber != nil && len(*s.MobilePhoneNumber) < 1 { invalidParams.Add(request.NewErrParamMinLen("MobilePhoneNumber", 1)) } + if s.PartyTypeString != nil && len(*s.PartyTypeString) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PartyTypeString", 1)) + } if s.PersonalEmailAddress != nil && len(*s.PersonalEmailAddress) < 1 { invalidParams.Add(request.NewErrParamMinLen("PersonalEmailAddress", 1)) } @@ -5418,6 +5430,12 @@ func (s *CreateProfileInput) SetGender(v string) *CreateProfileInput { return s } +// SetGenderString sets the GenderString field's value. +func (s *CreateProfileInput) SetGenderString(v string) *CreateProfileInput { + s.GenderString = &v + return s +} + // SetHomePhoneNumber sets the HomePhoneNumber field's value. func (s *CreateProfileInput) SetHomePhoneNumber(v string) *CreateProfileInput { s.HomePhoneNumber = &v @@ -5454,6 +5472,12 @@ func (s *CreateProfileInput) SetPartyType(v string) *CreateProfileInput { return s } +// SetPartyTypeString sets the PartyTypeString field's value. +func (s *CreateProfileInput) SetPartyTypeString(v string) *CreateProfileInput { + s.PartyTypeString = &v + return s +} + // SetPersonalEmailAddress sets the PersonalEmailAddress field's value. func (s *CreateProfileInput) SetPersonalEmailAddress(v string) *CreateProfileInput { s.PersonalEmailAddress = &v @@ -13317,6 +13341,9 @@ type UpdateProfileInput struct { // The gender with which the customer identifies. Gender *string `type:"string" enum:"Gender"` + // An alternative to Gender which accepts any string as input. + GenderString *string `type:"string"` + // The customer’s home phone number. HomePhoneNumber *string `type:"string"` @@ -13335,6 +13362,9 @@ type UpdateProfileInput struct { // The type of profile used to describe the customer. PartyType *string `type:"string" enum:"PartyType"` + // An alternative to PartyType which accepts any string as input. + PartyTypeString *string `type:"string"` + // The customer’s personal email address. PersonalEmailAddress *string `type:"string"` @@ -13466,6 +13496,12 @@ func (s *UpdateProfileInput) SetGender(v string) *UpdateProfileInput { return s } +// SetGenderString sets the GenderString field's value. +func (s *UpdateProfileInput) SetGenderString(v string) *UpdateProfileInput { + s.GenderString = &v + return s +} + // SetHomePhoneNumber sets the HomePhoneNumber field's value. func (s *UpdateProfileInput) SetHomePhoneNumber(v string) *UpdateProfileInput { s.HomePhoneNumber = &v @@ -13502,6 +13538,12 @@ func (s *UpdateProfileInput) SetPartyType(v string) *UpdateProfileInput { return s } +// SetPartyTypeString sets the PartyTypeString field's value. +func (s *UpdateProfileInput) SetPartyTypeString(v string) *UpdateProfileInput { + s.PartyTypeString = &v + return s +} + // SetPersonalEmailAddress sets the PersonalEmailAddress field's value. func (s *UpdateProfileInput) SetPersonalEmailAddress(v string) *UpdateProfileInput { s.PersonalEmailAddress = &v diff --git a/service/ec2/api.go b/service/ec2/api.go index 0dc5143c84..3d0f6c60ec 100644 --- a/service/ec2/api.go +++ b/service/ec2/api.go @@ -115360,6 +115360,8 @@ type FpgaImage struct { // The FPGA image identifier (AFI ID). FpgaImageId *string `locationName:"fpgaImageId" type:"string"` + InstanceTypes []*string `locationName:"instanceTypes" locationNameList:"item" type:"list"` + // The name of the AFI. Name *string `locationName:"name" type:"string"` @@ -115440,6 +115442,12 @@ func (s *FpgaImage) SetFpgaImageId(v string) *FpgaImage { return s } +// SetInstanceTypes sets the InstanceTypes field's value. +func (s *FpgaImage) SetInstanceTypes(v []*string) *FpgaImage { + s.InstanceTypes = v + return s +} + // SetName sets the Name field's value. func (s *FpgaImage) SetName(v string) *FpgaImage { s.Name = &v @@ -182547,6 +182555,9 @@ const ( // ResourceTypeVpnConnectionDeviceType is a ResourceType enum value ResourceTypeVpnConnectionDeviceType = "vpn-connection-device-type" + + // ResourceTypeVpcBlockPublicAccessExclusion is a ResourceType enum value + ResourceTypeVpcBlockPublicAccessExclusion = "vpc-block-public-access-exclusion" ) // ResourceType_Values returns all elements of the ResourceType enum @@ -182634,6 +182645,7 @@ func ResourceType_Values() []string { ResourceTypeVerifiedAccessPolicy, ResourceTypeVerifiedAccessTrustProvider, ResourceTypeVpnConnectionDeviceType, + ResourceTypeVpcBlockPublicAccessExclusion, } } diff --git a/service/kinesisvideo/api.go b/service/kinesisvideo/api.go index ba4dc65064..25cdb922b2 100644 --- a/service/kinesisvideo/api.go +++ b/service/kinesisvideo/api.go @@ -454,6 +454,101 @@ func (c *KinesisVideo) DeleteStreamWithContext(ctx aws.Context, input *DeleteStr return out, req.Send() } +const opDescribeEdgeConfiguration = "DescribeEdgeConfiguration" + +// DescribeEdgeConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEdgeConfiguration 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 DescribeEdgeConfiguration for more information on using the DescribeEdgeConfiguration +// 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 DescribeEdgeConfigurationRequest method. +// req, resp := client.DescribeEdgeConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/DescribeEdgeConfiguration +func (c *KinesisVideo) DescribeEdgeConfigurationRequest(input *DescribeEdgeConfigurationInput) (req *request.Request, output *DescribeEdgeConfigurationOutput) { + op := &request.Operation{ + Name: opDescribeEdgeConfiguration, + HTTPMethod: "POST", + HTTPPath: "/describeEdgeConfiguration", + } + + if input == nil { + input = &DescribeEdgeConfigurationInput{} + } + + output = &DescribeEdgeConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeEdgeConfiguration API operation for Amazon Kinesis Video Streams. +// +// Describes a stream’s edge configuration that was set using the StartEdgeConfigurationUpdate +// API. Use this API to get the status of the configuration if the configuration +// is in sync with the Edge Agent. +// +// 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 Kinesis Video Streams's +// API operation DescribeEdgeConfiguration for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You do not have required permissions to perform this operation. +// +// - ClientLimitExceededException +// Kinesis Video Streams has throttled the request because you have exceeded +// the limit of allowed client calls. Try making the call later. +// +// - InvalidArgumentException +// The value for this input parameter is invalid. +// +// - ResourceNotFoundException +// Amazon Kinesis Video Streams can't find the stream that you specified. +// +// - StreamEdgeConfigurationNotFoundException +// The Exception rendered when the Amazon Kinesis Video Stream can't find a +// stream's edge configuration that you specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/DescribeEdgeConfiguration +func (c *KinesisVideo) DescribeEdgeConfiguration(input *DescribeEdgeConfigurationInput) (*DescribeEdgeConfigurationOutput, error) { + req, out := c.DescribeEdgeConfigurationRequest(input) + return out, req.Send() +} + +// DescribeEdgeConfigurationWithContext is the same as DescribeEdgeConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeEdgeConfiguration 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 *KinesisVideo) DescribeEdgeConfigurationWithContext(ctx aws.Context, input *DescribeEdgeConfigurationInput, opts ...request.Option) (*DescribeEdgeConfigurationOutput, error) { + req, out := c.DescribeEdgeConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeImageGenerationConfiguration = "DescribeImageGenerationConfiguration" // DescribeImageGenerationConfigurationRequest generates a "aws/request.Request" representing the @@ -1490,6 +1585,122 @@ func (c *KinesisVideo) ListTagsForStreamWithContext(ctx aws.Context, input *List return out, req.Send() } +const opStartEdgeConfigurationUpdate = "StartEdgeConfigurationUpdate" + +// StartEdgeConfigurationUpdateRequest generates a "aws/request.Request" representing the +// client's request for the StartEdgeConfigurationUpdate 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 StartEdgeConfigurationUpdate for more information on using the StartEdgeConfigurationUpdate +// 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 StartEdgeConfigurationUpdateRequest method. +// req, resp := client.StartEdgeConfigurationUpdateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/StartEdgeConfigurationUpdate +func (c *KinesisVideo) StartEdgeConfigurationUpdateRequest(input *StartEdgeConfigurationUpdateInput) (req *request.Request, output *StartEdgeConfigurationUpdateOutput) { + op := &request.Operation{ + Name: opStartEdgeConfigurationUpdate, + HTTPMethod: "POST", + HTTPPath: "/startEdgeConfigurationUpdate", + } + + if input == nil { + input = &StartEdgeConfigurationUpdateInput{} + } + + output = &StartEdgeConfigurationUpdateOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartEdgeConfigurationUpdate API operation for Amazon Kinesis Video Streams. +// +// An asynchronous API that updates a stream’s existing edge configuration. +// If this API is invoked for the first time, a new edge configuration will +// be created for the stream, and the sync status will be set to SYNCING. +// +// The Kinesis Video Stream will sync the stream’s edge configuration with +// the Edge Agent IoT Greengrass component that runs on an IoT Hub Device setup +// at your premise. The time to sync can vary and depends on the connectivity +// of the Hub Device. The SyncStatus will be updated as the edge configuration +// is acknowledged, and synced with the Edge Agent. You will have to wait for +// the sync status to reach a terminal state such as: IN_SYNC and SYNC_FAILED, +// before using this API again. +// +// If you invoke this API during the syncing process, a ResourceInUseException +// will be thrown. The connectivity of the stream's edge configuration and the +// Edge Agent will be retried for 15 minutes. After 15 minutes, the status will +// transition into the SYNC_FAILED state. +// +// 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 Kinesis Video Streams's +// API operation StartEdgeConfigurationUpdate for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You do not have required permissions to perform this operation. +// +// - ClientLimitExceededException +// Kinesis Video Streams has throttled the request because you have exceeded +// the limit of allowed client calls. Try making the call later. +// +// - InvalidArgumentException +// The value for this input parameter is invalid. +// +// - NoDataRetentionException +// The Stream data retention in hours is equal to zero. +// +// - ResourceInUseException +// The resource is currently not available for this operation. New resources +// cannot be created with the same name as existing resources. Also, resources +// cannot be updated or deleted unless they are in an ACTIVE state. +// +// If this exception is returned, do not use it to determine whether the requested +// resource already exists. Instead, it is recommended you use the resource-specific +// describe API, for example, DescribeStream for video streams. +// +// - ResourceNotFoundException +// Amazon Kinesis Video Streams can't find the stream that you specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/StartEdgeConfigurationUpdate +func (c *KinesisVideo) StartEdgeConfigurationUpdate(input *StartEdgeConfigurationUpdateInput) (*StartEdgeConfigurationUpdateOutput, error) { + req, out := c.StartEdgeConfigurationUpdateRequest(input) + return out, req.Send() +} + +// StartEdgeConfigurationUpdateWithContext is the same as StartEdgeConfigurationUpdate with the addition of +// the ability to pass a context and additional request options. +// +// See StartEdgeConfigurationUpdate 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 *KinesisVideo) StartEdgeConfigurationUpdateWithContext(ctx aws.Context, input *StartEdgeConfigurationUpdateInput, opts ...request.Option) (*StartEdgeConfigurationUpdateOutput, error) { + req, out := c.StartEdgeConfigurationUpdateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opTagResource = "TagResource" // TagResourceRequest generates a "aws/request.Request" representing the @@ -3305,17 +3516,29 @@ func (s DeleteStreamOutput) GoString() string { return s.String() } -type DescribeImageGenerationConfigurationInput struct { +// The configuration details required to delete the connection of the stream +// from the Edge Agent. +type DeletionConfig struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the Kinesis video stream from which to - // retrieve the image generation configuration. You must specify either the - // StreamName or the StreamARN. - StreamARN *string `min:"1" type:"string"` + // The boolean value used to indicate whether or not you want to mark the media + // for deletion, once it has been uploaded to the Kinesis Video Stream cloud. + // The media files can be deleted if any of the deletion configuration values + // are set to true, such as when the limit for the EdgeRetentionInHours, or + // the MaxLocalMediaSizeInMB, has been reached. + // + // Since the default value is set to true, configure the uploader schedule such + // that the media files are not being deleted before they are initially uploaded + // to AWS cloud. + DeleteAfterUpload *bool `type:"boolean"` - // The name of the stream from which to retrieve the image generation configuration. - // You must specify either the StreamName or the StreamARN. - StreamName *string `min:"1" type:"string"` + // The number of hours that you want to retain the data in the stream on the + // Edge Agent. The default value of the retention time is 720 hours, which translates + // to 30 days. + EdgeRetentionInHours *int64 `min:"1" type:"integer"` + + // The value of the local size required in order to delete the edge configuration. + LocalSizeConfig *LocalSizeConfig `type:"structure"` } // String returns the string representation. @@ -3323,7 +3546,7 @@ type DescribeImageGenerationConfigurationInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeImageGenerationConfigurationInput) String() string { +func (s DeletionConfig) String() string { return awsutil.Prettify(s) } @@ -3332,18 +3555,20 @@ func (s DescribeImageGenerationConfigurationInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeImageGenerationConfigurationInput) GoString() string { +func (s DeletionConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeImageGenerationConfigurationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeImageGenerationConfigurationInput"} - if s.StreamARN != nil && len(*s.StreamARN) < 1 { - invalidParams.Add(request.NewErrParamMinLen("StreamARN", 1)) - } - if s.StreamName != nil && len(*s.StreamName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("StreamName", 1)) +func (s *DeletionConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeletionConfig"} + if s.EdgeRetentionInHours != nil && *s.EdgeRetentionInHours < 1 { + invalidParams.Add(request.NewErrParamMinValue("EdgeRetentionInHours", 1)) + } + if s.LocalSizeConfig != nil { + if err := s.LocalSizeConfig.Validate(); err != nil { + invalidParams.AddNested("LocalSizeConfig", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -3352,61 +3577,33 @@ func (s *DescribeImageGenerationConfigurationInput) Validate() error { return nil } -// SetStreamARN sets the StreamARN field's value. -func (s *DescribeImageGenerationConfigurationInput) SetStreamARN(v string) *DescribeImageGenerationConfigurationInput { - s.StreamARN = &v +// SetDeleteAfterUpload sets the DeleteAfterUpload field's value. +func (s *DeletionConfig) SetDeleteAfterUpload(v bool) *DeletionConfig { + s.DeleteAfterUpload = &v return s } -// SetStreamName sets the StreamName field's value. -func (s *DescribeImageGenerationConfigurationInput) SetStreamName(v string) *DescribeImageGenerationConfigurationInput { - s.StreamName = &v +// SetEdgeRetentionInHours sets the EdgeRetentionInHours field's value. +func (s *DeletionConfig) SetEdgeRetentionInHours(v int64) *DeletionConfig { + s.EdgeRetentionInHours = &v return s } -type DescribeImageGenerationConfigurationOutput struct { - _ struct{} `type:"structure"` - - // The structure that contains the information required for the Kinesis video - // stream (KVS) images delivery. If this structure is null, the configuration - // will be deleted from the stream. - ImageGenerationConfiguration *ImageGenerationConfiguration `type:"structure"` -} - -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DescribeImageGenerationConfigurationOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DescribeImageGenerationConfigurationOutput) GoString() string { - return s.String() -} - -// SetImageGenerationConfiguration sets the ImageGenerationConfiguration field's value. -func (s *DescribeImageGenerationConfigurationOutput) SetImageGenerationConfiguration(v *ImageGenerationConfiguration) *DescribeImageGenerationConfigurationOutput { - s.ImageGenerationConfiguration = v +// SetLocalSizeConfig sets the LocalSizeConfig field's value. +func (s *DeletionConfig) SetLocalSizeConfig(v *LocalSizeConfig) *DeletionConfig { + s.LocalSizeConfig = v return s } -type DescribeNotificationConfigurationInput struct { +type DescribeEdgeConfigurationInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the Kinesis video stream from where you - // want to retrieve the notification configuration. You must specify either - // the StreamName or the StreamARN. + // The Amazon Resource Name (ARN) of the stream. Specify either the StreamNameor + // the StreamARN. StreamARN *string `min:"1" type:"string"` - // The name of the stream from which to retrieve the notification configuration. - // You must specify either the StreamName or the StreamARN. + // The name of the stream whose edge configuration you want to update. Specify + // either the StreamName or the StreamARN. StreamName *string `min:"1" type:"string"` } @@ -3415,7 +3612,7 @@ type DescribeNotificationConfigurationInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeNotificationConfigurationInput) String() string { +func (s DescribeEdgeConfigurationInput) String() string { return awsutil.Prettify(s) } @@ -3424,13 +3621,13 @@ func (s DescribeNotificationConfigurationInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeNotificationConfigurationInput) GoString() string { +func (s DescribeEdgeConfigurationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeNotificationConfigurationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeNotificationConfigurationInput"} +func (s *DescribeEdgeConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeEdgeConfigurationInput"} if s.StreamARN != nil && len(*s.StreamARN) < 1 { invalidParams.Add(request.NewErrParamMinLen("StreamARN", 1)) } @@ -3445,23 +3642,42 @@ func (s *DescribeNotificationConfigurationInput) Validate() error { } // SetStreamARN sets the StreamARN field's value. -func (s *DescribeNotificationConfigurationInput) SetStreamARN(v string) *DescribeNotificationConfigurationInput { +func (s *DescribeEdgeConfigurationInput) SetStreamARN(v string) *DescribeEdgeConfigurationInput { s.StreamARN = &v return s } // SetStreamName sets the StreamName field's value. -func (s *DescribeNotificationConfigurationInput) SetStreamName(v string) *DescribeNotificationConfigurationInput { +func (s *DescribeEdgeConfigurationInput) SetStreamName(v string) *DescribeEdgeConfigurationInput { s.StreamName = &v return s } -type DescribeNotificationConfigurationOutput struct { +type DescribeEdgeConfigurationOutput struct { _ struct{} `type:"structure"` - // The structure that contains the information required for notifications. If - // the structure is null, the configuration will be deleted from the stream. - NotificationConfiguration *NotificationConfiguration `type:"structure"` + // The timestamp at which a stream’s edge configuration was first created. + CreationTime *time.Time `type:"timestamp"` + + // A description of the stream's edge configuration that will be used to sync + // with the Edge Agent IoT Greengrass component. The Edge Agent component will + // run on an IoT Hub Device setup at your premise. + EdgeConfig *EdgeConfig `type:"structure"` + + // A description of the generated failure status. + FailedStatusDetails *string `type:"string"` + + // The timestamp at which a stream’s edge configuration was last updated. + LastUpdatedTime *time.Time `type:"timestamp"` + + // The Amazon Resource Name (ARN) of the stream. + StreamARN *string `min:"1" type:"string"` + + // The name of the stream from which the edge configuration was updated. + StreamName *string `min:"1" type:"string"` + + // The latest status of the edge configuration update. + SyncStatus *string `type:"string" enum:"SyncStatus"` } // String returns the string representation. @@ -3469,7 +3685,7 @@ type DescribeNotificationConfigurationOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeNotificationConfigurationOutput) String() string { +func (s DescribeEdgeConfigurationOutput) String() string { return awsutil.Prettify(s) } @@ -3478,33 +3694,252 @@ func (s DescribeNotificationConfigurationOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeNotificationConfigurationOutput) GoString() string { +func (s DescribeEdgeConfigurationOutput) GoString() string { return s.String() } -// SetNotificationConfiguration sets the NotificationConfiguration field's value. -func (s *DescribeNotificationConfigurationOutput) SetNotificationConfiguration(v *NotificationConfiguration) *DescribeNotificationConfigurationOutput { - s.NotificationConfiguration = v +// SetCreationTime sets the CreationTime field's value. +func (s *DescribeEdgeConfigurationOutput) SetCreationTime(v time.Time) *DescribeEdgeConfigurationOutput { + s.CreationTime = &v return s } -type DescribeSignalingChannelInput struct { - _ struct{} `type:"structure"` - - // The ARN of the signaling channel that you want to describe. - ChannelARN *string `min:"1" type:"string"` +// SetEdgeConfig sets the EdgeConfig field's value. +func (s *DescribeEdgeConfigurationOutput) SetEdgeConfig(v *EdgeConfig) *DescribeEdgeConfigurationOutput { + s.EdgeConfig = v + return s +} - // The name of the signaling channel that you want to describe. - ChannelName *string `min:"1" type:"string"` +// SetFailedStatusDetails sets the FailedStatusDetails field's value. +func (s *DescribeEdgeConfigurationOutput) SetFailedStatusDetails(v string) *DescribeEdgeConfigurationOutput { + s.FailedStatusDetails = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DescribeSignalingChannelInput) String() string { - return awsutil.Prettify(s) +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *DescribeEdgeConfigurationOutput) SetLastUpdatedTime(v time.Time) *DescribeEdgeConfigurationOutput { + s.LastUpdatedTime = &v + return s +} + +// SetStreamARN sets the StreamARN field's value. +func (s *DescribeEdgeConfigurationOutput) SetStreamARN(v string) *DescribeEdgeConfigurationOutput { + s.StreamARN = &v + return s +} + +// SetStreamName sets the StreamName field's value. +func (s *DescribeEdgeConfigurationOutput) SetStreamName(v string) *DescribeEdgeConfigurationOutput { + s.StreamName = &v + return s +} + +// SetSyncStatus sets the SyncStatus field's value. +func (s *DescribeEdgeConfigurationOutput) SetSyncStatus(v string) *DescribeEdgeConfigurationOutput { + s.SyncStatus = &v + return s +} + +type DescribeImageGenerationConfigurationInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Kinesis video stream from which to + // retrieve the image generation configuration. You must specify either the + // StreamName or the StreamARN. + StreamARN *string `min:"1" type:"string"` + + // The name of the stream from which to retrieve the image generation configuration. + // You must specify either the StreamName or the StreamARN. + StreamName *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeImageGenerationConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeImageGenerationConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeImageGenerationConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeImageGenerationConfigurationInput"} + if s.StreamARN != nil && len(*s.StreamARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StreamARN", 1)) + } + if s.StreamName != nil && len(*s.StreamName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StreamName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStreamARN sets the StreamARN field's value. +func (s *DescribeImageGenerationConfigurationInput) SetStreamARN(v string) *DescribeImageGenerationConfigurationInput { + s.StreamARN = &v + return s +} + +// SetStreamName sets the StreamName field's value. +func (s *DescribeImageGenerationConfigurationInput) SetStreamName(v string) *DescribeImageGenerationConfigurationInput { + s.StreamName = &v + return s +} + +type DescribeImageGenerationConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The structure that contains the information required for the Kinesis video + // stream (KVS) images delivery. If this structure is null, the configuration + // will be deleted from the stream. + ImageGenerationConfiguration *ImageGenerationConfiguration `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeImageGenerationConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeImageGenerationConfigurationOutput) GoString() string { + return s.String() +} + +// SetImageGenerationConfiguration sets the ImageGenerationConfiguration field's value. +func (s *DescribeImageGenerationConfigurationOutput) SetImageGenerationConfiguration(v *ImageGenerationConfiguration) *DescribeImageGenerationConfigurationOutput { + s.ImageGenerationConfiguration = v + return s +} + +type DescribeNotificationConfigurationInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Kinesis video stream from where you + // want to retrieve the notification configuration. You must specify either + // the StreamName or the StreamARN. + StreamARN *string `min:"1" type:"string"` + + // The name of the stream from which to retrieve the notification configuration. + // You must specify either the StreamName or the StreamARN. + StreamName *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeNotificationConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeNotificationConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeNotificationConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeNotificationConfigurationInput"} + if s.StreamARN != nil && len(*s.StreamARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StreamARN", 1)) + } + if s.StreamName != nil && len(*s.StreamName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StreamName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStreamARN sets the StreamARN field's value. +func (s *DescribeNotificationConfigurationInput) SetStreamARN(v string) *DescribeNotificationConfigurationInput { + s.StreamARN = &v + return s +} + +// SetStreamName sets the StreamName field's value. +func (s *DescribeNotificationConfigurationInput) SetStreamName(v string) *DescribeNotificationConfigurationInput { + s.StreamName = &v + return s +} + +type DescribeNotificationConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The structure that contains the information required for notifications. If + // the structure is null, the configuration will be deleted from the stream. + NotificationConfiguration *NotificationConfiguration `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeNotificationConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeNotificationConfigurationOutput) GoString() string { + return s.String() +} + +// SetNotificationConfiguration sets the NotificationConfiguration field's value. +func (s *DescribeNotificationConfigurationOutput) SetNotificationConfiguration(v *NotificationConfiguration) *DescribeNotificationConfigurationOutput { + s.NotificationConfiguration = v + return s +} + +type DescribeSignalingChannelInput struct { + _ struct{} `type:"structure"` + + // The ARN of the signaling channel that you want to describe. + ChannelARN *string `min:"1" type:"string"` + + // The name of the signaling channel that you want to describe. + ChannelName *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeSignalingChannelInput) String() string { + return awsutil.Prettify(s) } // GoString returns the string representation. @@ -3727,6 +4162,111 @@ func (s *DeviceStreamLimitExceededException) RequestID() string { return s.RespMetadata.RequestID } +// A description of the stream's edge configuration that will be used to sync +// with the Edge Agent IoT Greengrass component. The Edge Agent component will +// run on an IoT Hub Device setup at your premise. +type EdgeConfig struct { + _ struct{} `type:"structure"` + + // The deletion configuration is made up of the retention time (EdgeRetentionInHours) + // and local size configuration (LocalSizeConfig) details that are used to make + // the deletion. + DeletionConfig *DeletionConfig `type:"structure"` + + // The "Internet of Things (IoT) Thing" Arn of the stream. + // + // HubDeviceArn is a required field + HubDeviceArn *string `min:"1" type:"string" required:"true"` + + // The recorder configuration consists of the local MediaSourceConfig details, + // that are used as credentials to access the local media files streamed on + // the camera. + // + // RecorderConfig is a required field + RecorderConfig *RecorderConfig `type:"structure" required:"true"` + + // The uploader configuration contains the ScheduleExpression details that are + // used, to schedule upload jobs for the recorded media files from the Edge + // Agent, to a Kinesis Video Stream. + UploaderConfig *UploaderConfig `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EdgeConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EdgeConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EdgeConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EdgeConfig"} + if s.HubDeviceArn == nil { + invalidParams.Add(request.NewErrParamRequired("HubDeviceArn")) + } + if s.HubDeviceArn != nil && len(*s.HubDeviceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("HubDeviceArn", 1)) + } + if s.RecorderConfig == nil { + invalidParams.Add(request.NewErrParamRequired("RecorderConfig")) + } + if s.DeletionConfig != nil { + if err := s.DeletionConfig.Validate(); err != nil { + invalidParams.AddNested("DeletionConfig", err.(request.ErrInvalidParams)) + } + } + if s.RecorderConfig != nil { + if err := s.RecorderConfig.Validate(); err != nil { + invalidParams.AddNested("RecorderConfig", err.(request.ErrInvalidParams)) + } + } + if s.UploaderConfig != nil { + if err := s.UploaderConfig.Validate(); err != nil { + invalidParams.AddNested("UploaderConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDeletionConfig sets the DeletionConfig field's value. +func (s *EdgeConfig) SetDeletionConfig(v *DeletionConfig) *EdgeConfig { + s.DeletionConfig = v + return s +} + +// SetHubDeviceArn sets the HubDeviceArn field's value. +func (s *EdgeConfig) SetHubDeviceArn(v string) *EdgeConfig { + s.HubDeviceArn = &v + return s +} + +// SetRecorderConfig sets the RecorderConfig field's value. +func (s *EdgeConfig) SetRecorderConfig(v *RecorderConfig) *EdgeConfig { + s.RecorderConfig = v + return s +} + +// SetUploaderConfig sets the UploaderConfig field's value. +func (s *EdgeConfig) SetUploaderConfig(v *UploaderConfig) *EdgeConfig { + s.UploaderConfig = v + return s +} + type GetDataEndpointInput struct { _ struct{} `type:"structure"` @@ -4109,7 +4649,7 @@ type ImageGenerationDestinationConfig struct { // DestinationRegion is a required field DestinationRegion *string `min:"9" type:"string" required:"true"` - // The Uniform Resource Idenifier (URI) that identifies where the images will + // The Uniform Resource Identifier (URI) that identifies where the images will // be delivered. // // Uri is a required field @@ -4794,6 +5334,136 @@ func (s *ListTagsForStreamOutput) SetTags(v map[string]*string) *ListTagsForStre return s } +// The configuration details that include the maximum size of the media (MaxLocalMediaSizeInMB) +// that you want to store for a stream on the Edge Agent, as well as the strategy +// that should be used (StrategyOnFullSize) when a stream's maximum size has +// been reached. +type LocalSizeConfig struct { + _ struct{} `type:"structure"` + + // The overall maximum size of the media that you want to store for a stream + // on the Edge Agent. + MaxLocalMediaSizeInMB *int64 `min:"64" type:"integer"` + + // The strategy to perform when a stream’s MaxLocalMediaSizeInMB limit is + // reached. + StrategyOnFullSize *string `type:"string" enum:"StrategyOnFullSize"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LocalSizeConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LocalSizeConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LocalSizeConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LocalSizeConfig"} + if s.MaxLocalMediaSizeInMB != nil && *s.MaxLocalMediaSizeInMB < 64 { + invalidParams.Add(request.NewErrParamMinValue("MaxLocalMediaSizeInMB", 64)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxLocalMediaSizeInMB sets the MaxLocalMediaSizeInMB field's value. +func (s *LocalSizeConfig) SetMaxLocalMediaSizeInMB(v int64) *LocalSizeConfig { + s.MaxLocalMediaSizeInMB = &v + return s +} + +// SetStrategyOnFullSize sets the StrategyOnFullSize field's value. +func (s *LocalSizeConfig) SetStrategyOnFullSize(v string) *LocalSizeConfig { + s.StrategyOnFullSize = &v + return s +} + +// The configuration details that consist of the credentials required (MediaUriSecretArn +// and MediaUriType) to access the media files that are streamed to the camera. +type MediaSourceConfig struct { + _ struct{} `type:"structure"` + + // The AWS Secrets Manager ARN for the username and password of the camera, + // or a local media file location. + // + // MediaUriSecretArn is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by MediaSourceConfig's + // String and GoString methods. + // + // MediaUriSecretArn is a required field + MediaUriSecretArn *string `min:"20" type:"string" required:"true" sensitive:"true"` + + // The Uniform Resource Identifier (Uri) type. The FILE_URI value can be used + // to stream local media files. + // + // MediaUriType is a required field + MediaUriType *string `type:"string" required:"true" enum:"MediaUriType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MediaSourceConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MediaSourceConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MediaSourceConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MediaSourceConfig"} + if s.MediaUriSecretArn == nil { + invalidParams.Add(request.NewErrParamRequired("MediaUriSecretArn")) + } + if s.MediaUriSecretArn != nil && len(*s.MediaUriSecretArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("MediaUriSecretArn", 20)) + } + if s.MediaUriType == nil { + invalidParams.Add(request.NewErrParamRequired("MediaUriType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMediaUriSecretArn sets the MediaUriSecretArn field's value. +func (s *MediaSourceConfig) SetMediaUriSecretArn(v string) *MediaSourceConfig { + s.MediaUriSecretArn = &v + return s +} + +// SetMediaUriType sets the MediaUriType field's value. +func (s *MediaSourceConfig) SetMediaUriType(v string) *MediaSourceConfig { + s.MediaUriType = &v + return s +} + // The Stream data retention in hours is equal to zero. type NoDataRetentionException struct { _ struct{} `type:"structure"` @@ -4995,7 +5665,7 @@ func (s *NotificationConfiguration) SetStatus(v string) *NotificationConfigurati type NotificationDestinationConfig struct { _ struct{} `type:"structure"` - // The Uniform Resource Idenifier (URI) that identifies where the images will + // The Uniform Resource Identifier (URI) that identifies where the images will // be delivered. // // Uri is a required field @@ -5042,6 +5712,78 @@ func (s *NotificationDestinationConfig) SetUri(v string) *NotificationDestinatio return s } +// The recorder configuration consists of the local MediaSourceConfig details +// that are used as credentials to accesss the local media files streamed on +// the camera. +type RecorderConfig struct { + _ struct{} `type:"structure"` + + // The configuration details that consist of the credentials required (MediaUriSecretArn + // and MediaUriType) to access the media files streamed to the camera. + // + // MediaSourceConfig is a required field + MediaSourceConfig *MediaSourceConfig `type:"structure" required:"true"` + + // The configuration that consists of the ScheduleExpression and the DurationInMinutes + // details that specify the scheduling to record from a camera, or local media + // file, onto the Edge Agent. If the ScheduleExpression attribute is not provided, + // then the Edge Agent will always be set to recording mode. + ScheduleConfig *ScheduleConfig `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecorderConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecorderConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RecorderConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RecorderConfig"} + if s.MediaSourceConfig == nil { + invalidParams.Add(request.NewErrParamRequired("MediaSourceConfig")) + } + if s.MediaSourceConfig != nil { + if err := s.MediaSourceConfig.Validate(); err != nil { + invalidParams.AddNested("MediaSourceConfig", err.(request.ErrInvalidParams)) + } + } + if s.ScheduleConfig != nil { + if err := s.ScheduleConfig.Validate(); err != nil { + invalidParams.AddNested("ScheduleConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMediaSourceConfig sets the MediaSourceConfig field's value. +func (s *RecorderConfig) SetMediaSourceConfig(v *MediaSourceConfig) *RecorderConfig { + s.MediaSourceConfig = v + return s +} + +// SetScheduleConfig sets the ScheduleConfig field's value. +func (s *RecorderConfig) SetScheduleConfig(v *ScheduleConfig) *RecorderConfig { + s.ScheduleConfig = v + return s +} + // An object that describes the endpoint of the signaling channel returned by // the GetSignalingChannelEndpoint API. type ResourceEndpointListItem struct { @@ -5193,31 +5935,110 @@ func (s *ResourceNotFoundException) Code() string { return "ResourceNotFoundException" } -// Message returns the exception's message. -func (s *ResourceNotFoundException) Message() string { - if s.Message_ != nil { - return *s.Message_ +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil +} + +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// This API enables you to specify the duration that the camera, or local media +// file, should record onto the Edge Agent. The ScheduleConfig consists of the +// ScheduleExpression and the DurationInMinutes attributes. +// +// If the ScheduleExpression is not provided, then the Edge Agent will always +// be set to recording mode. +type ScheduleConfig struct { + _ struct{} `type:"structure"` + + // The total duration to record the media. If the ScheduleExpression attribute + // is provided, then the DurationInSeconds attribute should also be specified. + // + // DurationInSeconds is a required field + DurationInSeconds *int64 `min:"60" type:"integer" required:"true"` + + // The Quartz cron expression that takes care of scheduling jobs to record from + // the camera, or local media file, onto the Edge Agent. If the ScheduleExpression + // is not provided for the RecorderConfig, then the Edge Agent will always be + // set to recording mode. + // + // For more information about Quartz, refer to the Cron Trigger Tutorial (http://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html) + // page to understand the valid expressions and its use. + // + // ScheduleExpression is a required field + ScheduleExpression *string `min:"11" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ScheduleConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ScheduleConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ScheduleConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ScheduleConfig"} + if s.DurationInSeconds == nil { + invalidParams.Add(request.NewErrParamRequired("DurationInSeconds")) + } + if s.DurationInSeconds != nil && *s.DurationInSeconds < 60 { + invalidParams.Add(request.NewErrParamMinValue("DurationInSeconds", 60)) + } + if s.ScheduleExpression == nil { + invalidParams.Add(request.NewErrParamRequired("ScheduleExpression")) + } + if s.ScheduleExpression != nil && len(*s.ScheduleExpression) < 11 { + invalidParams.Add(request.NewErrParamMinLen("ScheduleExpression", 11)) } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceNotFoundException) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *ResourceNotFoundException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *ResourceNotFoundException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetDurationInSeconds sets the DurationInSeconds field's value. +func (s *ScheduleConfig) SetDurationInSeconds(v int64) *ScheduleConfig { + s.DurationInSeconds = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ResourceNotFoundException) RequestID() string { - return s.RespMetadata.RequestID +// SetScheduleExpression sets the ScheduleExpression field's value. +func (s *ScheduleConfig) SetScheduleExpression(v string) *ScheduleConfig { + s.ScheduleExpression = &v + return s } // An object that contains the endpoint configuration for the SINGLE_MASTER @@ -5329,6 +6150,237 @@ func (s *SingleMasterConfiguration) SetMessageTtlSeconds(v int64) *SingleMasterC return s } +type StartEdgeConfigurationUpdateInput struct { + _ struct{} `type:"structure"` + + // The edge configuration details required to invoke the update process. + // + // EdgeConfig is a required field + EdgeConfig *EdgeConfig `type:"structure" required:"true"` + + // The Amazon Resource Name (ARN) of the stream. Specify either the StreamName + // or the StreamARN. + StreamARN *string `min:"1" type:"string"` + + // The name of the stream whose edge configuration you want to update. Specify + // either the StreamName or the StreamARN. + StreamName *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartEdgeConfigurationUpdateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartEdgeConfigurationUpdateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartEdgeConfigurationUpdateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartEdgeConfigurationUpdateInput"} + if s.EdgeConfig == nil { + invalidParams.Add(request.NewErrParamRequired("EdgeConfig")) + } + if s.StreamARN != nil && len(*s.StreamARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StreamARN", 1)) + } + if s.StreamName != nil && len(*s.StreamName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StreamName", 1)) + } + if s.EdgeConfig != nil { + if err := s.EdgeConfig.Validate(); err != nil { + invalidParams.AddNested("EdgeConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEdgeConfig sets the EdgeConfig field's value. +func (s *StartEdgeConfigurationUpdateInput) SetEdgeConfig(v *EdgeConfig) *StartEdgeConfigurationUpdateInput { + s.EdgeConfig = v + return s +} + +// SetStreamARN sets the StreamARN field's value. +func (s *StartEdgeConfigurationUpdateInput) SetStreamARN(v string) *StartEdgeConfigurationUpdateInput { + s.StreamARN = &v + return s +} + +// SetStreamName sets the StreamName field's value. +func (s *StartEdgeConfigurationUpdateInput) SetStreamName(v string) *StartEdgeConfigurationUpdateInput { + s.StreamName = &v + return s +} + +type StartEdgeConfigurationUpdateOutput struct { + _ struct{} `type:"structure"` + + // The timestamp at which a stream’s edge configuration was first created. + CreationTime *time.Time `type:"timestamp"` + + // A description of the stream's edge configuration that will be used to sync + // with the Edge Agent IoT Greengrass component. The Edge Agent component will + // run on an IoT Hub Device setup at your premise. + EdgeConfig *EdgeConfig `type:"structure"` + + // A description of the generated failure status. + FailedStatusDetails *string `type:"string"` + + // The timestamp at which a stream’s edge configuration was last updated. + LastUpdatedTime *time.Time `type:"timestamp"` + + // The Amazon Resource Name (ARN) of the stream. + StreamARN *string `min:"1" type:"string"` + + // The name of the stream from which the edge configuration was updated. + StreamName *string `min:"1" type:"string"` + + // The current sync status of the stream's edge configuration. When you invoke + // this API, the sync status will be set to the SYNCING state. Use the DescribeEdgeConfiguration + // API to get the latest status of the edge configuration. + SyncStatus *string `type:"string" enum:"SyncStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartEdgeConfigurationUpdateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartEdgeConfigurationUpdateOutput) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *StartEdgeConfigurationUpdateOutput) SetCreationTime(v time.Time) *StartEdgeConfigurationUpdateOutput { + s.CreationTime = &v + return s +} + +// SetEdgeConfig sets the EdgeConfig field's value. +func (s *StartEdgeConfigurationUpdateOutput) SetEdgeConfig(v *EdgeConfig) *StartEdgeConfigurationUpdateOutput { + s.EdgeConfig = v + return s +} + +// SetFailedStatusDetails sets the FailedStatusDetails field's value. +func (s *StartEdgeConfigurationUpdateOutput) SetFailedStatusDetails(v string) *StartEdgeConfigurationUpdateOutput { + s.FailedStatusDetails = &v + return s +} + +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *StartEdgeConfigurationUpdateOutput) SetLastUpdatedTime(v time.Time) *StartEdgeConfigurationUpdateOutput { + s.LastUpdatedTime = &v + return s +} + +// SetStreamARN sets the StreamARN field's value. +func (s *StartEdgeConfigurationUpdateOutput) SetStreamARN(v string) *StartEdgeConfigurationUpdateOutput { + s.StreamARN = &v + return s +} + +// SetStreamName sets the StreamName field's value. +func (s *StartEdgeConfigurationUpdateOutput) SetStreamName(v string) *StartEdgeConfigurationUpdateOutput { + s.StreamName = &v + return s +} + +// SetSyncStatus sets the SyncStatus field's value. +func (s *StartEdgeConfigurationUpdateOutput) SetSyncStatus(v string) *StartEdgeConfigurationUpdateOutput { + s.SyncStatus = &v + return s +} + +// The Exception rendered when the Amazon Kinesis Video Stream can't find a +// stream's edge configuration that you specified. +type StreamEdgeConfigurationNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StreamEdgeConfigurationNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StreamEdgeConfigurationNotFoundException) GoString() string { + return s.String() +} + +func newErrorStreamEdgeConfigurationNotFoundException(v protocol.ResponseMetadata) error { + return &StreamEdgeConfigurationNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *StreamEdgeConfigurationNotFoundException) Code() string { + return "StreamEdgeConfigurationNotFoundException" +} + +// Message returns the exception's message. +func (s *StreamEdgeConfigurationNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *StreamEdgeConfigurationNotFoundException) OrigErr() error { + return nil +} + +func (s *StreamEdgeConfigurationNotFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *StreamEdgeConfigurationNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *StreamEdgeConfigurationNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + // An object describing a Kinesis video stream. type StreamInfo struct { _ struct{} `type:"structure"` @@ -6558,6 +7610,63 @@ func (s UpdateStreamOutput) GoString() string { return s.String() } +// The configuration that consists of the ScheduleConfig attribute that's required, +// to schedule the jobs to upload the recorded media files onto the Edge Agent +// in a Kinesis Video Stream. +type UploaderConfig struct { + _ struct{} `type:"structure"` + + // The configuration that consists of the ScheduleExpression and the DurationInMinutesdetails + // that specify the scheduling to record from a camera, or local media file, + // onto the Edge Agent. If the ScheduleExpression is not provided, then the + // Edge Agent will always be in recording mode. + // + // ScheduleConfig is a required field + ScheduleConfig *ScheduleConfig `type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UploaderConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UploaderConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UploaderConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UploaderConfig"} + if s.ScheduleConfig == nil { + invalidParams.Add(request.NewErrParamRequired("ScheduleConfig")) + } + if s.ScheduleConfig != nil { + if err := s.ScheduleConfig.Validate(); err != nil { + invalidParams.AddNested("ScheduleConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetScheduleConfig sets the ScheduleConfig field's value. +func (s *UploaderConfig) SetScheduleConfig(v *ScheduleConfig) *UploaderConfig { + s.ScheduleConfig = v + return s +} + // The stream version that you specified is not the latest version. To get the // latest version, use the DescribeStream (https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_DescribeStream.html) // API. @@ -6784,6 +7893,22 @@ func ImageSelectorType_Values() []string { } } +const ( + // MediaUriTypeRtspUri is a MediaUriType enum value + MediaUriTypeRtspUri = "RTSP_URI" + + // MediaUriTypeFileUri is a MediaUriType enum value + MediaUriTypeFileUri = "FILE_URI" +) + +// MediaUriType_Values returns all elements of the MediaUriType enum +func MediaUriType_Values() []string { + return []string{ + MediaUriTypeRtspUri, + MediaUriTypeFileUri, + } +} + const ( // StatusCreating is a Status enum value StatusCreating = "CREATING" @@ -6808,6 +7933,54 @@ func Status_Values() []string { } } +const ( + // StrategyOnFullSizeDeleteOldestMedia is a StrategyOnFullSize enum value + StrategyOnFullSizeDeleteOldestMedia = "DELETE_OLDEST_MEDIA" + + // StrategyOnFullSizeDenyNewMedia is a StrategyOnFullSize enum value + StrategyOnFullSizeDenyNewMedia = "DENY_NEW_MEDIA" +) + +// StrategyOnFullSize_Values returns all elements of the StrategyOnFullSize enum +func StrategyOnFullSize_Values() []string { + return []string{ + StrategyOnFullSizeDeleteOldestMedia, + StrategyOnFullSizeDenyNewMedia, + } +} + +const ( + // SyncStatusSyncing is a SyncStatus enum value + SyncStatusSyncing = "SYNCING" + + // SyncStatusAcknowledged is a SyncStatus enum value + SyncStatusAcknowledged = "ACKNOWLEDGED" + + // SyncStatusInSync is a SyncStatus enum value + SyncStatusInSync = "IN_SYNC" + + // SyncStatusSyncFailed is a SyncStatus enum value + SyncStatusSyncFailed = "SYNC_FAILED" + + // SyncStatusDeleting is a SyncStatus enum value + SyncStatusDeleting = "DELETING" + + // SyncStatusDeleteFailed is a SyncStatus enum value + SyncStatusDeleteFailed = "DELETE_FAILED" +) + +// SyncStatus_Values returns all elements of the SyncStatus enum +func SyncStatus_Values() []string { + return []string{ + SyncStatusSyncing, + SyncStatusAcknowledged, + SyncStatusInSync, + SyncStatusSyncFailed, + SyncStatusDeleting, + SyncStatusDeleteFailed, + } +} + const ( // UpdateDataRetentionOperationIncreaseDataRetention is a UpdateDataRetentionOperation enum value UpdateDataRetentionOperationIncreaseDataRetention = "INCREASE_DATA_RETENTION" diff --git a/service/kinesisvideo/errors.go b/service/kinesisvideo/errors.go index 016f0bca78..c3d617ee8c 100644 --- a/service/kinesisvideo/errors.go +++ b/service/kinesisvideo/errors.go @@ -88,6 +88,13 @@ const ( // Amazon Kinesis Video Streams can't find the stream that you specified. ErrCodeResourceNotFoundException = "ResourceNotFoundException" + // ErrCodeStreamEdgeConfigurationNotFoundException for service response error code + // "StreamEdgeConfigurationNotFoundException". + // + // The Exception rendered when the Amazon Kinesis Video Stream can't find a + // stream's edge configuration that you specified. + ErrCodeStreamEdgeConfigurationNotFoundException = "StreamEdgeConfigurationNotFoundException" + // ErrCodeTagsPerResourceExceededLimitException for service response error code // "TagsPerResourceExceededLimitException". // @@ -105,18 +112,19 @@ const ( ) var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ - "AccessDeniedException": newErrorAccessDeniedException, - "AccountChannelLimitExceededException": newErrorAccountChannelLimitExceededException, - "AccountStreamLimitExceededException": newErrorAccountStreamLimitExceededException, - "ClientLimitExceededException": newErrorClientLimitExceededException, - "DeviceStreamLimitExceededException": newErrorDeviceStreamLimitExceededException, - "InvalidArgumentException": newErrorInvalidArgumentException, - "InvalidDeviceException": newErrorInvalidDeviceException, - "InvalidResourceFormatException": newErrorInvalidResourceFormatException, - "NoDataRetentionException": newErrorNoDataRetentionException, - "NotAuthorizedException": newErrorNotAuthorizedException, - "ResourceInUseException": newErrorResourceInUseException, - "ResourceNotFoundException": newErrorResourceNotFoundException, - "TagsPerResourceExceededLimitException": newErrorTagsPerResourceExceededLimitException, - "VersionMismatchException": newErrorVersionMismatchException, + "AccessDeniedException": newErrorAccessDeniedException, + "AccountChannelLimitExceededException": newErrorAccountChannelLimitExceededException, + "AccountStreamLimitExceededException": newErrorAccountStreamLimitExceededException, + "ClientLimitExceededException": newErrorClientLimitExceededException, + "DeviceStreamLimitExceededException": newErrorDeviceStreamLimitExceededException, + "InvalidArgumentException": newErrorInvalidArgumentException, + "InvalidDeviceException": newErrorInvalidDeviceException, + "InvalidResourceFormatException": newErrorInvalidResourceFormatException, + "NoDataRetentionException": newErrorNoDataRetentionException, + "NotAuthorizedException": newErrorNotAuthorizedException, + "ResourceInUseException": newErrorResourceInUseException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "StreamEdgeConfigurationNotFoundException": newErrorStreamEdgeConfigurationNotFoundException, + "TagsPerResourceExceededLimitException": newErrorTagsPerResourceExceededLimitException, + "VersionMismatchException": newErrorVersionMismatchException, } diff --git a/service/kinesisvideo/kinesisvideoiface/interface.go b/service/kinesisvideo/kinesisvideoiface/interface.go index bf1e03d495..85519a935f 100644 --- a/service/kinesisvideo/kinesisvideoiface/interface.go +++ b/service/kinesisvideo/kinesisvideoiface/interface.go @@ -76,6 +76,10 @@ type KinesisVideoAPI interface { DeleteStreamWithContext(aws.Context, *kinesisvideo.DeleteStreamInput, ...request.Option) (*kinesisvideo.DeleteStreamOutput, error) DeleteStreamRequest(*kinesisvideo.DeleteStreamInput) (*request.Request, *kinesisvideo.DeleteStreamOutput) + DescribeEdgeConfiguration(*kinesisvideo.DescribeEdgeConfigurationInput) (*kinesisvideo.DescribeEdgeConfigurationOutput, error) + DescribeEdgeConfigurationWithContext(aws.Context, *kinesisvideo.DescribeEdgeConfigurationInput, ...request.Option) (*kinesisvideo.DescribeEdgeConfigurationOutput, error) + DescribeEdgeConfigurationRequest(*kinesisvideo.DescribeEdgeConfigurationInput) (*request.Request, *kinesisvideo.DescribeEdgeConfigurationOutput) + DescribeImageGenerationConfiguration(*kinesisvideo.DescribeImageGenerationConfigurationInput) (*kinesisvideo.DescribeImageGenerationConfigurationOutput, error) DescribeImageGenerationConfigurationWithContext(aws.Context, *kinesisvideo.DescribeImageGenerationConfigurationInput, ...request.Option) (*kinesisvideo.DescribeImageGenerationConfigurationOutput, error) DescribeImageGenerationConfigurationRequest(*kinesisvideo.DescribeImageGenerationConfigurationInput) (*request.Request, *kinesisvideo.DescribeImageGenerationConfigurationOutput) @@ -122,6 +126,10 @@ type KinesisVideoAPI interface { ListTagsForStreamWithContext(aws.Context, *kinesisvideo.ListTagsForStreamInput, ...request.Option) (*kinesisvideo.ListTagsForStreamOutput, error) ListTagsForStreamRequest(*kinesisvideo.ListTagsForStreamInput) (*request.Request, *kinesisvideo.ListTagsForStreamOutput) + StartEdgeConfigurationUpdate(*kinesisvideo.StartEdgeConfigurationUpdateInput) (*kinesisvideo.StartEdgeConfigurationUpdateOutput, error) + StartEdgeConfigurationUpdateWithContext(aws.Context, *kinesisvideo.StartEdgeConfigurationUpdateInput, ...request.Option) (*kinesisvideo.StartEdgeConfigurationUpdateOutput, error) + StartEdgeConfigurationUpdateRequest(*kinesisvideo.StartEdgeConfigurationUpdateInput) (*request.Request, *kinesisvideo.StartEdgeConfigurationUpdateOutput) + TagResource(*kinesisvideo.TagResourceInput) (*kinesisvideo.TagResourceOutput, error) TagResourceWithContext(aws.Context, *kinesisvideo.TagResourceInput, ...request.Option) (*kinesisvideo.TagResourceOutput, error) TagResourceRequest(*kinesisvideo.TagResourceInput) (*request.Request, *kinesisvideo.TagResourceOutput) diff --git a/service/lookoutforvision/api.go b/service/lookoutforvision/api.go index e4e08fc512..94841a3237 100644 --- a/service/lookoutforvision/api.go +++ b/service/lookoutforvision/api.go @@ -2089,6 +2089,8 @@ func (c *LookoutForVision) StartModelPackagingJobRequest(input *StartModelPackag // // - s3:GetBucketLocation // +// - kms:GenerateDataKey +// // - greengrass:CreateComponentVersion // // - greengrass:DescribeComponent diff --git a/service/migrationhubrefactorspaces/api.go b/service/migrationhubrefactorspaces/api.go index b09c69715e..d777589d23 100644 --- a/service/migrationhubrefactorspaces/api.go +++ b/service/migrationhubrefactorspaces/api.go @@ -303,6 +303,12 @@ func (c *MigrationHubRefactorSpaces) CreateRouteRequest(input *CreateRouteInput) // For public URLs, a connection is opened to the public endpoint. If the URL // is not reachable, the health check fails. // +// Refactor Spaces automatically resolves the public Domain Name System (DNS) +// names that are set in CreateServiceRequest$UrlEndpoint when you create a +// service. The DNS names resolve when the DNS time-to-live (TTL) expires, or +// every 60 seconds for TTLs less than 60 seconds. This periodic DNS resolution +// ensures that the route configuration remains up-to-date. +// // For private URLS, a target group is created on the Elastic Load Balancing // and the target group health check is run. The HealthCheckProtocol, HealthCheckPort, // and HealthCheckPath are the same protocol, port, and path specified in the @@ -3986,7 +3992,10 @@ type CreateServiceInput struct { // String and GoString methods. Tags map[string]*string `type:"map" sensitive:"true"` - // The configuration for the URL endpoint type. + // The configuration for the URL endpoint type. When creating a route to a service, + // Refactor Spaces automatically resolves the address in the UrlEndpointInput + // object URL when the Domain Name System (DNS) time-to-live (TTL) expires, + // or every 60 seconds for TTLs less than 60 seconds. UrlEndpoint *UrlEndpointInput_ `type:"structure"` // The ID of the VPC. @@ -6476,7 +6485,7 @@ func (s *LambdaEndpointConfig) SetArn(v string) *LambdaEndpointConfig { type LambdaEndpointInput_ struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the Lambda endpoint. + // The Amazon Resource Name (ARN) of the Lambda function or alias. // // Arn is a required field Arn *string `min:"1" type:"string" required:"true"` diff --git a/service/migrationhubrefactorspaces/doc.go b/service/migrationhubrefactorspaces/doc.go index d499fef4f9..714ef98654 100644 --- a/service/migrationhubrefactorspaces/doc.go +++ b/service/migrationhubrefactorspaces/doc.go @@ -3,17 +3,18 @@ // Package migrationhubrefactorspaces provides the client and types for making API // requests to AWS Migration Hub Refactor Spaces. // -//

This API reference provides descriptions, syntax, and other details -// about each of the actions and data types for Amazon Web Services Migration -// Hub Refactor Spaces (Refactor Spaces). The topic for each action shows -// the API request parameters and the response. Alternatively, you can use -// one of the Amazon Web Services SDKs to access an API that is tailored -// to the programming language or platform that you're using. For more information, -// see Amazon Web Services SDKs.

-//

To share Refactor Spaces environments with other Amazon Web Services -// accounts or with Organizations and their OUs, use Resource Access Manager's -// CreateResourceShare API. See CreateResourceShare -// in the Amazon Web Services RAM API Reference.

+// This API reference provides descriptions, syntax, and other details about +// each of the actions and data types for Amazon Web Services Migration Hub +// Refactor Spaces (Refactor Spaces). The topic for each action shows the API +// request parameters and the response. Alternatively, you can use one of the +// Amazon Web Services SDKs to access an API that is tailored to the programming +// language or platform that you're using. For more information, see Amazon +// Web Services SDKs (https://aws.amazon.com/tools/#SDKs). +// +// To share Refactor Spaces environments with other Amazon Web Services accounts +// or with Organizations and their OUs, use Resource Access Manager's CreateResourceShare +// API. See CreateResourceShare (https://docs.aws.amazon.com/ram/latest/APIReference/API_CreateResourceShare.html) +// in the Amazon Web Services RAM API Reference. // // See https://docs.aws.amazon.com/goto/WebAPI/migration-hub-refactor-spaces-2021-10-26 for more information on this service. // diff --git a/service/rds/api.go b/service/rds/api.go index 9003f3b6f7..fb2d5d0e42 100644 --- a/service/rds/api.go +++ b/service/rds/api.go @@ -18088,8 +18088,14 @@ func (s *CopyDBParameterGroupOutput) SetDBParameterGroup(v *DBParameterGroup) *C type CopyDBSnapshotInput struct { _ struct{} `type:"structure"` + // A value that indicates whether to copy the DB option group associated with + // the source DB snapshot to the target Amazon Web Services account and associate + // with the target DB snapshot. The associated option group can be copied only + // with cross-account snapshot copy calls. + CopyOptionGroup *bool `type:"boolean"` + // A value that indicates whether to copy all tags from the source DB snapshot - // to the target DB snapshot. By default, tags are not copied. + // to the target DB snapshot. By default, tags aren't copied. CopyTags *bool `type:"boolean"` // DestinationRegion is used for presigning the request to a given region. @@ -18274,6 +18280,12 @@ func (s *CopyDBSnapshotInput) Validate() error { return nil } +// SetCopyOptionGroup sets the CopyOptionGroup field's value. +func (s *CopyDBSnapshotInput) SetCopyOptionGroup(v bool) *CopyDBSnapshotInput { + s.CopyOptionGroup = &v + return s +} + // SetCopyTags sets the CopyTags field's value. func (s *CopyDBSnapshotInput) SetCopyTags(v bool) *CopyDBSnapshotInput { s.CopyTags = &v @@ -42952,13 +42964,16 @@ type OptionGroup struct { // VPC and non-VPC instances. AllowsVpcAndNonVpcInstanceMemberships *bool `type:"boolean"` + // Indicates when the option group was copied. + CopyTimestamp *time.Time `type:"timestamp"` + // Indicates the name of the engine that this option group can be applied to. EngineName *string `type:"string"` // Indicates the major engine version associated with this option group. MajorEngineVersion *string `type:"string"` - // The Amazon Resource Name (ARN) for the option group. + // Specifies the Amazon Resource Name (ARN) for the option group. OptionGroupArn *string `type:"string"` // Provides a description of the option group. @@ -42970,6 +42985,13 @@ type OptionGroup struct { // Indicates what options are available in the option group. Options []*Option `locationNameList:"Option" type:"list"` + // Specifies the Amazon Web Services account ID for the option group from which + // this option group is copied. + SourceAccountId *string `type:"string"` + + // Specifies the name of the option group from which this option group is copied. + SourceOptionGroup *string `type:"string"` + // If AllowsVpcAndNonVpcInstanceMemberships is false, this field is blank. If // AllowsVpcAndNonVpcInstanceMemberships is true and this field is blank, then // this option group can be applied to both VPC and non-VPC instances. If this @@ -43002,6 +43024,12 @@ func (s *OptionGroup) SetAllowsVpcAndNonVpcInstanceMemberships(v bool) *OptionGr return s } +// SetCopyTimestamp sets the CopyTimestamp field's value. +func (s *OptionGroup) SetCopyTimestamp(v time.Time) *OptionGroup { + s.CopyTimestamp = &v + return s +} + // SetEngineName sets the EngineName field's value. func (s *OptionGroup) SetEngineName(v string) *OptionGroup { s.EngineName = &v @@ -43038,6 +43066,18 @@ func (s *OptionGroup) SetOptions(v []*Option) *OptionGroup { return s } +// SetSourceAccountId sets the SourceAccountId field's value. +func (s *OptionGroup) SetSourceAccountId(v string) *OptionGroup { + s.SourceAccountId = &v + return s +} + +// SetSourceOptionGroup sets the SourceOptionGroup field's value. +func (s *OptionGroup) SetSourceOptionGroup(v string) *OptionGroup { + s.SourceOptionGroup = &v + return s +} + // SetVpcId sets the VpcId field's value. func (s *OptionGroup) SetVpcId(v string) *OptionGroup { s.VpcId = &v @@ -43091,6 +43131,9 @@ func (s *OptionGroupMembership) SetStatus(v string) *OptionGroupMembership { type OptionGroupOption struct { _ struct{} `type:"structure"` + // Specifies whether the option can be copied across Amazon Web Services accounts. + CopyableCrossAccount *bool `type:"boolean"` + // If the option requires a port, specifies the default port for the option. DefaultPort *int64 `type:"integer"` @@ -43167,6 +43210,12 @@ func (s OptionGroupOption) GoString() string { return s.String() } +// SetCopyableCrossAccount sets the CopyableCrossAccount field's value. +func (s *OptionGroupOption) SetCopyableCrossAccount(v bool) *OptionGroupOption { + s.CopyableCrossAccount = &v + return s +} + // SetDefaultPort sets the DefaultPort field's value. func (s *OptionGroupOption) SetDefaultPort(v int64) *OptionGroupOption { s.DefaultPort = &v diff --git a/service/rekognition/api.go b/service/rekognition/api.go index c207590b1a..cd58a6be07 100644 --- a/service/rekognition/api.go +++ b/service/rekognition/api.go @@ -2625,7 +2625,6 @@ func (c *Rekognition) DetectLabelsRequest(input *DetectLabelsInput) (req *reques // - Aliases - Possible Aliases for the label. // // - Categories - The label categories that the detected label belongs to. -// A given label can belong to more than one category. // // - BoundingBox — Bounding boxes are described for all instances of detected // common object labels, returned in an array of Instance objects. An Instance @@ -2642,11 +2641,11 @@ func (c *Rekognition) DetectLabelsRequest(input *DetectLabelsInput) (req *reques // // - Dominant Color - An array of the dominant colors in the image. // -// - Foreground - Information about the Sharpness and Brightness of the input -// image’s foreground. +// - Foreground - Information about the sharpness, brightness, and dominant +// colors of the input image’s foreground. // -// - Background - Information about the Sharpness and Brightness of the input -// image’s background. +// - Background - Information about the sharpness, brightness, and dominant +// colors of the input image’s background. // // The list of returned labels will include at least one label for every detected // object, along with information about that label. In the following example, @@ -4144,6 +4143,7 @@ func (c *Rekognition) GetLabelDetectionRequest(input *GetLabelDetectionInput) (r // which returns a job identifier (JobId). When the label detection operation // finishes, Amazon Rekognition publishes a completion status to the Amazon // Simple Notification Service topic registered in the initial call to StartlabelDetection. +// // To get the results of the label detection operation, first check that the // status value published to the Amazon SNS topic is SUCCEEDED. If so, call // GetLabelDetection and pass the job identifier (JobId) from the initial call @@ -4151,15 +4151,53 @@ func (c *Rekognition) GetLabelDetectionRequest(input *GetLabelDetectionInput) (r // // GetLabelDetection returns an array of detected labels (Labels) sorted by // the time the labels were detected. You can also sort by the label name by -// specifying NAME for the SortBy input parameter. +// specifying NAME for the SortBy input parameter. If there is no NAME specified, +// the default sort is by timestamp. +// +// You can select how results are aggregated by using the AggregateBy input +// parameter. The default aggregation method is TIMESTAMPS. You can also aggregate +// by SEGMENTS, which aggregates all instances of labels detected in a given +// segment. +// +// The returned Labels array may include the following attributes: +// +// - Name - The name of the detected label. +// +// - Confidence - The level of confidence in the label assigned to a detected +// object. +// +// - Parents - The ancestor labels for a detected label. GetLabelDetection +// returns a hierarchical taxonomy of detected labels. For example, a detected +// car might be assigned the label car. The label car has two parent labels: +// Vehicle (its parent) and Transportation (its grandparent). The response +// includes the all ancestors for a label, where every ancestor is a unique +// label. In the previous example, Car, Vehicle, and Transportation are returned +// as unique labels in the response. // -// The labels returned include the label name, the percentage confidence in -// the accuracy of the detected label, and the time the label was detected in -// the video. +// - Aliases - Possible Aliases for the label. +// +// - Categories - The label categories that the detected label belongs to. +// +// - BoundingBox — Bounding boxes are described for all instances of detected +// common object labels, returned in an array of Instance objects. An Instance +// object contains a BoundingBox object, describing the location of the label +// on the input image. It also includes the confidence for the accuracy of +// the detected bounding box. +// +// - Timestamp - Time, in milliseconds from the start of the video, that +// the label was detected. For aggregation by SEGMENTS, the StartTimestampMillis, +// EndTimestampMillis, and DurationMillis structures are what define a segment. +// Although the “Timestamp” structure is still returned with each label, +// its value is set to be the same as StartTimestampMillis. +// +// Timestamp and Bounding box information are returned for detected Instances, +// only if aggregation is done by TIMESTAMPS. If aggregating by SEGMENTS, information +// about detected instances isn’t returned. // -// The returned labels also include bounding box information for common objects, -// a hierarchical taxonomy of detected labels, and the version of the label -// model used for detection. +// The version of the label model used for the detection is also returned. +// +// Note DominantColors isn't returned for Instances, although it is shown as +// part of the response in the sample seen below. // // Use MaxResults parameter to limit the number of labels returned. If there // are more results than specified in MaxResults, the value of NextToken in @@ -7166,6 +7204,18 @@ func (c *Rekognition) StartLabelDetectionRequest(input *StartLabelDetectionInput // GetLabelDetection and pass the job identifier (JobId) from the initial call // to StartLabelDetection. // +// # Optional Parameters +// +// StartLabelDetection has the GENERAL_LABELS Feature applied by default. This +// feature allows you to provide filtering criteria to the Settings parameter. +// You can filter with sets of individual labels or with label categories. You +// can specify inclusive filters, exclusive filters, or a combination of inclusive +// and exclusive filters. For more information on filtering, see Detecting labels +// in a video (https://docs.aws.amazon.com/rekognition/latest/dg/labels-detecting-labels-video.html). +// +// You can specify MinConfidence to control the confidence threshold for the +// labels returned. The default is 50. +// // 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. @@ -14059,7 +14109,7 @@ func (s *Face) SetIndexFacesModelVersion(v string) *Face { // attributes to return, use the FaceAttributes input parameter for StartFaceDetection. // The following Amazon Rekognition Video operations return only the default // attributes. The corresponding Start operations don't have a FaceAttributes -// input parameter. +// input parameter: // // - GetCelebrityRecognition // @@ -15325,6 +15375,10 @@ func (s *GetFaceSearchOutput) SetVideoMetadata(v *VideoMetadata) *GetFaceSearchO type GetLabelDetectionInput struct { _ struct{} `type:"structure"` + // Defines how to aggregate the returned results. Results can be aggregated + // by timestamps or segments. + AggregateBy *string `type:"string" enum:"LabelDetectionAggregateBy"` + // Job identifier for the label detection operation for which you want results // returned. You get the job identifer from an initial call to StartlabelDetection. // @@ -15385,6 +15439,12 @@ func (s *GetLabelDetectionInput) Validate() error { return nil } +// SetAggregateBy sets the AggregateBy field's value. +func (s *GetLabelDetectionInput) SetAggregateBy(v string) *GetLabelDetectionInput { + s.AggregateBy = &v + return s +} + // SetJobId sets the JobId field's value. func (s *GetLabelDetectionInput) SetJobId(v string) *GetLabelDetectionInput { s.JobId = &v @@ -17509,9 +17569,21 @@ func (s *LabelCategory) SetName(v string) *LabelCategory { type LabelDetection struct { _ struct{} `type:"structure"` + // The time duration of a segment in milliseconds, I.e. time elapsed from StartTimestampMillis + // to EndTimestampMillis. + DurationMillis *int64 `type:"long"` + + // The time in milliseconds defining the end of the timeline segment containing + // a continuously detected label. + EndTimestampMillis *int64 `type:"long"` + // Details about the detected label. Label *Label `type:"structure"` + // The time in milliseconds defining the start of the timeline segment containing + // a continuously detected label. + StartTimestampMillis *int64 `type:"long"` + // Time, in milliseconds from the start of the video, that the label was detected. // Note that Timestamp is not guaranteed to be accurate to the individual frame // where the label first appears. @@ -17536,18 +17608,71 @@ func (s LabelDetection) GoString() string { return s.String() } +// SetDurationMillis sets the DurationMillis field's value. +func (s *LabelDetection) SetDurationMillis(v int64) *LabelDetection { + s.DurationMillis = &v + return s +} + +// SetEndTimestampMillis sets the EndTimestampMillis field's value. +func (s *LabelDetection) SetEndTimestampMillis(v int64) *LabelDetection { + s.EndTimestampMillis = &v + return s +} + // SetLabel sets the Label field's value. func (s *LabelDetection) SetLabel(v *Label) *LabelDetection { s.Label = v return s } +// SetStartTimestampMillis sets the StartTimestampMillis field's value. +func (s *LabelDetection) SetStartTimestampMillis(v int64) *LabelDetection { + s.StartTimestampMillis = &v + return s +} + // SetTimestamp sets the Timestamp field's value. func (s *LabelDetection) SetTimestamp(v int64) *LabelDetection { s.Timestamp = &v return s } +// Contains the specified filters that should be applied to a list of returned +// GENERAL_LABELS. +type LabelDetectionSettings struct { + _ struct{} `type:"structure"` + + // Contains filters for the object labels returned by DetectLabels. Filters + // can be inclusive, exclusive, or a combination of both and can be applied + // to individual l abels or entire label categories. + GeneralLabels *GeneralLabelsSettings `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LabelDetectionSettings) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LabelDetectionSettings) GoString() string { + return s.String() +} + +// SetGeneralLabels sets the GeneralLabels field's value. +func (s *LabelDetectionSettings) SetGeneralLabels(v *GeneralLabelsSettings) *LabelDetectionSettings { + s.GeneralLabels = v + return s +} + // Indicates the location of the landmark on the face. type Landmark struct { _ struct{} `type:"structure"` @@ -21656,6 +21781,10 @@ type StartLabelDetectionInput struct { // more than once. ClientRequestToken *string `min:"1" type:"string"` + // The features to return after video analysis. You can specify that GENERAL_LABELS + // are returned. + Features []*string `type:"list" enum:"LabelDetectionFeatureName"` + // An identifier you specify that's returned in the completion notification // that's published to your Amazon Simple Notification Service topic. For example, // you can use JobTag to group related jobs and identify them in the completion @@ -21668,8 +21797,8 @@ type StartLabelDetectionInput struct { // 100 is the highest confidence. Amazon Rekognition Video doesn't return any // labels with a confidence level lower than this specified value. // - // If you don't specify MinConfidence, the operation returns labels with confidence - // values greater than or equal to 50 percent. + // If you don't specify MinConfidence, the operation returns labels and bounding + // boxes (if detected) with confidence values greater than or equal to 50 percent. MinConfidence *float64 `type:"float"` // The Amazon SNS topic ARN you want Amazon Rekognition Video to publish the @@ -21678,6 +21807,11 @@ type StartLabelDetectionInput struct { // the AmazonRekognitionServiceRole permissions policy. NotificationChannel *NotificationChannel `type:"structure"` + // The settings for a StartLabelDetection request.Contains the specified parameters + // for the label detection request of an asynchronous label analysis operation. + // Settings can include filters for GENERAL_LABELS. + Settings *LabelDetectionSettings `type:"structure"` + // The video in which you want to detect labels. The video must be stored in // an Amazon S3 bucket. // @@ -21738,6 +21872,12 @@ func (s *StartLabelDetectionInput) SetClientRequestToken(v string) *StartLabelDe return s } +// SetFeatures sets the Features field's value. +func (s *StartLabelDetectionInput) SetFeatures(v []*string) *StartLabelDetectionInput { + s.Features = v + return s +} + // SetJobTag sets the JobTag field's value. func (s *StartLabelDetectionInput) SetJobTag(v string) *StartLabelDetectionInput { s.JobTag = &v @@ -21756,6 +21896,12 @@ func (s *StartLabelDetectionInput) SetNotificationChannel(v *NotificationChannel return s } +// SetSettings sets the Settings field's value. +func (s *StartLabelDetectionInput) SetSettings(v *LabelDetectionSettings) *StartLabelDetectionInput { + s.Settings = v + return s +} + // SetVideo sets the Video field's value. func (s *StartLabelDetectionInput) SetVideo(v *Video) *StartLabelDetectionInput { s.Video = v @@ -24849,6 +24995,34 @@ func KnownGenderType_Values() []string { } } +const ( + // LabelDetectionAggregateByTimestamps is a LabelDetectionAggregateBy enum value + LabelDetectionAggregateByTimestamps = "TIMESTAMPS" + + // LabelDetectionAggregateBySegments is a LabelDetectionAggregateBy enum value + LabelDetectionAggregateBySegments = "SEGMENTS" +) + +// LabelDetectionAggregateBy_Values returns all elements of the LabelDetectionAggregateBy enum +func LabelDetectionAggregateBy_Values() []string { + return []string{ + LabelDetectionAggregateByTimestamps, + LabelDetectionAggregateBySegments, + } +} + +const ( + // LabelDetectionFeatureNameGeneralLabels is a LabelDetectionFeatureName enum value + LabelDetectionFeatureNameGeneralLabels = "GENERAL_LABELS" +) + +// LabelDetectionFeatureName_Values returns all elements of the LabelDetectionFeatureName enum +func LabelDetectionFeatureName_Values() []string { + return []string{ + LabelDetectionFeatureNameGeneralLabels, + } +} + const ( // LabelDetectionSortByName is a LabelDetectionSortBy enum value LabelDetectionSortByName = "NAME" diff --git a/service/sagemakermetrics/api.go b/service/sagemakermetrics/api.go new file mode 100644 index 0000000000..54b2adb989 --- /dev/null +++ b/service/sagemakermetrics/api.go @@ -0,0 +1,355 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package sagemakermetrics + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" +) + +const opBatchPutMetrics = "BatchPutMetrics" + +// BatchPutMetricsRequest generates a "aws/request.Request" representing the +// client's request for the BatchPutMetrics 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 BatchPutMetrics for more information on using the BatchPutMetrics +// 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 BatchPutMetricsRequest method. +// req, resp := client.BatchPutMetricsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-metrics-2022-09-30/BatchPutMetrics +func (c *SageMakerMetrics) BatchPutMetricsRequest(input *BatchPutMetricsInput) (req *request.Request, output *BatchPutMetricsOutput) { + op := &request.Operation{ + Name: opBatchPutMetrics, + HTTPMethod: "PUT", + HTTPPath: "/BatchPutMetrics", + } + + if input == nil { + input = &BatchPutMetricsInput{} + } + + output = &BatchPutMetricsOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchPutMetrics API operation for Amazon SageMaker Metrics Service. +// +// Used to ingest training metrics into SageMaker which can be visualized in +// SageMaker Studio and retrieved with the GetMetrics API. +// +// 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 SageMaker Metrics Service's +// API operation BatchPutMetrics for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-metrics-2022-09-30/BatchPutMetrics +func (c *SageMakerMetrics) BatchPutMetrics(input *BatchPutMetricsInput) (*BatchPutMetricsOutput, error) { + req, out := c.BatchPutMetricsRequest(input) + return out, req.Send() +} + +// BatchPutMetricsWithContext is the same as BatchPutMetrics with the addition of +// the ability to pass a context and additional request options. +// +// See BatchPutMetrics 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 *SageMakerMetrics) BatchPutMetricsWithContext(ctx aws.Context, input *BatchPutMetricsInput, opts ...request.Option) (*BatchPutMetricsOutput, error) { + req, out := c.BatchPutMetricsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// An error that occured when putting the metric data. +type BatchPutMetricsError struct { + _ struct{} `type:"structure"` + + // The error code of an error that occured when attempting to put metrics. + // + // * METRIC_LIMIT_EXCEEDED - The max amount of metrics per resource has been + // exceeded. + // + // * INTERNAL_ERROR - An internal error occured. + // + // * VALIDATION_ERROR - The metric data failed validation. + // + // * CONFLICT_ERROR - Multiple requests attempted to modify the same data + // simultaneously. + Code *string `type:"string" enum:"PutMetricsErrorCode"` + + // An index that corresponds to the metric in the request. + MetricIndex *int64 `type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchPutMetricsError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchPutMetricsError) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *BatchPutMetricsError) SetCode(v string) *BatchPutMetricsError { + s.Code = &v + return s +} + +// SetMetricIndex sets the MetricIndex field's value. +func (s *BatchPutMetricsError) SetMetricIndex(v int64) *BatchPutMetricsError { + s.MetricIndex = &v + return s +} + +type BatchPutMetricsInput struct { + _ struct{} `type:"structure"` + + // A list of raw metric values to put. + // + // MetricData is a required field + MetricData []*RawMetricData `min:"1" type:"list" required:"true"` + + // The name of Trial Component to associate the metrics with. + // + // TrialComponentName is a required field + TrialComponentName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchPutMetricsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchPutMetricsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchPutMetricsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchPutMetricsInput"} + if s.MetricData == nil { + invalidParams.Add(request.NewErrParamRequired("MetricData")) + } + if s.MetricData != nil && len(s.MetricData) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MetricData", 1)) + } + if s.TrialComponentName == nil { + invalidParams.Add(request.NewErrParamRequired("TrialComponentName")) + } + if s.TrialComponentName != nil && len(*s.TrialComponentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TrialComponentName", 1)) + } + if s.MetricData != nil { + for i, v := range s.MetricData { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MetricData", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMetricData sets the MetricData field's value. +func (s *BatchPutMetricsInput) SetMetricData(v []*RawMetricData) *BatchPutMetricsInput { + s.MetricData = v + return s +} + +// SetTrialComponentName sets the TrialComponentName field's value. +func (s *BatchPutMetricsInput) SetTrialComponentName(v string) *BatchPutMetricsInput { + s.TrialComponentName = &v + return s +} + +type BatchPutMetricsOutput struct { + _ struct{} `type:"structure"` + + // Any errors that occur when inserting metric data will appear in this. + Errors []*BatchPutMetricsError `min:"1" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchPutMetricsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchPutMetricsOutput) GoString() string { + return s.String() +} + +// SetErrors sets the Errors field's value. +func (s *BatchPutMetricsOutput) SetErrors(v []*BatchPutMetricsError) *BatchPutMetricsOutput { + s.Errors = v + return s +} + +// The raw metric data to associate with the resource. +type RawMetricData struct { + _ struct{} `type:"structure"` + + // The name of the metric. + // + // MetricName is a required field + MetricName *string `min:"1" type:"string" required:"true"` + + // Metric step (aka Epoch). + Step *int64 `type:"integer"` + + // The time when the metric was recorded. + // + // Timestamp is a required field + Timestamp *time.Time `type:"timestamp" required:"true"` + + // The metric value. + // + // Value is a required field + Value *float64 `type:"double" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RawMetricData) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RawMetricData) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RawMetricData) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RawMetricData"} + if s.MetricName == nil { + invalidParams.Add(request.NewErrParamRequired("MetricName")) + } + if s.MetricName != nil && len(*s.MetricName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MetricName", 1)) + } + if s.Timestamp == nil { + invalidParams.Add(request.NewErrParamRequired("Timestamp")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMetricName sets the MetricName field's value. +func (s *RawMetricData) SetMetricName(v string) *RawMetricData { + s.MetricName = &v + return s +} + +// SetStep sets the Step field's value. +func (s *RawMetricData) SetStep(v int64) *RawMetricData { + s.Step = &v + return s +} + +// SetTimestamp sets the Timestamp field's value. +func (s *RawMetricData) SetTimestamp(v time.Time) *RawMetricData { + s.Timestamp = &v + return s +} + +// SetValue sets the Value field's value. +func (s *RawMetricData) SetValue(v float64) *RawMetricData { + s.Value = &v + return s +} + +const ( + // PutMetricsErrorCodeMetricLimitExceeded is a PutMetricsErrorCode enum value + PutMetricsErrorCodeMetricLimitExceeded = "METRIC_LIMIT_EXCEEDED" + + // PutMetricsErrorCodeInternalError is a PutMetricsErrorCode enum value + PutMetricsErrorCodeInternalError = "INTERNAL_ERROR" + + // PutMetricsErrorCodeValidationError is a PutMetricsErrorCode enum value + PutMetricsErrorCodeValidationError = "VALIDATION_ERROR" + + // PutMetricsErrorCodeConflictError is a PutMetricsErrorCode enum value + PutMetricsErrorCodeConflictError = "CONFLICT_ERROR" +) + +// PutMetricsErrorCode_Values returns all elements of the PutMetricsErrorCode enum +func PutMetricsErrorCode_Values() []string { + return []string{ + PutMetricsErrorCodeMetricLimitExceeded, + PutMetricsErrorCodeInternalError, + PutMetricsErrorCodeValidationError, + PutMetricsErrorCodeConflictError, + } +} diff --git a/service/sagemakermetrics/doc.go b/service/sagemakermetrics/doc.go new file mode 100644 index 0000000000..fcd2a763a0 --- /dev/null +++ b/service/sagemakermetrics/doc.go @@ -0,0 +1,32 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package sagemakermetrics provides the client and types for making API +// requests to Amazon SageMaker Metrics Service. +// +// Contains all data plane API operations and data types for Amazon SageMaker +// Metrics. Use these APIs to put and retrieve (get) features related to your +// training run. +// +// - BatchPutMetrics (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_metrics_BatchPutMetrics.html) +// +// See https://docs.aws.amazon.com/goto/WebAPI/sagemaker-metrics-2022-09-30 for more information on this service. +// +// See sagemakermetrics package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/sagemakermetrics/ +// +// # Using the Client +// +// To contact Amazon SageMaker Metrics Service with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the Amazon SageMaker Metrics Service client SageMakerMetrics for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/sagemakermetrics/#New +package sagemakermetrics diff --git a/service/sagemakermetrics/errors.go b/service/sagemakermetrics/errors.go new file mode 100644 index 0000000000..510a5a6ea9 --- /dev/null +++ b/service/sagemakermetrics/errors.go @@ -0,0 +1,9 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package sagemakermetrics + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{} diff --git a/service/sagemakermetrics/sagemakermetricsiface/interface.go b/service/sagemakermetrics/sagemakermetricsiface/interface.go new file mode 100644 index 0000000000..3f2c62ec9e --- /dev/null +++ b/service/sagemakermetrics/sagemakermetricsiface/interface.go @@ -0,0 +1,68 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package sagemakermetricsiface provides an interface to enable mocking the Amazon SageMaker Metrics Service service client +// for testing your code. +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. +package sagemakermetricsiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/sagemakermetrics" +) + +// SageMakerMetricsAPI provides an interface to enable mocking the +// sagemakermetrics.SageMakerMetrics service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // Amazon SageMaker Metrics Service. +// func myFunc(svc sagemakermetricsiface.SageMakerMetricsAPI) bool { +// // Make svc.BatchPutMetrics request +// } +// +// func main() { +// sess := session.New() +// svc := sagemakermetrics.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockSageMakerMetricsClient struct { +// sagemakermetricsiface.SageMakerMetricsAPI +// } +// func (m *mockSageMakerMetricsClient) BatchPutMetrics(input *sagemakermetrics.BatchPutMetricsInput) (*sagemakermetrics.BatchPutMetricsOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockSageMakerMetricsClient{} +// +// myfunc(mockSvc) +// +// // Verify myFunc's functionality +// } +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. Its suggested to use the pattern above for testing, or using +// tooling to generate mocks to satisfy the interfaces. +type SageMakerMetricsAPI interface { + BatchPutMetrics(*sagemakermetrics.BatchPutMetricsInput) (*sagemakermetrics.BatchPutMetricsOutput, error) + BatchPutMetricsWithContext(aws.Context, *sagemakermetrics.BatchPutMetricsInput, ...request.Option) (*sagemakermetrics.BatchPutMetricsOutput, error) + BatchPutMetricsRequest(*sagemakermetrics.BatchPutMetricsInput) (*request.Request, *sagemakermetrics.BatchPutMetricsOutput) +} + +var _ SageMakerMetricsAPI = (*sagemakermetrics.SageMakerMetrics)(nil) diff --git a/service/sagemakermetrics/service.go b/service/sagemakermetrics/service.go new file mode 100644 index 0000000000..be278e1b07 --- /dev/null +++ b/service/sagemakermetrics/service.go @@ -0,0 +1,103 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package sagemakermetrics + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +// SageMakerMetrics provides the API operation methods for making requests to +// Amazon SageMaker Metrics Service. See this package's package overview docs +// for details on the service. +// +// SageMakerMetrics methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type SageMakerMetrics struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "SageMaker Metrics" // Name of service. + EndpointsID = "metrics.sagemaker" // ID to lookup a service endpoint with. + ServiceID = "SageMaker Metrics" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the SageMakerMetrics client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// +// mySession := session.Must(session.NewSession()) +// +// // Create a SageMakerMetrics client from just a session. +// svc := sagemakermetrics.New(mySession) +// +// // Create a SageMakerMetrics client with additional configuration +// svc := sagemakermetrics.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *SageMakerMetrics { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "sagemaker" + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName, c.ResolvedRegion) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName, resolvedRegion string) *SageMakerMetrics { + svc := &SageMakerMetrics{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2022-09-30", + ResolvedRegion: resolvedRegion, + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed(restjson.UnmarshalErrorHandler) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a SageMakerMetrics operation and runs any +// custom request initialization. +func (c *SageMakerMetrics) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +} diff --git a/service/wafv2/api.go b/service/wafv2/api.go index 623a2edc4c..1b5f397b52 100644 --- a/service/wafv2/api.go +++ b/service/wafv2/api.go @@ -4380,9 +4380,14 @@ func (c *WAFV2) PutLoggingConfigurationRequest(input *PutLoggingConfigurationInp // // Create your logging destination. You can use an Amazon CloudWatch Logs log // group, an Amazon Simple Storage Service (Amazon S3) bucket, or an Amazon -// Kinesis Data Firehose. For information about configuring logging destinations -// and the permissions that are required for each, see Logging web ACL traffic -// information (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) +// Kinesis Data Firehose. +// +// The name that you give the destination must start with aws-waf-logs-. Depending +// on the type of destination, you might need to configure additional settings +// or permissions. +// +// For configuration requirements and pricing information for each destination +// type, see Logging web ACL traffic (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) // in the WAF Developer Guide. // // Associate your logging destination to your web ACL using a PutLoggingConfiguration @@ -7854,6 +7859,9 @@ type CreateWebACLInput struct { // token domain list, including their prefixed subdomains. // // Example JSON: "TokenDomains": { "mywebsite.com", "myotherwebsite.com" } + // + // Public suffixes aren't allowed. For example, you can't use usa.gov or co.uk + // as token domains. TokenDomains []*string `min:"1" type:"list"` // Defines and enables Amazon CloudWatch metrics and web request sample collection. @@ -14417,9 +14425,14 @@ func (s *ListWebACLsOutput) SetWebACLs(v []*WebACLSummary) *ListWebACLsOutput { // // Create your logging destination. You can use an Amazon CloudWatch Logs log // group, an Amazon Simple Storage Service (Amazon S3) bucket, or an Amazon -// Kinesis Data Firehose. For information about configuring logging destinations -// and the permissions that are required for each, see Logging web ACL traffic -// information (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) +// Kinesis Data Firehose. +// +// The name that you give the destination must start with aws-waf-logs-. Depending +// on the type of destination, you might need to configure additional settings +// or permissions. +// +// For configuration requirements and pricing information for each destination +// type, see Logging web ACL traffic (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) // in the WAF Developer Guide. // // Associate your logging destination to your web ACL using a PutLoggingConfiguration @@ -15747,9 +15760,14 @@ type PutLoggingConfigurationInput struct { // // Create your logging destination. You can use an Amazon CloudWatch Logs log // group, an Amazon Simple Storage Service (Amazon S3) bucket, or an Amazon - // Kinesis Data Firehose. For information about configuring logging destinations - // and the permissions that are required for each, see Logging web ACL traffic - // information (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) + // Kinesis Data Firehose. + // + // The name that you give the destination must start with aws-waf-logs-. Depending + // on the type of destination, you might need to configure additional settings + // or permissions. + // + // For configuration requirements and pricing information for each destination + // type, see Logging web ACL traffic (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) // in the WAF Developer Guide. // // Associate your logging destination to your web ACL using a PutLoggingConfiguration @@ -15827,9 +15845,14 @@ type PutLoggingConfigurationOutput struct { // // Create your logging destination. You can use an Amazon CloudWatch Logs log // group, an Amazon Simple Storage Service (Amazon S3) bucket, or an Amazon - // Kinesis Data Firehose. For information about configuring logging destinations - // and the permissions that are required for each, see Logging web ACL traffic - // information (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) + // Kinesis Data Firehose. + // + // The name that you give the destination must start with aws-waf-logs-. Depending + // on the type of destination, you might need to configure additional settings + // or permissions. + // + // For configuration requirements and pricing information for each destination + // type, see Logging web ACL traffic (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) // in the WAF Developer Guide. // // Associate your logging destination to your web ACL using a PutLoggingConfiguration @@ -20037,6 +20060,9 @@ type UpdateWebACLInput struct { // token domain list, including their prefixed subdomains. // // Example JSON: "TokenDomains": { "mywebsite.com", "myotherwebsite.com" } + // + // Public suffixes aren't allowed. For example, you can't use usa.gov or co.uk + // as token domains. TokenDomains []*string `min:"1" type:"list"` // Defines and enables Amazon CloudWatch metrics and web request sample collection.