diff --git a/apis/ce/2017-10-25/api-2.json b/apis/ce/2017-10-25/api-2.json index f016100347c..a346fddea19 100644 --- a/apis/ce/2017-10-25/api-2.json +++ b/apis/ce/2017-10-25/api-2.json @@ -690,7 +690,9 @@ "members":{ "TagKey":{"shape":"TagKey"}, "Type":{"shape":"CostAllocationTagType"}, - "Status":{"shape":"CostAllocationTagStatus"} + "Status":{"shape":"CostAllocationTagStatus"}, + "LastUpdatedDate":{"shape":"ZonedDateTime"}, + "LastUsedDate":{"shape":"ZonedDateTime"} } }, "CostAllocationTagKeyList":{ diff --git a/apis/ce/2017-10-25/docs-2.json b/apis/ce/2017-10-25/docs-2.json index 7a23eb965ea..c4fa7dc109e 100644 --- a/apis/ce/2017-10-25/docs-2.json +++ b/apis/ce/2017-10-25/docs-2.json @@ -21,7 +21,7 @@ "GetReservationPurchaseRecommendation": "

Gets recommendations for reservation purchases. These recommendations might help you to reduce your costs. Reservations provide a discounted hourly rate (up to 75%) compared to On-Demand pricing.

Amazon Web Services generates your recommendations by identifying your On-Demand usage during a specific time period and collecting your usage into categories that are eligible for a reservation. After Amazon Web Services has these categories, it simulates every combination of reservations in each category of usage to identify the best number of each type of Reserved Instance (RI) to purchase to maximize your estimated savings.

For example, Amazon Web Services automatically aggregates your Amazon EC2 Linux, shared tenancy, and c4 family usage in the US West (Oregon) Region and recommends that you buy size-flexible regional reservations to apply to the c4 family usage. Amazon Web Services recommends the smallest size instance in an instance family. This makes it easier to purchase a size-flexible Reserved Instance (RI). Amazon Web Services also shows the equal number of normalized units. This way, you can purchase any instance size that you want. For this example, your RI recommendation is for c4.large because that is the smallest size instance in the c4 instance family.

", "GetReservationUtilization": "

Retrieves the reservation utilization for your account. Management account in an organization have access to member accounts. You can filter data by dimensions in a time period. You can use GetDimensionValues to determine the possible dimension values. Currently, you can group only by SUBSCRIPTION_ID.

", "GetRightsizingRecommendation": "

Creates recommendations that help you save cost by identifying idle and underutilized Amazon EC2 instances.

Recommendations are generated to either downsize or terminate instances, along with providing savings detail and metrics. For more information about calculation and function, see Optimizing Your Cost with Rightsizing Recommendations in the Billing and Cost Management User Guide.

", - "GetSavingsPlanPurchaseRecommendationDetails": "

Retrieves the details for a Savings Plan recommendation. These details include the hourly data-points that construct the new cost, coverage, and utilization charts.

", + "GetSavingsPlanPurchaseRecommendationDetails": "

Retrieves the details for a Savings Plan recommendation. These details include the hourly data-points that construct the cost, coverage, and utilization charts.

", "GetSavingsPlansCoverage": "

Retrieves the Savings Plans covered for your account. This enables you to see how much of your cost is covered by a Savings Plan. An organization’s management account can see the coverage of the associated member accounts. This supports dimensions, Cost Categories, and nested expressions. For any time period, you can filter data for Savings Plans usage with the following dimensions:

To determine valid values for a dimension, use the GetDimensionValues operation.

", "GetSavingsPlansPurchaseRecommendation": "

Retrieves the Savings Plans recommendations for your account. First use StartSavingsPlansPurchaseRecommendationGeneration to generate a new set of recommendations, and then use GetSavingsPlansPurchaseRecommendation to retrieve them.

", "GetSavingsPlansUtilization": "

Retrieves the Savings Plans utilization for your account across date ranges with daily or monthly granularity. Management account in an organization have access to member accounts. You can use GetDimensionValues in SAVINGS_PLANS to determine the possible dimension values.

You can't group by any dimension values for GetSavingsPlansUtilization.

", @@ -2370,6 +2370,8 @@ "ZonedDateTime": { "base": "

The period of time that you want the usage and costs for.

", "refs": { + "CostAllocationTag$LastUpdatedDate": "

The last date that the tag was either activated or deactivated.

", + "CostAllocationTag$LastUsedDate": "

The last month that the tag was used on an Amazon Web Services resource.

", "CostCategory$EffectiveStart": "

The effective start date of your Cost Category.

", "CostCategory$EffectiveEnd": "

The effective end date of your Cost Category.

", "CostCategoryReference$EffectiveStart": "

The Cost Category's effective start date.

", diff --git a/apis/ce/2017-10-25/endpoint-rule-set-1.json b/apis/ce/2017-10-25/endpoint-rule-set-1.json index e4c99e99633..0a970cbf0e7 100644 --- a/apis/ce/2017-10-25/endpoint-rule-set-1.json +++ b/apis/ce/2017-10-25/endpoint-rule-set-1.json @@ -58,52 +58,56 @@ "type": "error" }, { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" + "ref": "UseDualStack" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + true + ] } - ] + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] }, { - "conditions": [], + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], "type": "tree", "rules": [ { "conditions": [ { - "fn": "isSet", + "fn": "aws.partition", "argv": [ { "ref": "Region" } - ] + ], + "assign": "PartitionResult" } ], "type": "tree", @@ -111,342 +115,302 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "stringEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] + "ref": "PartitionResult" }, - "aws" + "name" ] }, + "aws" + ] + }, + { + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] + "ref": "UseFIPS" }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - } - ], - "endpoint": { - "url": "https://ce.us-east-1.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "ce", - "signingRegion": "us-east-1" - } - ] + "ref": "UseDualStack" }, - "headers": {} - }, - "type": "endpoint" + false + ] + } + ], + "endpoint": { + "url": "https://ce.us-east-1.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "ce", + "signingRegion": "us-east-1" + } + ] }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ { - "conditions": [ + "fn": "stringEquals", + "argv": [ { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] + "ref": "PartitionResult" }, - "aws-cn" + "name" ] }, + "aws-cn" + ] + }, + { + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] + "ref": "UseFIPS" }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] + "ref": "UseDualStack" + }, + false + ] + } + ], + "endpoint": { + "url": "https://ce.cn-northwest-1.amazonaws.com.cn", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "ce", + "signingRegion": "cn-northwest-1" } - ], - "endpoint": { - "url": "https://ce.cn-northwest-1.amazonaws.com.cn", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "ce", - "signingRegion": "cn-northwest-1" - } - ] + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" }, - "headers": {} - }, - "type": "endpoint" + true + ] }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] }, { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://ce-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, + } + ], + "type": "tree", + "rules": [ { "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" + "endpoint": { + "url": "https://ce-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, { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://ce-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsFIPS" ] } ] - }, + } + ], + "type": "tree", + "rules": [ { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://ce-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, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://ce.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } - ] - }, - { - "conditions": [], + ], "type": "tree", "rules": [ { "conditions": [], "endpoint": { - "url": "https://ce.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://ce.{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://ce.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/apis/globalaccelerator/2018-08-08/docs-2.json b/apis/globalaccelerator/2018-08-08/docs-2.json index b328a318a04..4e6088788bb 100644 --- a/apis/globalaccelerator/2018-08-08/docs-2.json +++ b/apis/globalaccelerator/2018-08-08/docs-2.json @@ -670,8 +670,8 @@ "CustomRoutingAccelerator$Enabled": "

Indicates whether the accelerator is enabled. The value is true or false. The default value is true.

If the value is set to true, the accelerator cannot be deleted. If set to false, accelerator can be deleted.

", "CustomRoutingAcceleratorAttributes$FlowLogsEnabled": "

Indicates whether flow logs are enabled. The default value is false. If the value is true, FlowLogsS3Bucket and FlowLogsS3Prefix must be specified.

For more information, see Flow logs in the Global Accelerator Developer Guide.

", "DenyCustomRoutingTrafficRequest$DenyAllTrafficToEndpoint": "

Indicates whether all destination IP addresses and ports for a specified VPC subnet endpoint cannot receive traffic from a custom routing accelerator. The value is TRUE or FALSE.

When set to TRUE, no destinations in the custom routing VPC subnet can receive traffic. Note that you cannot specify destination IP addresses and ports when the value is set to TRUE.

When set to FALSE (or not specified), you must specify a list of destination IP addresses that cannot receive traffic. A list of ports is optional. If you don't specify a list of ports, the ports that can accept traffic is the same as the ports configured for the endpoint group.

The default value is FALSE.

", - "EndpointConfiguration$ClientIPPreservationEnabled": "

Indicates whether client IP address preservation is enabled for an endpoint. The value is true or false. The default value is true for new accelerators.

If the value is set to true, the client's IP address is preserved in the X-Forwarded-For request header as traffic travels to applications on the endpoint fronted by the accelerator.

Client IP address preservation is supported, in specific Amazon Web Services Regions, for endpoints that are Application Load Balancers and Amazon EC2 instances.

For more information, see Preserve client IP addresses in Global Accelerator in the Global Accelerator Developer Guide.

", - "EndpointDescription$ClientIPPreservationEnabled": "

Indicates whether client IP address preservation is enabled for an endpoint. The value is true or false. The default value is true for new accelerators.

If the value is set to true, the client's IP address is preserved in the X-Forwarded-For request header as traffic travels to applications on the endpoint fronted by the accelerator.

Client IP address preservation is supported, in specific Amazon Web Services Regions, for endpoints that are Application Load Balancers and Amazon EC2 instances.

For more information, see Preserve client IP addresses in Global Accelerator in the Global Accelerator Developer Guide.

", + "EndpointConfiguration$ClientIPPreservationEnabled": "

Indicates whether client IP address preservation is enabled for an endpoint. The value is true or false. The default value is true for new accelerators.

If the value is set to true, the client's IP address is preserved in the X-Forwarded-For request header as traffic travels to applications on the endpoint fronted by the accelerator.

Client IP address preservation is supported, in specific Amazon Web Services Regions, for endpoints that are Application Load Balancers, Amazon EC2 instances, and Network Load Balancers with Security Groups. IMPORTANT: You cannot use client IP address preservation with Network Load Balancers with TLS listeners.

For more information, see Preserve client IP addresses in Global Accelerator in the Global Accelerator Developer Guide.

", + "EndpointDescription$ClientIPPreservationEnabled": "

Indicates whether client IP address preservation is enabled for an endpoint. The value is true or false. The default value is true for new accelerators.

If the value is set to true, the client's IP address is preserved in the X-Forwarded-For request header as traffic travels to applications on the endpoint fronted by the accelerator.

Client IP address preservation is supported, in specific Amazon Web Services Regions, for endpoints that are Application Load Balancers, Amazon EC2 instances, and Network Load Balancers with Security Groups. IMPORTANT: You cannot use client IP address preservation with Network Load Balancers with TLS listeners.

For more information, see Preserve client IP addresses in Global Accelerator in the Global Accelerator Developer Guide.

", "EndpointIdentifier$ClientIPPreservationEnabled": "

Indicates whether client IP address preservation is enabled for an endpoint. The value is true or false.

If the value is set to true, the client's IP address is preserved in the X-Forwarded-For request header as traffic travels to applications on the endpoint fronted by the accelerator.

", "UpdateAcceleratorAttributesRequest$FlowLogsEnabled": "

Update whether flow logs are enabled. The default value is false. If the value is true, FlowLogsS3Bucket and FlowLogsS3Prefix must be specified.

For more information, see Flow Logs in the Global Accelerator Developer Guide.

", "UpdateAcceleratorRequest$Enabled": "

Indicates whether an accelerator is enabled. The value is true or false. The default value is true.

If the value is set to true, the accelerator cannot be deleted. If set to false, the accelerator can be deleted.

", diff --git a/apis/rds/2014-10-31/api-2.json b/apis/rds/2014-10-31/api-2.json index ffe21eac8da..50447dd44d2 100644 --- a/apis/rds/2014-10-31/api-2.json +++ b/apis/rds/2014-10-31/api-2.json @@ -3167,7 +3167,9 @@ "KMSKeyId":{"shape":"KmsKeyIdOrArn"}, "Description":{"shape":"Description"}, "Manifest":{"shape":"CustomDBEngineVersionManifest"}, - "Tags":{"shape":"TagList"} + "Tags":{"shape":"TagList"}, + "SourceCustomDbEngineVersionIdentifier":{"shape":"String255"}, + "UseAwsProvidedLatestImage":{"shape":"BooleanOptional"} } }, "CreateDBClusterEndpointMessage":{ diff --git a/apis/rds/2014-10-31/docs-2.json b/apis/rds/2014-10-31/docs-2.json index 33a7c641eea..92d5c1e2a9f 100644 --- a/apis/rds/2014-10-31/docs-2.json +++ b/apis/rds/2014-10-31/docs-2.json @@ -526,6 +526,7 @@ "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 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.

", + "CreateCustomDBEngineVersionMessage$UseAwsProvidedLatestImage": "

Reserved for future use.

", "CreateDBClusterMessage$StorageEncrypted": "

Specifies whether the DB cluster is encrypted.

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

", "CreateDBClusterMessage$EnableIAMDatabaseAuthentication": "

Specifies 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 Cluster Type: Aurora DB clusters only

", "CreateDBClusterMessage$DeletionProtection": "

Specifies 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 Cluster Type: Aurora DB clusters and Multi-AZ DB clusters

", @@ -5007,7 +5008,8 @@ "base": null, "refs": { "CreateCustomDBEngineVersionMessage$DatabaseInstallationFilesS3Prefix": "

The Amazon S3 directory that contains the database installation files for your CEV. For example, a valid bucket name is 123456789012/cev1. If this setting isn't specified, no prefix is assumed.

", - "CreateCustomDBEngineVersionMessage$ImageId": "

The ID of the Amazon Machine Image (AMI). For RDS Custom for SQL Server, an AMI ID is required to create a CEV. For RDS Custom for Oracle, the default is the most recent AMI available, but you can specify an AMI ID that was used in a different Oracle CEV. Find the AMIs used by your CEVs by calling the DescribeDBEngineVersions operation.

" + "CreateCustomDBEngineVersionMessage$ImageId": "

The ID of the Amazon Machine Image (AMI). For RDS Custom for SQL Server, an AMI ID is required to create a CEV. For RDS Custom for Oracle, the default is the most recent AMI available, but you can specify an AMI ID that was used in a different Oracle CEV. Find the AMIs used by your CEVs by calling the DescribeDBEngineVersions operation.

", + "CreateCustomDBEngineVersionMessage$SourceCustomDbEngineVersionIdentifier": "

Reserved for future use.

" } }, "StringList": { diff --git a/apis/verifiedpermissions/2021-12-01/api-2.json b/apis/verifiedpermissions/2021-12-01/api-2.json index ab49db3fdf8..3441b67a476 100644 --- a/apis/verifiedpermissions/2021-12-01/api-2.json +++ b/apis/verifiedpermissions/2021-12-01/api-2.json @@ -435,7 +435,8 @@ "type":"string", "max":200, "min":1, - "pattern":".*" + "pattern":".*", + "sensitive":true }, "ActionIdentifier":{ "type":"structure", @@ -452,7 +453,8 @@ "type":"string", "max":200, "min":1, - "pattern":"Action$|^.+::Action" + "pattern":"Action$|^.+::Action", + "sensitive":true }, "AttributeValue":{ "type":"structure", @@ -472,13 +474,15 @@ }, "BooleanAttribute":{ "type":"boolean", - "box":true + "box":true, + "sensitive":true }, "ClientId":{ "type":"string", "max":255, "min":1, - "pattern":".*" + "pattern":".*", + "sensitive":true }, "ClientIds":{ "type":"list", @@ -523,8 +527,7 @@ "ContextMap":{ "type":"map", "key":{"shape":"String"}, - "value":{"shape":"AttributeValue"}, - "min":0 + "value":{"shape":"AttributeValue"} }, "CreateIdentitySourceInput":{ "type":"structure", @@ -742,14 +745,14 @@ "EntityAttributes":{ "type":"map", "key":{"shape":"String"}, - "value":{"shape":"AttributeValue"}, - "min":0 + "value":{"shape":"AttributeValue"} }, "EntityId":{ "type":"string", "max":200, "min":1, - "pattern":".*" + "pattern":".*", + "sensitive":true }, "EntityIdentifier":{ "type":"structure", @@ -773,8 +776,7 @@ }, "EntityList":{ "type":"list", - "member":{"shape":"EntityItem"}, - "min":0 + "member":{"shape":"EntityItem"} }, "EntityReference":{ "type":"structure", @@ -788,14 +790,16 @@ "type":"string", "max":200, "min":1, - "pattern":".*" + "pattern":".*", + "sensitive":true }, "EvaluationErrorItem":{ "type":"structure", "required":["errorDescription"], "members":{ "errorDescription":{"shape":"String"} - } + }, + "sensitive":true }, "EvaluationErrorList":{ "type":"list", @@ -1140,19 +1144,21 @@ }, "LongAttribute":{ "type":"long", - "box":true + "box":true, + "sensitive":true }, "MaxResults":{ "type":"integer", "box":true, - "max":20, + "max":50, "min":1 }, "Namespace":{ "type":"string", "max":100, "min":1, - "pattern":".*" + "pattern":".*", + "sensitive":true }, "NamespaceList":{ "type":"list", @@ -1241,7 +1247,8 @@ "PolicyStatement":{ "type":"string", "max":10000, - "min":1 + "min":1, + "sensitive":true }, "PolicyStoreId":{ "type":"string", @@ -1269,7 +1276,8 @@ "PolicyTemplateDescription":{ "type":"string", "max":150, - "min":0 + "min":0, + "sensitive":true }, "PolicyTemplateId":{ "type":"string", @@ -1308,7 +1316,8 @@ "type":"string", "max":200, "min":1, - "pattern":".*" + "pattern":".*", + "sensitive":true }, "PutSchemaInput":{ "type":"structure", @@ -1396,7 +1405,8 @@ "SchemaJson":{ "type":"string", "max":10000, - "min":1 + "min":1, + "sensitive":true }, "ServiceQuotaExceededException":{ "type":"structure", @@ -1442,10 +1452,14 @@ "StaticPolicyDescription":{ "type":"string", "max":150, - "min":0 + "min":0, + "sensitive":true }, "String":{"type":"string"}, - "StringAttribute":{"type":"string"}, + "StringAttribute":{ + "type":"string", + "sensitive":true + }, "TemplateLinkedPolicyDefinition":{ "type":"structure", "required":["policyTemplateId"], @@ -1492,7 +1506,8 @@ "type":"string", "max":131072, "min":1, - "pattern":"[A-Za-z0-9-_=]+.[A-Za-z0-9-_=]+.[A-Za-z0-9-_=]+" + "pattern":"[A-Za-z0-9-_=]+.[A-Za-z0-9-_=]+.[A-Za-z0-9-_=]+", + "sensitive":true }, "UpdateCognitoUserPoolConfiguration":{ "type":"structure", diff --git a/apis/verifiedpermissions/2021-12-01/docs-2.json b/apis/verifiedpermissions/2021-12-01/docs-2.json index 37a95cb860b..409caabdb52 100644 --- a/apis/verifiedpermissions/2021-12-01/docs-2.json +++ b/apis/verifiedpermissions/2021-12-01/docs-2.json @@ -16,14 +16,14 @@ "GetPolicyTemplate": "

Retrieve the details for the specified policy template in the specified policy store.

", "GetSchema": "

Retrieve the details for the specified schema in the specified policy store.

", "IsAuthorized": "

Makes an authorization decision about a service request described in the parameters. The information in the parameters can also define additional context that Verified Permissions can include in the evaluation. The request is evaluated against all matching policies in the specified policy store. The result of the decision is either Allow or Deny, along with a list of the policies that resulted in the decision.

", - "IsAuthorizedWithToken": "

Makes an authorization decision about a service request described in the parameters. The principal in this request comes from an external identity source. The information in the parameters can also define additional context that Verified Permissions can include in the evaluation. The request is evaluated against all matching policies in the specified policy store. The result of the decision is either Allow or Deny, along with a list of the policies that resulted in the decision.

If you delete a Amazon Cognito user pool or user, tokens from that deleted pool or that deleted user continue to be usable until they expire.

", + "IsAuthorizedWithToken": "

Makes an authorization decision about a service request described in the parameters. The principal in this request comes from an external identity source in the form of an identity token formatted as a JSON web token (JWT). The information in the parameters can also define additional context that Verified Permissions can include in the evaluation. The request is evaluated against all matching policies in the specified policy store. The result of the decision is either Allow or Deny, along with a list of the policies that resulted in the decision.

If you specify the identityToken parameter, then this operation derives the principal from that token. You must not also include that principal in the entities parameter or the operation fails and reports a conflict between the two entity sources.

If you provide only an accessToken, then you can include the entity as part of the entities parameter to provide additional attributes.

At this time, Verified Permissions accepts tokens from only Amazon Cognito.

Verified Permissions validates each token that is specified in a request by checking its expiration date and its signature.

If you delete a Amazon Cognito user pool or user, tokens from that deleted pool or that deleted user continue to be usable until they expire.

", "ListIdentitySources": "

Returns a paginated list of all of the identity sources defined in the specified policy store.

", "ListPolicies": "

Returns a paginated list of all policies stored in the specified policy store.

", "ListPolicyStores": "

Returns a paginated list of all policy stores in the calling Amazon Web Services account.

", "ListPolicyTemplates": "

Returns a paginated list of all policy templates in the specified policy store.

", "PutSchema": "

Creates or updates the policy schema in the specified policy store. The schema is used to validate any Cedar policies and policy templates submitted to the policy store. Any changes to the schema validate only policies and templates submitted after the schema change. Existing policies and templates are not re-evaluated against the changed schema. If you later update a policy, then it is evaluated against the new schema at that time.

", "UpdateIdentitySource": "

Updates the specified identity source to use a new identity provider (IdP) source, or to change the mapping of identities from the IdP to a different principal entity type.

", - "UpdatePolicy": "

Modifies a Cedar static policy in the specified policy store. You can change only certain elements of the UpdatePolicyDefinition parameter. You can directly update only static policies. To change a template-linked policy, you must update the template instead, using UpdatePolicyTemplate.

If policy validation is enabled in the policy store, then updating a static policy causes Verified Permissions to validate the policy against the schema in the policy store. If the updated static policy doesn't pass validation, the operation fails and the update isn't stored.

", + "UpdatePolicy": "

Modifies a Cedar static policy in the specified policy store. You can change only certain elements of the UpdatePolicyDefinition parameter. You can directly update only static policies. To change a template-linked policy, you must update the template instead, using UpdatePolicyTemplate.

", "UpdatePolicyStore": "

Modifies the validation setting for a policy store.

", "UpdatePolicyTemplate": "

Updates the specified policy template. You can update only the description and the some elements of the policyBody.

Changes you make to the policy template content are immediately reflected in authorization decisions that involve all template-linked policies instantiated from this template.

" }, @@ -229,7 +229,7 @@ "base": "

Contains the list of entities to be considered during an authorization request. This includes all principals, resources, and actions required to successfully evaluate the request.

This data type is used as a field in the response parameter for the IsAuthorized and IsAuthorizedWithToken operations.

", "refs": { "IsAuthorizedInput$entities": "

Specifies the list of resources and principals and their associated attributes that Verified Permissions can examine when evaluating the policies.

You can include only principal and resource entities in this parameter; you can't include actions. You must specify actions in the schema.

", - "IsAuthorizedWithTokenInput$entities": "

Specifies the list of resources and principals and their associated attributes that Verified Permissions can examine when evaluating the policies.

You can include only principal and resource entities in this parameter; you can't include actions. You must specify actions in the schema.

" + "IsAuthorizedWithTokenInput$entities": "

Specifies the list of resources and their associated attributes that Verified Permissions can examine when evaluating the policies.

You can include only resource and action entities in this parameter; you can't include principals.

" } }, "EntityAttributes": { @@ -448,7 +448,7 @@ "ListIdentitySourcesMaxResults": { "base": null, "refs": { - "ListIdentitySourcesInput$maxResults": "

Specifies the total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the number you specify, the NextToken response element is returned with a value (not null). Include the specified value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that the service might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

" + "ListIdentitySourcesInput$maxResults": "

Specifies the total number of results that you want included in each response. If additional items exist beyond the number you specify, the NextToken response element is returned with a value (not null). Include the specified value as the NextToken request parameter in the next call to the operation to get the next set of results. Note that the service might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

If you do not specify this parameter, the operation defaults to 10 identity sources per response. You can specify a maximum of 200 identity sources per response.

" } }, "ListIdentitySourcesOutput": { @@ -495,9 +495,9 @@ "MaxResults": { "base": null, "refs": { - "ListPoliciesInput$maxResults": "

Specifies the total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the number you specify, the NextToken response element is returned with a value (not null). Include the specified value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that the service might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

", - "ListPolicyStoresInput$maxResults": "

Specifies the total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the number you specify, the NextToken response element is returned with a value (not null). Include the specified value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that the service might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

", - "ListPolicyTemplatesInput$maxResults": "

Specifies the total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the number you specify, the NextToken response element is returned with a value (not null). Include the specified value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that the service might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

" + "ListPoliciesInput$maxResults": "

Specifies the total number of results that you want included in each response. If additional items exist beyond the number you specify, the NextToken response element is returned with a value (not null). Include the specified value as the NextToken request parameter in the next call to the operation to get the next set of results. Note that the service might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

If you do not specify this parameter, the operation defaults to 10 policies per response. You can specify a maximum of 50 policies per response.

", + "ListPolicyStoresInput$maxResults": "

Specifies the total number of results that you want included in each response. If additional items exist beyond the number you specify, the NextToken response element is returned with a value (not null). Include the specified value as the NextToken request parameter in the next call to the operation to get the next set of results. Note that the service might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

If you do not specify this parameter, the operation defaults to 10 policy stores per response. You can specify a maximum of 50 policy stores per response.

", + "ListPolicyTemplatesInput$maxResults": "

Specifies the total number of results that you want included in each response. If additional items exist beyond the number you specify, the NextToken response element is returned with a value (not null). Include the specified value as the NextToken request parameter in the next call to the operation to get the next set of results. Note that the service might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

If you do not specify this parameter, the operation defaults to 10 policy templates per response. You can specify a maximum of 50 policy templates per response.

" } }, "Namespace": { @@ -910,8 +910,8 @@ "Token": { "base": null, "refs": { - "IsAuthorizedWithTokenInput$identityToken": "

Specifies an identity token for the principal to be authorized. This token is provided to you by the identity provider (IdP) associated with the specified identity source. You must specify either an AccessToken or an IdentityToken, but not both.

", - "IsAuthorizedWithTokenInput$accessToken": "

Specifies an access token for the principal to be authorized. This token is provided to you by the identity provider (IdP) associated with the specified identity source. You must specify either an AccessToken or an IdentityToken, but not both.

" + "IsAuthorizedWithTokenInput$identityToken": "

Specifies an identity token for the principal to be authorized. This token is provided to you by the identity provider (IdP) associated with the specified identity source. You must specify either an AccessToken or an IdentityToken, or both.

", + "IsAuthorizedWithTokenInput$accessToken": "

Specifies an access token for the principal to be authorized. This token is provided to you by the identity provider (IdP) associated with the specified identity source. You must specify either an AccessToken, or an IdentityToken, or both.

" } }, "UpdateCognitoUserPoolConfiguration": { diff --git a/apis/verifiedpermissions/2021-12-01/endpoint-tests-1.json b/apis/verifiedpermissions/2021-12-01/endpoint-tests-1.json index 1ee1c6c8398..3a5b73a9e4e 100644 --- a/apis/verifiedpermissions/2021-12-01/endpoint-tests-1.json +++ b/apis/verifiedpermissions/2021-12-01/endpoint-tests-1.json @@ -1,55 +1,55 @@ { "testCases": [ { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://verifiedpermissions-fips.us-gov-east-1.api.aws" + "url": "https://verifiedpermissions-fips.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://verifiedpermissions-fips.us-gov-east-1.amazonaws.com" + "url": "https://verifiedpermissions-fips.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://verifiedpermissions.us-gov-east-1.api.aws" + "url": "https://verifiedpermissions.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://verifiedpermissions.us-gov-east-1.amazonaws.com" + "url": "https://verifiedpermissions.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -60,9 +60,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -73,9 +73,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -86,9 +86,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -99,109 +99,109 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + "endpoint": { + "url": "https://verifiedpermissions-fips.us-gov-east-1.api.aws" + } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-iso-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://verifiedpermissions-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://verifiedpermissions-fips.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" + "endpoint": { + "url": "https://verifiedpermissions.us-gov-east-1.api.aws" + } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-iso-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://verifiedpermissions.us-iso-east-1.c2s.ic.gov" + "url": "https://verifiedpermissions.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://verifiedpermissions-fips.us-east-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://verifiedpermissions-fips.us-east-1.amazonaws.com" + "url": "https://verifiedpermissions-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://verifiedpermissions.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://verifiedpermissions.us-east-1.amazonaws.com" + "url": "https://verifiedpermissions.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -210,9 +210,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { @@ -223,9 +223,9 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -234,9 +234,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { @@ -247,13 +247,27 @@ } }, "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": false, - "Region": "us-isob-east-1" + "Endpoint": "https://example.com" } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" @@ -262,7 +276,6 @@ "params": { "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -272,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { + "Region": "us-east-1", "UseFIPS": true, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -284,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": true, - "Region": "us-east-1", "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/gems/aws-partitions/CHANGELOG.md b/gems/aws-partitions/CHANGELOG.md index 5c279a8c9ea..fd7219293f1 100644 --- a/gems/aws-partitions/CHANGELOG.md +++ b/gems/aws-partitions/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.809.0 (2023-08-22) +------------------ + +* Feature - Updated the partitions source data the determines the AWS service regions and endpoints. + 1.808.0 (2023-08-21) ------------------ diff --git a/gems/aws-partitions/VERSION b/gems/aws-partitions/VERSION index ec20da5139b..667afa2fde8 100644 --- a/gems/aws-partitions/VERSION +++ b/gems/aws-partitions/VERSION @@ -1 +1 @@ -1.808.0 +1.809.0 diff --git a/gems/aws-partitions/partitions.json b/gems/aws-partitions/partitions.json index 08d8b0c524c..eed77d15cfa 100644 --- a/gems/aws-partitions/partitions.json +++ b/gems/aws-partitions/partitions.json @@ -10906,6 +10906,7 @@ "deprecated" : true, "hostname" : "mgn-fips.us-west-2.amazonaws.com" }, + "il-central-1" : { }, "me-central-1" : { }, "me-south-1" : { }, "sa-east-1" : { }, @@ -12944,6 +12945,7 @@ "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, + "il-central-1" : { }, "rekognition-fips.ca-central-1" : { "credentialScope" : { "region" : "ca-central-1" @@ -16017,6 +16019,7 @@ "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, + "il-central-1" : { }, "me-central-1" : { }, "me-south-1" : { }, "sa-east-1" : { }, diff --git a/gems/aws-sdk-core/CHANGELOG.md b/gems/aws-sdk-core/CHANGELOG.md index 4270bc4afb8..eaaaef73bc4 100644 --- a/gems/aws-sdk-core/CHANGELOG.md +++ b/gems/aws-sdk-core/CHANGELOG.md @@ -1,6 +1,9 @@ Unreleased Changes ------------------ +3.181.0 (2023-08-22) +------------------ + * Feature - Add support for `on_chunk_received` callback. 3.180.3 (2023-08-09) diff --git a/gems/aws-sdk-core/VERSION b/gems/aws-sdk-core/VERSION index d51cc663b5a..91ef824b9f1 100644 --- a/gems/aws-sdk-core/VERSION +++ b/gems/aws-sdk-core/VERSION @@ -1 +1 @@ -3.180.3 +3.181.0 diff --git a/gems/aws-sdk-core/lib/aws-sdk-sso.rb b/gems/aws-sdk-core/lib/aws-sdk-sso.rb index de7628f0534..d8f3eca705c 100644 --- a/gems/aws-sdk-core/lib/aws-sdk-sso.rb +++ b/gems/aws-sdk-core/lib/aws-sdk-sso.rb @@ -54,6 +54,6 @@ # @!group service module Aws::SSO - GEM_VERSION = '3.180.3' + GEM_VERSION = '3.181.0' end diff --git a/gems/aws-sdk-core/lib/aws-sdk-sso/client.rb b/gems/aws-sdk-core/lib/aws-sdk-sso/client.rb index 7e6cb4666ca..37967e187af 100644 --- a/gems/aws-sdk-core/lib/aws-sdk-sso/client.rb +++ b/gems/aws-sdk-core/lib/aws-sdk-sso/client.rb @@ -605,7 +605,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-core' - context[:gem_version] = '3.180.3' + context[:gem_version] = '3.181.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-core/lib/aws-sdk-ssooidc.rb b/gems/aws-sdk-core/lib/aws-sdk-ssooidc.rb index fc2c2a2d231..a479781e532 100644 --- a/gems/aws-sdk-core/lib/aws-sdk-ssooidc.rb +++ b/gems/aws-sdk-core/lib/aws-sdk-ssooidc.rb @@ -54,6 +54,6 @@ # @!group service module Aws::SSOOIDC - GEM_VERSION = '3.180.3' + GEM_VERSION = '3.181.0' end diff --git a/gems/aws-sdk-core/lib/aws-sdk-ssooidc/client.rb b/gems/aws-sdk-core/lib/aws-sdk-ssooidc/client.rb index b300bb44da6..ee94ec4f52a 100644 --- a/gems/aws-sdk-core/lib/aws-sdk-ssooidc/client.rb +++ b/gems/aws-sdk-core/lib/aws-sdk-ssooidc/client.rb @@ -601,7 +601,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-core' - context[:gem_version] = '3.180.3' + context[:gem_version] = '3.181.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-core/lib/aws-sdk-sts.rb b/gems/aws-sdk-core/lib/aws-sdk-sts.rb index 7fb457c8190..8283a92e22d 100644 --- a/gems/aws-sdk-core/lib/aws-sdk-sts.rb +++ b/gems/aws-sdk-core/lib/aws-sdk-sts.rb @@ -54,6 +54,6 @@ # @!group service module Aws::STS - GEM_VERSION = '3.180.3' + GEM_VERSION = '3.181.0' end diff --git a/gems/aws-sdk-core/lib/aws-sdk-sts/client.rb b/gems/aws-sdk-core/lib/aws-sdk-sts/client.rb index fd915abe16b..122735b4294 100644 --- a/gems/aws-sdk-core/lib/aws-sdk-sts/client.rb +++ b/gems/aws-sdk-core/lib/aws-sdk-sts/client.rb @@ -2344,7 +2344,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-core' - context[:gem_version] = '3.180.3' + context[:gem_version] = '3.181.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-costexplorer/CHANGELOG.md b/gems/aws-sdk-costexplorer/CHANGELOG.md index 57f9adce356..fbe0468082c 100644 --- a/gems/aws-sdk-costexplorer/CHANGELOG.md +++ b/gems/aws-sdk-costexplorer/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.90.0 (2023-08-22) +------------------ + +* Feature - This release adds the LastUpdatedDate and LastUsedDate timestamps to help you manage your cost allocation tags. + 1.89.0 (2023-07-24) ------------------ diff --git a/gems/aws-sdk-costexplorer/VERSION b/gems/aws-sdk-costexplorer/VERSION index 636ea711ad9..82e24bf241e 100644 --- a/gems/aws-sdk-costexplorer/VERSION +++ b/gems/aws-sdk-costexplorer/VERSION @@ -1 +1 @@ -1.89.0 +1.90.0 diff --git a/gems/aws-sdk-costexplorer/lib/aws-sdk-costexplorer.rb b/gems/aws-sdk-costexplorer/lib/aws-sdk-costexplorer.rb index 7cc9d13b958..05df1b13491 100644 --- a/gems/aws-sdk-costexplorer/lib/aws-sdk-costexplorer.rb +++ b/gems/aws-sdk-costexplorer/lib/aws-sdk-costexplorer.rb @@ -52,6 +52,6 @@ # @!group service module Aws::CostExplorer - GEM_VERSION = '1.89.0' + GEM_VERSION = '1.90.0' end diff --git a/gems/aws-sdk-costexplorer/lib/aws-sdk-costexplorer/client.rb b/gems/aws-sdk-costexplorer/lib/aws-sdk-costexplorer/client.rb index 2d981e956d4..4fe6d41eca7 100644 --- a/gems/aws-sdk-costexplorer/lib/aws-sdk-costexplorer/client.rb +++ b/gems/aws-sdk-costexplorer/lib/aws-sdk-costexplorer/client.rb @@ -3355,8 +3355,8 @@ def get_rightsizing_recommendation(params = {}, options = {}) end # Retrieves the details for a Savings Plan recommendation. These details - # include the hourly data-points that construct the new cost, coverage, - # and utilization charts. + # include the hourly data-points that construct the cost, coverage, and + # utilization charts. # # @option params [required, String] :recommendation_detail_id # The ID that is associated with the Savings Plan recommendation. @@ -4479,6 +4479,8 @@ def get_usage_forecast(params = {}, options = {}) # resp.cost_allocation_tags[0].tag_key #=> String # resp.cost_allocation_tags[0].type #=> String, one of "AWSGenerated", "UserDefined" # resp.cost_allocation_tags[0].status #=> String, one of "Active", "Inactive" + # resp.cost_allocation_tags[0].last_updated_date #=> String + # resp.cost_allocation_tags[0].last_used_date #=> String # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ListCostAllocationTags AWS API Documentation @@ -5150,7 +5152,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-costexplorer' - context[:gem_version] = '1.89.0' + context[:gem_version] = '1.90.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-costexplorer/lib/aws-sdk-costexplorer/client_api.rb b/gems/aws-sdk-costexplorer/lib/aws-sdk-costexplorer/client_api.rb index 5d9371fddbc..69332218ae8 100644 --- a/gems/aws-sdk-costexplorer/lib/aws-sdk-costexplorer/client_api.rb +++ b/gems/aws-sdk-costexplorer/lib/aws-sdk-costexplorer/client_api.rb @@ -394,6 +394,8 @@ module ClientApi CostAllocationTag.add_member(:tag_key, Shapes::ShapeRef.new(shape: TagKey, required: true, location_name: "TagKey")) CostAllocationTag.add_member(:type, Shapes::ShapeRef.new(shape: CostAllocationTagType, required: true, location_name: "Type")) CostAllocationTag.add_member(:status, Shapes::ShapeRef.new(shape: CostAllocationTagStatus, required: true, location_name: "Status")) + CostAllocationTag.add_member(:last_updated_date, Shapes::ShapeRef.new(shape: ZonedDateTime, location_name: "LastUpdatedDate")) + CostAllocationTag.add_member(:last_used_date, Shapes::ShapeRef.new(shape: ZonedDateTime, location_name: "LastUsedDate")) CostAllocationTag.struct_class = Types::CostAllocationTag CostAllocationTagKeyList.member = Shapes::ShapeRef.new(shape: TagKey) diff --git a/gems/aws-sdk-costexplorer/lib/aws-sdk-costexplorer/types.rb b/gems/aws-sdk-costexplorer/lib/aws-sdk-costexplorer/types.rb index 982c1135118..bea4a169894 100644 --- a/gems/aws-sdk-costexplorer/lib/aws-sdk-costexplorer/types.rb +++ b/gems/aws-sdk-costexplorer/lib/aws-sdk-costexplorer/types.rb @@ -420,12 +420,23 @@ class BillExpirationException < Struct.new( # The status of a cost allocation tag. # @return [String] # + # @!attribute [rw] last_updated_date + # The last date that the tag was either activated or deactivated. + # @return [String] + # + # @!attribute [rw] last_used_date + # The last month that the tag was used on an Amazon Web Services + # resource. + # @return [String] + # # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CostAllocationTag AWS API Documentation # class CostAllocationTag < Struct.new( :tag_key, :type, - :status) + :status, + :last_updated_date, + :last_used_date) SENSITIVE = [] include Aws::Structure end diff --git a/gems/aws-sdk-globalaccelerator/CHANGELOG.md b/gems/aws-sdk-globalaccelerator/CHANGELOG.md index 643d86c6bbf..18a0aa866dc 100644 --- a/gems/aws-sdk-globalaccelerator/CHANGELOG.md +++ b/gems/aws-sdk-globalaccelerator/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.50.0 (2023-08-22) +------------------ + +* Feature - Global Accelerator now supports Client Ip Preservation for Network Load Balancer endpoints. + 1.49.0 (2023-08-09) ------------------ diff --git a/gems/aws-sdk-globalaccelerator/VERSION b/gems/aws-sdk-globalaccelerator/VERSION index 7f3a46a841e..5a5c7211dc6 100644 --- a/gems/aws-sdk-globalaccelerator/VERSION +++ b/gems/aws-sdk-globalaccelerator/VERSION @@ -1 +1 @@ -1.49.0 +1.50.0 diff --git a/gems/aws-sdk-globalaccelerator/lib/aws-sdk-globalaccelerator.rb b/gems/aws-sdk-globalaccelerator/lib/aws-sdk-globalaccelerator.rb index c32733fee23..d74b62f033d 100644 --- a/gems/aws-sdk-globalaccelerator/lib/aws-sdk-globalaccelerator.rb +++ b/gems/aws-sdk-globalaccelerator/lib/aws-sdk-globalaccelerator.rb @@ -52,6 +52,6 @@ # @!group service module Aws::GlobalAccelerator - GEM_VERSION = '1.49.0' + GEM_VERSION = '1.50.0' end diff --git a/gems/aws-sdk-globalaccelerator/lib/aws-sdk-globalaccelerator/client.rb b/gems/aws-sdk-globalaccelerator/lib/aws-sdk-globalaccelerator/client.rb index 1279f429320..e44a93953bd 100644 --- a/gems/aws-sdk-globalaccelerator/lib/aws-sdk-globalaccelerator/client.rb +++ b/gems/aws-sdk-globalaccelerator/lib/aws-sdk-globalaccelerator/client.rb @@ -3135,7 +3135,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-globalaccelerator' - context[:gem_version] = '1.49.0' + context[:gem_version] = '1.50.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-globalaccelerator/lib/aws-sdk-globalaccelerator/types.rb b/gems/aws-sdk-globalaccelerator/lib/aws-sdk-globalaccelerator/types.rb index 136e78f7dfa..bcbb4d3429b 100644 --- a/gems/aws-sdk-globalaccelerator/lib/aws-sdk-globalaccelerator/types.rb +++ b/gems/aws-sdk-globalaccelerator/lib/aws-sdk-globalaccelerator/types.rb @@ -1761,8 +1761,10 @@ class EndpointAlreadyExistsException < Struct.new( # applications on the endpoint fronted by the accelerator. # # Client IP address preservation is supported, in specific Amazon Web - # Services Regions, for endpoints that are Application Load Balancers - # and Amazon EC2 instances. + # Services Regions, for endpoints that are Application Load Balancers, + # Amazon EC2 instances, and Network Load Balancers with Security + # Groups. IMPORTANT: You cannot use client IP address preservation + # with Network Load Balancers with TLS listeners. # # For more information, see [ Preserve client IP addresses in Global # Accelerator][1] in the *Global Accelerator Developer Guide*. @@ -1829,8 +1831,10 @@ class EndpointConfiguration < Struct.new( # applications on the endpoint fronted by the accelerator. # # Client IP address preservation is supported, in specific Amazon Web - # Services Regions, for endpoints that are Application Load Balancers - # and Amazon EC2 instances. + # Services Regions, for endpoints that are Application Load Balancers, + # Amazon EC2 instances, and Network Load Balancers with Security + # Groups. IMPORTANT: You cannot use client IP address preservation + # with Network Load Balancers with TLS listeners. # # For more information, see [ Preserve client IP addresses in Global # Accelerator][1] in the *Global Accelerator Developer Guide*. diff --git a/gems/aws-sdk-rds/CHANGELOG.md b/gems/aws-sdk-rds/CHANGELOG.md index 1664c3a2c30..645d4428bf3 100644 --- a/gems/aws-sdk-rds/CHANGELOG.md +++ b/gems/aws-sdk-rds/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.191.0 (2023-08-22) +------------------ + +* Feature - Adding parameters to CreateCustomDbEngineVersion reserved for future use. + 1.190.0 (2023-08-21) ------------------ diff --git a/gems/aws-sdk-rds/VERSION b/gems/aws-sdk-rds/VERSION index 8d5d795d9e2..51b0c3b6d8e 100644 --- a/gems/aws-sdk-rds/VERSION +++ b/gems/aws-sdk-rds/VERSION @@ -1 +1 @@ -1.190.0 +1.191.0 diff --git a/gems/aws-sdk-rds/lib/aws-sdk-rds.rb b/gems/aws-sdk-rds/lib/aws-sdk-rds.rb index 64076869225..4025b331b00 100644 --- a/gems/aws-sdk-rds/lib/aws-sdk-rds.rb +++ b/gems/aws-sdk-rds/lib/aws-sdk-rds.rb @@ -78,6 +78,6 @@ # @!group service module Aws::RDS - GEM_VERSION = '1.190.0' + GEM_VERSION = '1.191.0' end diff --git a/gems/aws-sdk-rds/lib/aws-sdk-rds/client.rb b/gems/aws-sdk-rds/lib/aws-sdk-rds/client.rb index 3b517f1971a..a2408b10a4e 100644 --- a/gems/aws-sdk-rds/lib/aws-sdk-rds/client.rb +++ b/gems/aws-sdk-rds/lib/aws-sdk-rds/client.rb @@ -2298,6 +2298,12 @@ def create_blue_green_deployment(params = {}, options = {}) # # [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html # + # @option params [String] :source_custom_db_engine_version_identifier + # Reserved for future use. + # + # @option params [Boolean] :use_aws_provided_latest_image + # Reserved for future use. + # # @return [Types::DBEngineVersion] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DBEngineVersion#engine #engine} => String @@ -2350,6 +2356,8 @@ def create_blue_green_deployment(params = {}, options = {}) # value: "String", # }, # ], + # source_custom_db_engine_version_identifier: "String255", + # use_aws_provided_latest_image: false, # }) # # @example Response structure @@ -28255,7 +28263,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-rds' - context[:gem_version] = '1.190.0' + context[:gem_version] = '1.191.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-rds/lib/aws-sdk-rds/client_api.rb b/gems/aws-sdk-rds/lib/aws-sdk-rds/client_api.rb index 80eddd50249..74ca0cc0a0f 100644 --- a/gems/aws-sdk-rds/lib/aws-sdk-rds/client_api.rb +++ b/gems/aws-sdk-rds/lib/aws-sdk-rds/client_api.rb @@ -904,6 +904,8 @@ module ClientApi CreateCustomDBEngineVersionMessage.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "Description")) CreateCustomDBEngineVersionMessage.add_member(:manifest, Shapes::ShapeRef.new(shape: CustomDBEngineVersionManifest, location_name: "Manifest")) CreateCustomDBEngineVersionMessage.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags")) + CreateCustomDBEngineVersionMessage.add_member(:source_custom_db_engine_version_identifier, Shapes::ShapeRef.new(shape: String255, location_name: "SourceCustomDbEngineVersionIdentifier")) + CreateCustomDBEngineVersionMessage.add_member(:use_aws_provided_latest_image, Shapes::ShapeRef.new(shape: BooleanOptional, location_name: "UseAwsProvidedLatestImage")) CreateCustomDBEngineVersionMessage.struct_class = Types::CreateCustomDBEngineVersionMessage CreateDBClusterEndpointMessage.add_member(:db_cluster_identifier, Shapes::ShapeRef.new(shape: String, required: true, location_name: "DBClusterIdentifier")) diff --git a/gems/aws-sdk-rds/lib/aws-sdk-rds/types.rb b/gems/aws-sdk-rds/lib/aws-sdk-rds/types.rb index a4b3b782277..5f3051ad566 100644 --- a/gems/aws-sdk-rds/lib/aws-sdk-rds/types.rb +++ b/gems/aws-sdk-rds/lib/aws-sdk-rds/types.rb @@ -1888,6 +1888,14 @@ class CreateCustomDBEngineVersionFault < Aws::EmptyStructure; end # [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html # @return [Array] # + # @!attribute [rw] source_custom_db_engine_version_identifier + # Reserved for future use. + # @return [String] + # + # @!attribute [rw] use_aws_provided_latest_image + # Reserved for future use. + # @return [Boolean] + # # @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateCustomDBEngineVersionMessage AWS API Documentation # class CreateCustomDBEngineVersionMessage < Struct.new( @@ -1899,7 +1907,9 @@ class CreateCustomDBEngineVersionMessage < Struct.new( :kms_key_id, :description, :manifest, - :tags) + :tags, + :source_custom_db_engine_version_identifier, + :use_aws_provided_latest_image) SENSITIVE = [] include Aws::Structure end diff --git a/gems/aws-sdk-s3/CHANGELOG.md b/gems/aws-sdk-s3/CHANGELOG.md index da1b21295ca..4ae87543fa5 100644 --- a/gems/aws-sdk-s3/CHANGELOG.md +++ b/gems/aws-sdk-s3/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.133.0 (2023-08-22) +------------------ + +* Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details. + * Feature - Add support for `progress_callback` in `Object#download_file` and improve multi-threaded performance #(2901). 1.132.1 (2023-08-09) diff --git a/gems/aws-sdk-s3/VERSION b/gems/aws-sdk-s3/VERSION index e6be4af4152..445cade7793 100644 --- a/gems/aws-sdk-s3/VERSION +++ b/gems/aws-sdk-s3/VERSION @@ -1 +1 @@ -1.132.1 +1.133.0 diff --git a/gems/aws-sdk-s3/aws-sdk-s3.gemspec b/gems/aws-sdk-s3/aws-sdk-s3.gemspec index 6a19f6c5864..0ff74e07511 100644 --- a/gems/aws-sdk-s3/aws-sdk-s3.gemspec +++ b/gems/aws-sdk-s3/aws-sdk-s3.gemspec @@ -27,7 +27,7 @@ Gem::Specification.new do |spec| spec.add_dependency('aws-sdk-kms', '~> 1') spec.add_dependency('aws-sigv4', '~> 1.6') - spec.add_dependency('aws-sdk-core', '~> 3', '>= 3.179.0') + spec.add_dependency('aws-sdk-core', '~> 3', '>= 3.181.0') spec.required_ruby_version = '>= 2.3' end diff --git a/gems/aws-sdk-s3/lib/aws-sdk-s3.rb b/gems/aws-sdk-s3/lib/aws-sdk-s3.rb index fb56b377ebf..9ae1278ce37 100644 --- a/gems/aws-sdk-s3/lib/aws-sdk-s3.rb +++ b/gems/aws-sdk-s3/lib/aws-sdk-s3.rb @@ -73,6 +73,6 @@ # @!group service module Aws::S3 - GEM_VERSION = '1.132.1' + GEM_VERSION = '1.133.0' end diff --git a/gems/aws-sdk-s3/lib/aws-sdk-s3/client.rb b/gems/aws-sdk-s3/lib/aws-sdk-s3/client.rb index 0d5c0103b48..f92c2b42efe 100644 --- a/gems/aws-sdk-s3/lib/aws-sdk-s3/client.rb +++ b/gems/aws-sdk-s3/lib/aws-sdk-s3/client.rb @@ -15653,7 +15653,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-s3' - context[:gem_version] = '1.132.1' + context[:gem_version] = '1.133.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-s3/lib/aws-sdk-s3/multipart_upload_part.rb b/gems/aws-sdk-s3/lib/aws-sdk-s3/multipart_upload_part.rb index d47ffb9ff8d..34cbef50239 100644 --- a/gems/aws-sdk-s3/lib/aws-sdk-s3/multipart_upload_part.rb +++ b/gems/aws-sdk-s3/lib/aws-sdk-s3/multipart_upload_part.rb @@ -286,7 +286,7 @@ def wait_until(options = {}, &block) # @option options [required, String] :copy_source # Specifies the source object for the copy operation. You specify the # value in one of two formats, depending on whether you want to access - # the source object through an [access point][1]\: + # the source object through an [access point][1]: # # * For objects not accessed through an access point, specify the name # of the source bucket and key of the source object, separated by a diff --git a/gems/aws-sdk-verifiedpermissions/CHANGELOG.md b/gems/aws-sdk-verifiedpermissions/CHANGELOG.md index c6ab6bad882..22b28d5fe8f 100644 --- a/gems/aws-sdk-verifiedpermissions/CHANGELOG.md +++ b/gems/aws-sdk-verifiedpermissions/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.8.0 (2023-08-22) +------------------ + +* Feature - Documentation updates for Amazon Verified Permissions. Increases max results per page for ListPolicyStores, ListPolicies, and ListPolicyTemplates APIs from 20 to 50. + 1.7.0 (2023-07-11) ------------------ diff --git a/gems/aws-sdk-verifiedpermissions/VERSION b/gems/aws-sdk-verifiedpermissions/VERSION index bd8bf882d06..27f9cd322bb 100644 --- a/gems/aws-sdk-verifiedpermissions/VERSION +++ b/gems/aws-sdk-verifiedpermissions/VERSION @@ -1 +1 @@ -1.7.0 +1.8.0 diff --git a/gems/aws-sdk-verifiedpermissions/lib/aws-sdk-verifiedpermissions.rb b/gems/aws-sdk-verifiedpermissions/lib/aws-sdk-verifiedpermissions.rb index 767f5c132bf..3679c4b1a98 100644 --- a/gems/aws-sdk-verifiedpermissions/lib/aws-sdk-verifiedpermissions.rb +++ b/gems/aws-sdk-verifiedpermissions/lib/aws-sdk-verifiedpermissions.rb @@ -53,6 +53,6 @@ # @!group service module Aws::VerifiedPermissions - GEM_VERSION = '1.7.0' + GEM_VERSION = '1.8.0' end diff --git a/gems/aws-sdk-verifiedpermissions/lib/aws-sdk-verifiedpermissions/client.rb b/gems/aws-sdk-verifiedpermissions/lib/aws-sdk-verifiedpermissions/client.rb index da8786154a6..c0ec4f1b411 100644 --- a/gems/aws-sdk-verifiedpermissions/lib/aws-sdk-verifiedpermissions/client.rb +++ b/gems/aws-sdk-verifiedpermissions/lib/aws-sdk-verifiedpermissions/client.rb @@ -1226,17 +1226,36 @@ def is_authorized(params = {}, options = {}) # Makes an authorization decision about a service request described in # the parameters. The principal in this request comes from an external - # identity source. The information in the parameters can also define + # identity source in the form of an identity token formatted as a [JSON + # web token (JWT)][1]. The information in the parameters can also define # additional context that Verified Permissions can include in the # evaluation. The request is evaluated against all matching policies in # the specified policy store. The result of the decision is either # `Allow` or `Deny`, along with a list of the policies that resulted in # the decision. # + # If you specify the `identityToken` parameter, then this operation + # derives the principal from that token. You must not also include that + # principal in the `entities` parameter or the operation fails and + # reports a conflict between the two entity sources. + # + # If you provide only an `accessToken`, then you can include the entity + # as part of the `entities` parameter to provide additional attributes. + # + # At this time, Verified Permissions accepts tokens from only Amazon + # Cognito. + # + # Verified Permissions validates each token that is specified in a + # request by checking its expiration date and its signature. + # # If you delete a Amazon Cognito user pool or user, tokens from that # deleted pool or that deleted user continue to be usable until they # expire. # + # + # + # [1]: https://wikipedia.org/wiki/JSON_Web_Token + # # @option params [required, String] :policy_store_id # Specifies the ID of the policy store. Policies in this policy store # will be used to make an authorization decision for the input. @@ -1245,13 +1264,13 @@ def is_authorized(params = {}, options = {}) # Specifies an identity token for the principal to be authorized. This # token is provided to you by the identity provider (IdP) associated # with the specified identity source. You must specify either an - # `AccessToken` or an `IdentityToken`, but not both. + # `AccessToken` or an `IdentityToken`, or both. # # @option params [String] :access_token # Specifies an access token for the principal to be authorized. This # token is provided to you by the identity provider (IdP) associated # with the specified identity source. You must specify either an - # `AccessToken` or an `IdentityToken`, but not both. + # `AccessToken`, or an `IdentityToken`, or both. # # @option params [Types::ActionIdentifier] :action # Specifies the requested action to be authorized. Is the specified @@ -1267,13 +1286,18 @@ def is_authorized(params = {}, options = {}) # authorization decisions. # # @option params [Types::EntitiesDefinition] :entities - # Specifies the list of resources and principals and their associated - # attributes that Verified Permissions can examine when evaluating the - # policies. + # Specifies the list of resources and their associated attributes that + # Verified Permissions can examine when evaluating the policies. # - # You can include only principal and resource entities in this - # parameter; you can't include actions. You must specify actions in the - # schema. + # You can include only resource and action entities in this parameter; + # you can't include principals. + # + # * The `IsAuthorizedWithToken` operation takes principal attributes + # from only the `identityToken` or `accessToken` + # passed to the operation. + # + # * For action entities, you can include only their `Identifier` and + # `EntityType`. # # # @@ -1355,16 +1379,18 @@ def is_authorized_with_token(params = {}, options = {}) # response to request the next page of results. # # @option params [Integer] :max_results - # Specifies the total number of results that you want included on each - # page of the response. If you do not include this parameter, it - # defaults to a value that is specific to the operation. If additional - # items exist beyond the number you specify, the `NextToken` response - # element is returned with a value (not null). Include the specified - # value as the `NextToken` request parameter in the next call to the - # operation to get the next part of the results. Note that the service - # might return fewer results than the maximum even when there are more - # results available. You should check `NextToken` after every operation - # to ensure that you receive all of the results. + # Specifies the total number of results that you want included in each + # response. If additional items exist beyond the number you specify, the + # `NextToken` response element is returned with a value (not null). + # Include the specified value as the `NextToken` request parameter in + # the next call to the operation to get the next set of results. Note + # that the service might return fewer results than the maximum even when + # there are more results available. You should check `NextToken` after + # every operation to ensure that you receive all of the results. + # + # If you do not specify this parameter, the operation defaults to 10 + # identity sources per response. You can specify a maximum of 200 + # identity sources per response. # # @option params [Array] :filters # Specifies characteristics of an identity source that you can use to @@ -1428,16 +1454,18 @@ def list_identity_sources(params = {}, options = {}) # response to request the next page of results. # # @option params [Integer] :max_results - # Specifies the total number of results that you want included on each - # page of the response. If you do not include this parameter, it - # defaults to a value that is specific to the operation. If additional - # items exist beyond the number you specify, the `NextToken` response - # element is returned with a value (not null). Include the specified - # value as the `NextToken` request parameter in the next call to the - # operation to get the next part of the results. Note that the service - # might return fewer results than the maximum even when there are more - # results available. You should check `NextToken` after every operation - # to ensure that you receive all of the results. + # Specifies the total number of results that you want included in each + # response. If additional items exist beyond the number you specify, the + # `NextToken` response element is returned with a value (not null). + # Include the specified value as the `NextToken` request parameter in + # the next call to the operation to get the next set of results. Note + # that the service might return fewer results than the maximum even when + # there are more results available. You should check `NextToken` after + # every operation to ensure that you receive all of the results. + # + # If you do not specify this parameter, the operation defaults to 10 + # policies per response. You can specify a maximum of 50 policies per + # response. # # @option params [Types::PolicyFilter] :filter # Specifies a filter that limits the response to only policies that @@ -1517,16 +1545,18 @@ def list_policies(params = {}, options = {}) # response to request the next page of results. # # @option params [Integer] :max_results - # Specifies the total number of results that you want included on each - # page of the response. If you do not include this parameter, it - # defaults to a value that is specific to the operation. If additional - # items exist beyond the number you specify, the `NextToken` response - # element is returned with a value (not null). Include the specified - # value as the `NextToken` request parameter in the next call to the - # operation to get the next part of the results. Note that the service - # might return fewer results than the maximum even when there are more - # results available. You should check `NextToken` after every operation - # to ensure that you receive all of the results. + # Specifies the total number of results that you want included in each + # response. If additional items exist beyond the number you specify, the + # `NextToken` response element is returned with a value (not null). + # Include the specified value as the `NextToken` request parameter in + # the next call to the operation to get the next set of results. Note + # that the service might return fewer results than the maximum even when + # there are more results available. You should check `NextToken` after + # every operation to ensure that you receive all of the results. + # + # If you do not specify this parameter, the operation defaults to 10 + # policy stores per response. You can specify a maximum of 50 policy + # stores per response. # # @return [Types::ListPolicyStoresOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # @@ -1574,16 +1604,18 @@ def list_policy_stores(params = {}, options = {}) # response to request the next page of results. # # @option params [Integer] :max_results - # Specifies the total number of results that you want included on each - # page of the response. If you do not include this parameter, it - # defaults to a value that is specific to the operation. If additional - # items exist beyond the number you specify, the `NextToken` response - # element is returned with a value (not null). Include the specified - # value as the `NextToken` request parameter in the next call to the - # operation to get the next part of the results. Note that the service - # might return fewer results than the maximum even when there are more - # results available. You should check `NextToken` after every operation - # to ensure that you receive all of the results. + # Specifies the total number of results that you want included in each + # response. If additional items exist beyond the number you specify, the + # `NextToken` response element is returned with a value (not null). + # Include the specified value as the `NextToken` request parameter in + # the next call to the operation to get the next set of results. Note + # that the service might return fewer results than the maximum even when + # there are more results available. You should check `NextToken` after + # every operation to ensure that you receive all of the results. + # + # If you do not specify this parameter, the operation defaults to 10 + # policy templates per response. You can specify a maximum of 50 policy + # templates per response. # # @return [Types::ListPolicyTemplatesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # @@ -1736,11 +1768,32 @@ def update_identity_source(params = {}, options = {}) # template-linked policy, you must update the template instead, using # [UpdatePolicyTemplate][2]. # - # If policy validation is enabled in the policy store, then updating a - # static policy causes Verified Permissions to validate the policy - # against the schema in the policy store. If the updated static policy - # doesn't pass validation, the operation fails and the update isn't - # stored. + # * If policy validation is enabled in the policy store, then updating a + # static policy causes Verified Permissions to validate the policy + # against the schema in the policy store. If the updated static policy + # doesn't pass validation, the operation fails and the update isn't + # stored. + # + # * When you edit a static policy, You can change only certain elements + # of a static policy: + # + # * The action referenced by the policy. + # + # * A condition clause, such as when and unless. + # + # You can't change these elements of a static policy: + # + # * Changing a policy from a static policy to a template-linked + # policy. + # + # * Changing the effect of a static policy from permit or forbid. + # + # * The principal referenced by a static policy. + # + # * The resource referenced by a static policy. + # + # * To update a template-linked policy, you must update the template + # instead. # # # @@ -1951,7 +2004,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-verifiedpermissions' - context[:gem_version] = '1.7.0' + context[:gem_version] = '1.8.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-verifiedpermissions/lib/aws-sdk-verifiedpermissions/types.rb b/gems/aws-sdk-verifiedpermissions/lib/aws-sdk-verifiedpermissions/types.rb index 81307c8542e..9376cfc9441 100644 --- a/gems/aws-sdk-verifiedpermissions/lib/aws-sdk-verifiedpermissions/types.rb +++ b/gems/aws-sdk-verifiedpermissions/lib/aws-sdk-verifiedpermissions/types.rb @@ -49,7 +49,7 @@ class AccessDeniedException < Struct.new( class ActionIdentifier < Struct.new( :action_type, :action_id) - SENSITIVE = [] + SENSITIVE = [:action_type, :action_id] include Aws::Structure end @@ -141,7 +141,7 @@ class AttributeValue < Struct.new( :set, :record, :unknown) - SENSITIVE = [] + SENSITIVE = [:boolean, :long, :string] include Aws::Structure include Aws::Structure::Union @@ -356,7 +356,7 @@ class CreateIdentitySourceInput < Struct.new( :policy_store_id, :configuration, :principal_entity_type) - SENSITIVE = [] + SENSITIVE = [:principal_entity_type] include Aws::Structure end @@ -597,7 +597,7 @@ class CreatePolicyTemplateInput < Struct.new( :policy_store_id, :description, :statement) - SENSITIVE = [] + SENSITIVE = [:description, :statement] include Aws::Structure end @@ -804,7 +804,7 @@ class Unknown < EntitiesDefinition; end class EntityIdentifier < Struct.new( :entity_type, :entity_id) - SENSITIVE = [] + SENSITIVE = [:entity_type, :entity_id] include Aws::Structure end @@ -958,7 +958,7 @@ class GetIdentitySourceOutput < Struct.new( :last_updated_date, :policy_store_id, :principal_entity_type) - SENSITIVE = [] + SENSITIVE = [:principal_entity_type] include Aws::Structure end @@ -1131,7 +1131,7 @@ class GetPolicyTemplateOutput < Struct.new( :statement, :created_date, :last_updated_date) - SENSITIVE = [] + SENSITIVE = [:description, :statement] include Aws::Structure end @@ -1170,7 +1170,7 @@ class GetSchemaOutput < Struct.new( :schema, :created_date, :last_updated_date) - SENSITIVE = [] + SENSITIVE = [:schema] include Aws::Structure end @@ -1245,7 +1245,7 @@ class IdentitySourceDetails < Struct.new( # class IdentitySourceFilter < Struct.new( :principal_entity_type) - SENSITIVE = [] + SENSITIVE = [:principal_entity_type] include Aws::Structure end @@ -1294,7 +1294,7 @@ class IdentitySourceItem < Struct.new( :last_updated_date, :policy_store_id, :principal_entity_type) - SENSITIVE = [] + SENSITIVE = [:principal_entity_type] include Aws::Structure end @@ -1449,14 +1449,14 @@ class IsAuthorizedOutput < Struct.new( # Specifies an identity token for the principal to be authorized. This # token is provided to you by the identity provider (IdP) associated # with the specified identity source. You must specify either an - # `AccessToken` or an `IdentityToken`, but not both. + # `AccessToken` or an `IdentityToken`, or both. # @return [String] # # @!attribute [rw] access_token # Specifies an access token for the principal to be authorized. This # token is provided to you by the identity provider (IdP) associated # with the specified identity source. You must specify either an - # `AccessToken` or an `IdentityToken`, but not both. + # `AccessToken`, or an `IdentityToken`, or both. # @return [String] # # @!attribute [rw] action @@ -1477,13 +1477,18 @@ class IsAuthorizedOutput < Struct.new( # @return [Types::ContextDefinition] # # @!attribute [rw] entities - # Specifies the list of resources and principals and their associated - # attributes that Verified Permissions can examine when evaluating the - # policies. + # Specifies the list of resources and their associated attributes that + # Verified Permissions can examine when evaluating the policies. # - # You can include only principal and resource entities in this - # parameter; you can't include actions. You must specify actions in - # the schema. + # You can include only resource and action entities in this parameter; + # you can't include principals. + # + # * The `IsAuthorizedWithToken` operation takes principal attributes + # from only the `identityToken` or `accessToken` + # passed to the operation. + # + # * For action entities, you can include only their `Identifier` and + # `EntityType`. # # # @return [Types::EntitiesDefinition] @@ -1498,7 +1503,7 @@ class IsAuthorizedWithTokenInput < Struct.new( :resource, :context, :entities) - SENSITIVE = [] + SENSITIVE = [:identity_token, :access_token] include Aws::Structure end @@ -1547,16 +1552,19 @@ class IsAuthorizedWithTokenOutput < Struct.new( # @return [String] # # @!attribute [rw] max_results - # Specifies the total number of results that you want included on each - # page of the response. If you do not include this parameter, it - # defaults to a value that is specific to the operation. If additional - # items exist beyond the number you specify, the `NextToken` response - # element is returned with a value (not null). Include the specified - # value as the `NextToken` request parameter in the next call to the - # operation to get the next part of the results. Note that the service - # might return fewer results than the maximum even when there are more - # results available. You should check `NextToken` after every - # operation to ensure that you receive all of the results. + # Specifies the total number of results that you want included in each + # response. If additional items exist beyond the number you specify, + # the `NextToken` response element is returned with a value (not + # null). Include the specified value as the `NextToken` request + # parameter in the next call to the operation to get the next set of + # results. Note that the service might return fewer results than the + # maximum even when there are more results available. You should check + # `NextToken` after every operation to ensure that you receive all of + # the results. + # + # If you do not specify this parameter, the operation defaults to 10 + # identity sources per response. You can specify a maximum of 200 + # identity sources per response. # @return [Integer] # # @!attribute [rw] filters @@ -1610,16 +1618,19 @@ class ListIdentitySourcesOutput < Struct.new( # @return [String] # # @!attribute [rw] max_results - # Specifies the total number of results that you want included on each - # page of the response. If you do not include this parameter, it - # defaults to a value that is specific to the operation. If additional - # items exist beyond the number you specify, the `NextToken` response - # element is returned with a value (not null). Include the specified - # value as the `NextToken` request parameter in the next call to the - # operation to get the next part of the results. Note that the service - # might return fewer results than the maximum even when there are more - # results available. You should check `NextToken` after every - # operation to ensure that you receive all of the results. + # Specifies the total number of results that you want included in each + # response. If additional items exist beyond the number you specify, + # the `NextToken` response element is returned with a value (not + # null). Include the specified value as the `NextToken` request + # parameter in the next call to the operation to get the next set of + # results. Note that the service might return fewer results than the + # maximum even when there are more results available. You should check + # `NextToken` after every operation to ensure that you receive all of + # the results. + # + # If you do not specify this parameter, the operation defaults to 10 + # policies per response. You can specify a maximum of 50 policies per + # response. # @return [Integer] # # @!attribute [rw] filter @@ -1670,16 +1681,19 @@ class ListPoliciesOutput < Struct.new( # @return [String] # # @!attribute [rw] max_results - # Specifies the total number of results that you want included on each - # page of the response. If you do not include this parameter, it - # defaults to a value that is specific to the operation. If additional - # items exist beyond the number you specify, the `NextToken` response - # element is returned with a value (not null). Include the specified - # value as the `NextToken` request parameter in the next call to the - # operation to get the next part of the results. Note that the service - # might return fewer results than the maximum even when there are more - # results available. You should check `NextToken` after every - # operation to ensure that you receive all of the results. + # Specifies the total number of results that you want included in each + # response. If additional items exist beyond the number you specify, + # the `NextToken` response element is returned with a value (not + # null). Include the specified value as the `NextToken` request + # parameter in the next call to the operation to get the next set of + # results. Note that the service might return fewer results than the + # maximum even when there are more results available. You should check + # `NextToken` after every operation to ensure that you receive all of + # the results. + # + # If you do not specify this parameter, the operation defaults to 10 + # policy stores per response. You can specify a maximum of 50 policy + # stores per response. # @return [Integer] # # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/ListPolicyStoresInput AWS API Documentation @@ -1727,16 +1741,19 @@ class ListPolicyStoresOutput < Struct.new( # @return [String] # # @!attribute [rw] max_results - # Specifies the total number of results that you want included on each - # page of the response. If you do not include this parameter, it - # defaults to a value that is specific to the operation. If additional - # items exist beyond the number you specify, the `NextToken` response - # element is returned with a value (not null). Include the specified - # value as the `NextToken` request parameter in the next call to the - # operation to get the next part of the results. Note that the service - # might return fewer results than the maximum even when there are more - # results available. You should check `NextToken` after every - # operation to ensure that you receive all of the results. + # Specifies the total number of results that you want included in each + # response. If additional items exist beyond the number you specify, + # the `NextToken` response element is returned with a value (not + # null). Include the specified value as the `NextToken` request + # parameter in the next call to the operation to get the next set of + # results. Note that the service might return fewer results than the + # maximum even when there are more results available. You should check + # `NextToken` after every operation to ensure that you receive all of + # the results. + # + # If you do not specify this parameter, the operation defaults to 10 + # policy templates per response. You can specify a maximum of 50 + # policy templates per response. # @return [Integer] # # @see http://docs.aws.amazon.com/goto/WebAPI/verifiedpermissions-2021-12-01/ListPolicyTemplatesInput AWS API Documentation @@ -2064,7 +2081,7 @@ class PolicyTemplateItem < Struct.new( :description, :created_date, :last_updated_date) - SENSITIVE = [] + SENSITIVE = [:description] include Aws::Structure end @@ -2179,7 +2196,7 @@ class ResourceNotFoundException < Struct.new( class SchemaDefinition < Struct.new( :cedar_json, :unknown) - SENSITIVE = [] + SENSITIVE = [:cedar_json] include Aws::Structure include Aws::Structure::Union @@ -2245,7 +2262,7 @@ class ServiceQuotaExceededException < Struct.new( class StaticPolicyDefinition < Struct.new( :description, :statement) - SENSITIVE = [] + SENSITIVE = [:description, :statement] include Aws::Structure end @@ -2274,7 +2291,7 @@ class StaticPolicyDefinition < Struct.new( class StaticPolicyDefinitionDetail < Struct.new( :description, :statement) - SENSITIVE = [] + SENSITIVE = [:description, :statement] include Aws::Structure end @@ -2297,7 +2314,7 @@ class StaticPolicyDefinitionDetail < Struct.new( # class StaticPolicyDefinitionItem < Struct.new( :description) - SENSITIVE = [] + SENSITIVE = [:description] include Aws::Structure end @@ -2516,7 +2533,7 @@ class UpdateIdentitySourceInput < Struct.new( :identity_source_id, :update_configuration, :principal_entity_type) - SENSITIVE = [] + SENSITIVE = [:principal_entity_type] include Aws::Structure end @@ -2760,7 +2777,7 @@ class UpdatePolicyTemplateInput < Struct.new( :policy_template_id, :description, :statement) - SENSITIVE = [] + SENSITIVE = [:description, :statement] include Aws::Structure end @@ -2827,7 +2844,7 @@ class UpdatePolicyTemplateOutput < Struct.new( class UpdateStaticPolicyDefinition < Struct.new( :description, :statement) - SENSITIVE = [] + SENSITIVE = [:description, :statement] include Aws::Structure end diff --git a/gems/aws-sdk-verifiedpermissions/spec/endpoint_provider_spec.rb b/gems/aws-sdk-verifiedpermissions/spec/endpoint_provider_spec.rb index 66a40835e2e..0caefbc2a7f 100644 --- a/gems/aws-sdk-verifiedpermissions/spec/endpoint_provider_spec.rb +++ b/gems/aws-sdk-verifiedpermissions/spec/endpoint_provider_spec.rb @@ -14,13 +14,13 @@ module Aws::VerifiedPermissions describe EndpointProvider do subject { Aws::VerifiedPermissions::EndpointProvider.new } - context 'For region us-gov-east-1 with FIPS enabled and DualStack enabled' do + context 'For region us-east-1 with FIPS enabled and DualStack enabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://verifiedpermissions-fips.us-gov-east-1.api.aws"}} + {"endpoint"=>{"url"=>"https://verifiedpermissions-fips.us-east-1.api.aws"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_fips=>true, :use_dual_stack=>true, :region=>"us-gov-east-1"}) + params = EndpointParameters.new(**{:region=>"us-east-1", :use_fips=>true, :use_dual_stack=>true}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -28,13 +28,13 @@ module Aws::VerifiedPermissions end end - context 'For region us-gov-east-1 with FIPS enabled and DualStack disabled' do + context 'For region us-east-1 with FIPS enabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://verifiedpermissions-fips.us-gov-east-1.amazonaws.com"}} + {"endpoint"=>{"url"=>"https://verifiedpermissions-fips.us-east-1.amazonaws.com"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_fips=>true, :use_dual_stack=>false, :region=>"us-gov-east-1"}) + params = EndpointParameters.new(**{:region=>"us-east-1", :use_fips=>true, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -42,13 +42,13 @@ module Aws::VerifiedPermissions end end - context 'For region us-gov-east-1 with FIPS disabled and DualStack enabled' do + context 'For region us-east-1 with FIPS disabled and DualStack enabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://verifiedpermissions.us-gov-east-1.api.aws"}} + {"endpoint"=>{"url"=>"https://verifiedpermissions.us-east-1.api.aws"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_fips=>false, :use_dual_stack=>true, :region=>"us-gov-east-1"}) + params = EndpointParameters.new(**{:region=>"us-east-1", :use_fips=>false, :use_dual_stack=>true}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -56,13 +56,13 @@ module Aws::VerifiedPermissions end end - context 'For region us-gov-east-1 with FIPS disabled and DualStack disabled' do + context 'For region us-east-1 with FIPS disabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://verifiedpermissions.us-gov-east-1.amazonaws.com"}} + {"endpoint"=>{"url"=>"https://verifiedpermissions.us-east-1.amazonaws.com"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_fips=>false, :use_dual_stack=>false, :region=>"us-gov-east-1"}) + params = EndpointParameters.new(**{:region=>"us-east-1", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -76,7 +76,7 @@ module Aws::VerifiedPermissions end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_fips=>true, :use_dual_stack=>true, :region=>"cn-north-1"}) + params = EndpointParameters.new(**{:region=>"cn-north-1", :use_fips=>true, :use_dual_stack=>true}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -90,7 +90,7 @@ module Aws::VerifiedPermissions end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_fips=>true, :use_dual_stack=>false, :region=>"cn-north-1"}) + params = EndpointParameters.new(**{:region=>"cn-north-1", :use_fips=>true, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -104,7 +104,7 @@ module Aws::VerifiedPermissions end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_fips=>false, :use_dual_stack=>true, :region=>"cn-north-1"}) + params = EndpointParameters.new(**{:region=>"cn-north-1", :use_fips=>false, :use_dual_stack=>true}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -118,7 +118,7 @@ module Aws::VerifiedPermissions end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_fips=>false, :use_dual_stack=>false, :region=>"cn-north-1"}) + params = EndpointParameters.new(**{:region=>"cn-north-1", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -126,26 +126,27 @@ module Aws::VerifiedPermissions end end - context 'For region us-iso-east-1 with FIPS enabled and DualStack enabled' do + context 'For region us-gov-east-1 with FIPS enabled and DualStack enabled' do let(:expected) do - {"error"=>"FIPS and DualStack are enabled, but this partition does not support one or both"} + {"endpoint"=>{"url"=>"https://verifiedpermissions-fips.us-gov-east-1.api.aws"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_fips=>true, :use_dual_stack=>true, :region=>"us-iso-east-1"}) - expect do - subject.resolve_endpoint(params) - end.to raise_error(ArgumentError, expected['error']) + params = EndpointParameters.new(**{:region=>"us-gov-east-1", :use_fips=>true, :use_dual_stack=>true}) + endpoint = subject.resolve_endpoint(params) + expect(endpoint.url).to eq(expected['endpoint']['url']) + expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) + expect(endpoint.properties).to eq(expected['endpoint']['properties'] || {}) end end - context 'For region us-iso-east-1 with FIPS enabled and DualStack disabled' do + context 'For region us-gov-east-1 with FIPS enabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://verifiedpermissions-fips.us-iso-east-1.c2s.ic.gov"}} + {"endpoint"=>{"url"=>"https://verifiedpermissions-fips.us-gov-east-1.amazonaws.com"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_fips=>true, :use_dual_stack=>false, :region=>"us-iso-east-1"}) + params = EndpointParameters.new(**{:region=>"us-gov-east-1", :use_fips=>true, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -153,26 +154,27 @@ module Aws::VerifiedPermissions end end - context 'For region us-iso-east-1 with FIPS disabled and DualStack enabled' do + context 'For region us-gov-east-1 with FIPS disabled and DualStack enabled' do let(:expected) do - {"error"=>"DualStack is enabled but this partition does not support DualStack"} + {"endpoint"=>{"url"=>"https://verifiedpermissions.us-gov-east-1.api.aws"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_fips=>false, :use_dual_stack=>true, :region=>"us-iso-east-1"}) - expect do - subject.resolve_endpoint(params) - end.to raise_error(ArgumentError, expected['error']) + params = EndpointParameters.new(**{:region=>"us-gov-east-1", :use_fips=>false, :use_dual_stack=>true}) + endpoint = subject.resolve_endpoint(params) + expect(endpoint.url).to eq(expected['endpoint']['url']) + expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) + expect(endpoint.properties).to eq(expected['endpoint']['properties'] || {}) end end - context 'For region us-iso-east-1 with FIPS disabled and DualStack disabled' do + context 'For region us-gov-east-1 with FIPS disabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://verifiedpermissions.us-iso-east-1.c2s.ic.gov"}} + {"endpoint"=>{"url"=>"https://verifiedpermissions.us-gov-east-1.amazonaws.com"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_fips=>false, :use_dual_stack=>false, :region=>"us-iso-east-1"}) + params = EndpointParameters.new(**{:region=>"us-gov-east-1", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -180,27 +182,26 @@ module Aws::VerifiedPermissions end end - context 'For region us-east-1 with FIPS enabled and DualStack enabled' do + context 'For region us-iso-east-1 with FIPS enabled and DualStack enabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://verifiedpermissions-fips.us-east-1.api.aws"}} + {"error"=>"FIPS and DualStack are enabled, but this partition does not support one or both"} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_fips=>true, :use_dual_stack=>true, :region=>"us-east-1"}) - endpoint = subject.resolve_endpoint(params) - expect(endpoint.url).to eq(expected['endpoint']['url']) - expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) - expect(endpoint.properties).to eq(expected['endpoint']['properties'] || {}) + params = EndpointParameters.new(**{:region=>"us-iso-east-1", :use_fips=>true, :use_dual_stack=>true}) + expect do + subject.resolve_endpoint(params) + end.to raise_error(ArgumentError, expected['error']) end end - context 'For region us-east-1 with FIPS enabled and DualStack disabled' do + context 'For region us-iso-east-1 with FIPS enabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://verifiedpermissions-fips.us-east-1.amazonaws.com"}} + {"endpoint"=>{"url"=>"https://verifiedpermissions-fips.us-iso-east-1.c2s.ic.gov"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_fips=>true, :use_dual_stack=>false, :region=>"us-east-1"}) + params = EndpointParameters.new(**{:region=>"us-iso-east-1", :use_fips=>true, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -208,27 +209,26 @@ module Aws::VerifiedPermissions end end - context 'For region us-east-1 with FIPS disabled and DualStack enabled' do + context 'For region us-iso-east-1 with FIPS disabled and DualStack enabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://verifiedpermissions.us-east-1.api.aws"}} + {"error"=>"DualStack is enabled but this partition does not support DualStack"} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_fips=>false, :use_dual_stack=>true, :region=>"us-east-1"}) - endpoint = subject.resolve_endpoint(params) - expect(endpoint.url).to eq(expected['endpoint']['url']) - expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) - expect(endpoint.properties).to eq(expected['endpoint']['properties'] || {}) + params = EndpointParameters.new(**{:region=>"us-iso-east-1", :use_fips=>false, :use_dual_stack=>true}) + expect do + subject.resolve_endpoint(params) + end.to raise_error(ArgumentError, expected['error']) end end - context 'For region us-east-1 with FIPS disabled and DualStack disabled' do + context 'For region us-iso-east-1 with FIPS disabled and DualStack disabled' do let(:expected) do - {"endpoint"=>{"url"=>"https://verifiedpermissions.us-east-1.amazonaws.com"}} + {"endpoint"=>{"url"=>"https://verifiedpermissions.us-iso-east-1.c2s.ic.gov"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_fips=>false, :use_dual_stack=>false, :region=>"us-east-1"}) + params = EndpointParameters.new(**{:region=>"us-iso-east-1", :use_fips=>false, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -242,7 +242,7 @@ module Aws::VerifiedPermissions end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_fips=>true, :use_dual_stack=>true, :region=>"us-isob-east-1"}) + params = EndpointParameters.new(**{:region=>"us-isob-east-1", :use_fips=>true, :use_dual_stack=>true}) expect do subject.resolve_endpoint(params) end.to raise_error(ArgumentError, expected['error']) @@ -255,7 +255,7 @@ module Aws::VerifiedPermissions end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_fips=>true, :use_dual_stack=>false, :region=>"us-isob-east-1"}) + params = EndpointParameters.new(**{:region=>"us-isob-east-1", :use_fips=>true, :use_dual_stack=>false}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -269,7 +269,7 @@ module Aws::VerifiedPermissions end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_fips=>false, :use_dual_stack=>true, :region=>"us-isob-east-1"}) + params = EndpointParameters.new(**{:region=>"us-isob-east-1", :use_fips=>false, :use_dual_stack=>true}) expect do subject.resolve_endpoint(params) end.to raise_error(ArgumentError, expected['error']) @@ -282,7 +282,21 @@ module Aws::VerifiedPermissions end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_fips=>false, :use_dual_stack=>false, :region=>"us-isob-east-1"}) + params = EndpointParameters.new(**{:region=>"us-isob-east-1", :use_fips=>false, :use_dual_stack=>false}) + endpoint = subject.resolve_endpoint(params) + expect(endpoint.url).to eq(expected['endpoint']['url']) + expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) + expect(endpoint.properties).to eq(expected['endpoint']['properties'] || {}) + end + end + + context 'For custom endpoint with region set and fips disabled and dualstack disabled' do + let(:expected) do + {"endpoint"=>{"url"=>"https://example.com"}} + end + + it 'produces the expected output from the EndpointProvider' do + params = EndpointParameters.new(**{:region=>"us-east-1", :use_fips=>false, :use_dual_stack=>false, :endpoint=>"https://example.com"}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -290,13 +304,13 @@ module Aws::VerifiedPermissions end end - context 'For custom endpoint with fips disabled and dualstack disabled' do + context 'For custom endpoint with region not set and fips disabled and dualstack disabled' do let(:expected) do {"endpoint"=>{"url"=>"https://example.com"}} end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_fips=>false, :use_dual_stack=>false, :region=>"us-east-1", :endpoint=>"https://example.com"}) + params = EndpointParameters.new(**{:use_fips=>false, :use_dual_stack=>false, :endpoint=>"https://example.com"}) endpoint = subject.resolve_endpoint(params) expect(endpoint.url).to eq(expected['endpoint']['url']) expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {}) @@ -310,7 +324,7 @@ module Aws::VerifiedPermissions end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_fips=>true, :use_dual_stack=>false, :region=>"us-east-1", :endpoint=>"https://example.com"}) + params = EndpointParameters.new(**{:region=>"us-east-1", :use_fips=>true, :use_dual_stack=>false, :endpoint=>"https://example.com"}) expect do subject.resolve_endpoint(params) end.to raise_error(ArgumentError, expected['error']) @@ -323,7 +337,20 @@ module Aws::VerifiedPermissions end it 'produces the expected output from the EndpointProvider' do - params = EndpointParameters.new(**{:use_fips=>false, :use_dual_stack=>true, :region=>"us-east-1", :endpoint=>"https://example.com"}) + params = EndpointParameters.new(**{:region=>"us-east-1", :use_fips=>false, :use_dual_stack=>true, :endpoint=>"https://example.com"}) + expect do + subject.resolve_endpoint(params) + end.to raise_error(ArgumentError, expected['error']) + end + end + + context 'Missing region' do + let(:expected) do + {"error"=>"Invalid Configuration: Missing Region"} + end + + it 'produces the expected output from the EndpointProvider' do + params = EndpointParameters.new(**{}) expect do subject.resolve_endpoint(params) end.to raise_error(ArgumentError, expected['error'])