diff --git a/.all-contributorsrc b/.all-contributorsrc index 0315fda2a36e..70dec9709a92 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -868,6 +868,24 @@ "contributions": [ "code" ] + }, + { + "login": "psnilesh", + "name": "Nilesh PS", + "avatar_url": "https://avatars.githubusercontent.com/u/12656997?v=4", + "profile": "https://github.com/psnilesh", + "contributions": [ + "code" + ] + }, + { + "login": "swar8080", + "name": "Steven Swartz", + "avatar_url": "https://avatars.githubusercontent.com/u/17691679?v=4", + "profile": "https://github.com/swar8080", + "contributions": [ + "code" + ] } ], "contributorsPerLine": 7, diff --git a/.changes/2.20.144.json b/.changes/2.20.144.json new file mode 100644 index 000000000000..70e3e02e1526 --- /dev/null +++ b/.changes/2.20.144.json @@ -0,0 +1,42 @@ +{ + "version": "2.20.144", + "date": "2023-09-08", + "entries": [ + { + "type": "bugfix", + "category": "AWS SDK for Java v2", + "contributor": "", + "description": "Fixed an issue in async client where the future would get stuck if there is a server error and the server fails to return response body that matches with the content length specified in the response header. See [#4354](https://github.com/aws/aws-sdk-java-v2/issues/4354)" + }, + { + "type": "feature", + "category": "AWS Single Sign-On Admin", + "contributor": "", + "description": "Content updates to IAM Identity Center API for China Regions." + }, + { + "type": "feature", + "category": "Amazon FSx", + "contributor": "", + "description": "Amazon FSx documentation fixes" + }, + { + "type": "feature", + "category": "Amazon SageMaker Service", + "contributor": "", + "description": "Autopilot APIs will now support holiday featurization for Timeseries models. The models will now hold holiday metadata and should be able to accommodate holiday effect during inference." + }, + { + "type": "feature", + "category": "Amazon WorkSpaces", + "contributor": "", + "description": "A new field \"ErrorDetails\" will be added to the output of \"DescribeWorkspaceImages\" API call. This field provides in-depth details about the error occurred during image import process. These details include the possible causes of the errors and troubleshooting information." + }, + { + "type": "feature", + "category": "AWS SDK for Java v2", + "contributor": "", + "description": "Updated endpoint and partition metadata." + } + ] +} \ No newline at end of file diff --git a/.changes/2.20.145.json b/.changes/2.20.145.json new file mode 100644 index 000000000000..b396519f7d3f --- /dev/null +++ b/.changes/2.20.145.json @@ -0,0 +1,24 @@ +{ + "version": "2.20.145", + "date": "2023-09-11", + "entries": [ + { + "type": "feature", + "category": "AWS Elemental MediaLive", + "contributor": "", + "description": "AWS Elemental Link now supports attaching a Link UHD device to a MediaConnect flow." + }, + { + "type": "feature", + "category": "Amazon EC2 Container Registry", + "contributor": "", + "description": "This release will have ValidationException be thrown from ECR LifecyclePolicy APIs in regions LifecyclePolicy is not supported, this includes existing Amazon Dedicated Cloud (ADC) regions. This release will also change Tag: TagValue and Tag: TagKey to required." + }, + { + "type": "feature", + "category": "Amazon QuickSight", + "contributor": "", + "description": "This release launches new updates to QuickSight KPI visuals - support for sparklines, new templated layout and new targets for conditional formatting rules." + } + ] +} \ No newline at end of file diff --git a/.changes/2.20.146.json b/.changes/2.20.146.json new file mode 100644 index 000000000000..eba3a83c79d4 --- /dev/null +++ b/.changes/2.20.146.json @@ -0,0 +1,42 @@ +{ + "version": "2.20.146", + "date": "2023-09-12", + "entries": [ + { + "type": "bugfix", + "category": "AWS CRT-based S3 Client", + "contributor": "", + "description": "Improved CRT client uploads by directly passing requestPath, eliminating unnecessary file I/O in the Java SDK Transfer Manager." + }, + { + "type": "feature", + "category": "AWSKendraFrontendService", + "contributor": "", + "description": "Amazon Kendra now supports confidence score buckets for retrieved passage results using the Retrieve API." + }, + { + "type": "feature", + "category": "Amazon DynamoDB Enhanced Client", + "contributor": "psnilesh", + "description": "This commit introduces DynamoDbTable#getItemWithResponse() that allows customers to specify additional parameters on the request such as ReturnConsumedCapacity to get additional information the service response." + }, + { + "type": "feature", + "category": "Amazon Elastic Compute Cloud", + "contributor": "", + "description": "This release adds support for restricting public sharing of AMIs through AMI Block Public Access" + }, + { + "type": "feature", + "category": "Amazon EventBridge", + "contributor": "", + "description": "Adds sensitive trait to various shapes in Jetstream Connections API model." + }, + { + "type": "feature", + "category": "AWS SDK for Java v2", + "contributor": "", + "description": "Updated endpoint and partition metadata." + } + ] +} \ No newline at end of file diff --git a/.changes/2.20.147.json b/.changes/2.20.147.json new file mode 100644 index 000000000000..3f00d281a4b6 --- /dev/null +++ b/.changes/2.20.147.json @@ -0,0 +1,78 @@ +{ + "version": "2.20.147", + "date": "2023-09-13", + "entries": [ + { + "type": "bugfix", + "category": "AWS SDK for Java v2", + "contributor": "faucct", + "description": "Fix `InputStreamSubscriber` to return 0 when reading a length of 0." + }, + { + "type": "bugfix", + "category": "AWS SDK for Java v2", + "contributor": "", + "description": "Allow IamPolicy to read json policies where the principal value is itself an array" + }, + { + "type": "feature", + "category": "AWS Cloud9", + "contributor": "", + "description": "Update to include information on Ubuntu 18 deprecation." + }, + { + "type": "feature", + "category": "AWS SimSpace Weaver", + "contributor": "", + "description": "Edited the introductory text for the API reference." + }, + { + "type": "feature", + "category": "AWS X-Ray", + "contributor": "", + "description": "Add StartTime field in GetTraceSummaries API response for each TraceSummary." + }, + { + "type": "feature", + "category": "Amazon CloudWatch Internet Monitor", + "contributor": "", + "description": "This release updates the Amazon CloudWatch Internet Monitor API domain name." + }, + { + "type": "feature", + "category": "Amazon DynamoDB Enhanced Client", + "contributor": "psnilesh", + "description": "This commit introduces returnConsumedCapacity input to BatchGetItemEnhancedRequest that allows customers to find out exactly how much read units were consumed by the operation." + }, + { + "type": "feature", + "category": "Amazon GuardDuty", + "contributor": "", + "description": "Add `managementType` field to ListCoverage API response." + }, + { + "type": "feature", + "category": "Amazon Interactive Video Service RealTime", + "contributor": "", + "description": "Doc only update that changes description for ParticipantToken." + }, + { + "type": "feature", + "category": "Amazon Kinesis Firehose", + "contributor": "", + "description": "DocumentIdOptions has been added for the Amazon OpenSearch destination." + }, + { + "type": "feature", + "category": "Elastic Disaster Recovery Service", + "contributor": "", + "description": "Updated existing APIs and added new ones to support using AWS Elastic Disaster Recovery post-launch actions. Added support for new regions." + }, + { + "type": "feature", + "category": "AWS SDK for Java v2", + "contributor": "", + "description": "Updated endpoint and partition metadata." + } + ] +} \ No newline at end of file diff --git a/.changes/2.20.148.json b/.changes/2.20.148.json new file mode 100644 index 000000000000..b91ff2f48241 --- /dev/null +++ b/.changes/2.20.148.json @@ -0,0 +1,36 @@ +{ + "version": "2.20.148", + "date": "2023-09-14", + "entries": [ + { + "type": "feature", + "category": "AWS CloudFormation", + "contributor": "", + "description": "Documentation updates for AWS CloudFormation" + }, + { + "type": "feature", + "category": "AWS EntityResolution", + "contributor": "", + "description": "Changed \"ResolutionTechniques\" and \"MappedInputFields\" in workflow and schema mapping operations to be required fields." + }, + { + "type": "feature", + "category": "Amazon AppStream", + "contributor": "", + "description": "This release introduces multi-session fleets, allowing customers to provision more than one user session on a single fleet instance." + }, + { + "type": "feature", + "category": "Amazon Lookout for Equipment", + "contributor": "", + "description": "This release adds APIs for the new scheduled retraining feature." + }, + { + "type": "feature", + "category": "AWS SDK for Java v2", + "contributor": "", + "description": "Updated endpoint and partition metadata." + } + ] +} \ No newline at end of file diff --git a/.changes/2.20.149.json b/.changes/2.20.149.json new file mode 100644 index 000000000000..6a32940b6b8d --- /dev/null +++ b/.changes/2.20.149.json @@ -0,0 +1,36 @@ +{ + "version": "2.20.149", + "date": "2023-09-15", + "entries": [ + { + "type": "feature", + "category": "AWS DataSync", + "contributor": "", + "description": "Documentation-only updates for AWS DataSync." + }, + { + "type": "feature", + "category": "Amazon AppStream", + "contributor": "", + "description": "This release introduces app block builder, allowing customers to provision a resource to package applications into an app block" + }, + { + "type": "feature", + "category": "Amazon Connect Service", + "contributor": "", + "description": "New rule type (OnMetricDataUpdate) has been added" + }, + { + "type": "feature", + "category": "Amazon SageMaker Service", + "contributor": "", + "description": "This release introduces Skip Model Validation for Model Packages" + }, + { + "type": "feature", + "category": "AWS SDK for Java v2", + "contributor": "", + "description": "Updated endpoint and partition metadata." + } + ] +} \ No newline at end of file diff --git a/.changes/2.20.150.json b/.changes/2.20.150.json new file mode 100644 index 000000000000..10a62d2fc16f --- /dev/null +++ b/.changes/2.20.150.json @@ -0,0 +1,30 @@ +{ + "version": "2.20.150", + "date": "2023-09-18", + "entries": [ + { + "type": "bugfix", + "category": "AWS SDK for Java v2", + "contributor": "", + "description": "Do not instruct the CRT Sigv4a signer to do path normalization to avoid signature mismatch errors" + }, + { + "type": "feature", + "category": "AWS Application Discovery Service", + "contributor": "", + "description": "Add sensitive protection for customer information" + }, + { + "type": "feature", + "category": "Amazon Macie 2", + "contributor": "", + "description": "This release changes the default managedDataIdentifierSelector setting for new classification jobs to RECOMMENDED. By default, new classification jobs now use the recommended set of managed data identifiers." + }, + { + "type": "feature", + "category": "Amazon WorkMail", + "contributor": "", + "description": "This release includes four new APIs UpdateUser, UpdateGroup, ListGroupsForEntity and DescribeEntity, along with RemoteUsers and some enhancements to existing APIs." + } + ] +} \ No newline at end of file diff --git a/.changes/2.20.151.json b/.changes/2.20.151.json new file mode 100644 index 000000000000..d96d134c65c8 --- /dev/null +++ b/.changes/2.20.151.json @@ -0,0 +1,30 @@ +{ + "version": "2.20.151", + "date": "2023-09-19", + "entries": [ + { + "type": "feature", + "category": "AWS Outposts", + "contributor": "", + "description": "This release adds the InstanceFamilies field to the ListAssets response." + }, + { + "type": "feature", + "category": "Amazon Elastic Compute Cloud", + "contributor": "", + "description": "This release adds support for C7i, and R7a instance types." + }, + { + "type": "feature", + "category": "Amazon SageMaker Service", + "contributor": "", + "description": "This release adds support for one-time model monitoring schedules that are executed immediately without delay, explicit data analysis windows for model monitoring schedules and exclude features attributes to remove features from model monitor analysis." + }, + { + "type": "feature", + "category": "AWS SDK for Java v2", + "contributor": "", + "description": "Updated endpoint and partition metadata." + } + ] +} \ No newline at end of file diff --git a/.changes/2.20.152.json b/.changes/2.20.152.json new file mode 100644 index 000000000000..f760492ed650 --- /dev/null +++ b/.changes/2.20.152.json @@ -0,0 +1,72 @@ +{ + "version": "2.20.152", + "date": "2023-09-20", + "entries": [ + { + "type": "bugfix", + "category": "S3 Transfer Manager", + "contributor": "", + "description": "Fix [3839](https://github.com/aws/aws-sdk-java-v2/issues/3839) S3 Transfer Manager issue with transferComplete() not called for AsyncRequestBody.fromFile()" + }, + { + "type": "feature", + "category": "AWS App Runner", + "contributor": "", + "description": "This release adds improvements for managing App Runner auto scaling configuration resources. New APIs: UpdateDefaultAutoScalingConfiguration and ListServicesForAutoScalingConfiguration. Updated API: DeleteAutoScalingConfiguration." + }, + { + "type": "feature", + "category": "AWS Cloud Map", + "contributor": "", + "description": "Adds a new DiscoverInstancesRevision API and also adds InstanceRevision field to the DiscoverInstances API response." + }, + { + "type": "feature", + "category": "AWS Lambda", + "contributor": "deki", + "description": "Update aws-lambda-java-core version to 1.2.3" + }, + { + "type": "feature", + "category": "AWS SSO OIDC", + "contributor": "", + "description": "Update FIPS endpoints in aws-us-gov." + }, + { + "type": "feature", + "category": "Amazon AppConfig", + "contributor": "", + "description": "Enabling boto3 paginators for list APIs and adding documentation around ServiceQuotaExceededException errors" + }, + { + "type": "feature", + "category": "Amazon CloudWatch Logs", + "contributor": "", + "description": "Add ClientToken to QueryDefinition CFN Handler in CWL" + }, + { + "type": "feature", + "category": "Amazon Kinesis Video Streams", + "contributor": "", + "description": "Updated DescribeMediaStorageConfiguration, StartEdgeConfigurationUpdate, ImageGenerationConfiguration$SamplingInterval, and UpdateMediaStorageConfiguration to match AWS Docs." + }, + { + "type": "feature", + "category": "Amazon Simple Storage Service", + "contributor": "", + "description": "Fix an issue where the SDK can fail to unmarshall response due to NumberFormatException" + }, + { + "type": "feature", + "category": "CodeArtifact", + "contributor": "", + "description": "Add support for the Swift package format." + }, + { + "type": "feature", + "category": "AWS SDK for Java v2", + "contributor": "", + "description": "Updated endpoint and partition metadata." + } + ] +} \ No newline at end of file diff --git a/.changes/2.20.153.json b/.changes/2.20.153.json new file mode 100644 index 000000000000..b9e457b875f4 --- /dev/null +++ b/.changes/2.20.153.json @@ -0,0 +1,90 @@ +{ + "version": "2.20.153", + "date": "2023-09-22", + "entries": [ + { + "type": "bugfix", + "category": "AWS SDK for Java v2", + "contributor": "", + "description": "Fixed an issue in `InputStreamSubscriber` that could cause NPE to be thrown when close and onSubscribed get invoked concurrently. See [#4081](https://github.com/aws/aws-sdk-java-v2/issues/4081)" + }, + { + "type": "bugfix", + "category": "Amazon DynamoDB", + "contributor": "", + "description": "Fixed a bug in DynamoDbTable.createTable, where global secondary indices with a partition key matching the default partition key of the table would be created as local secondary indices." + }, + { + "type": "bugfix", + "category": "Amazon S3", + "contributor": "", + "description": "Fixed the issue where SdkException is unnecessarily re-wrapped with SdkClientException in S3 multipart client and AWS CRT-based S3 client. See[#4356](https://github.com/aws/aws-sdk-java-v2/issues/4356)" + }, + { + "type": "bugfix", + "category": "Amazon Simple Storage Servic", + "contributor": "", + "description": "Fix for Cross-region calls failure due to AuthorizationHeaderMalformed errors while using clients with configured region as us-east-1." + }, + { + "type": "feature", + "category": "AWS Database Migration Service", + "contributor": "", + "description": "new vendors for DMS CSF: MongoDB, MariaDB, DocumentDb and Redshift" + }, + { + "type": "feature", + "category": "AWS Elemental MediaConvert", + "contributor": "", + "description": "This release supports the creation of of audio-only tracks in CMAF output groups." + }, + { + "type": "feature", + "category": "AWS SDK for Java v2", + "contributor": "", + "description": "Adds support for non-Json String payloads" + }, + { + "type": "feature", + "category": "Amazon CloudWatch Events", + "contributor": "", + "description": "Adds sensitive trait to various shapes in Jetstream Connections API model." + }, + { + "type": "feature", + "category": "Amazon Elastic Compute Cloud", + "contributor": "", + "description": "EC2 M2 Pro Mac instances are powered by Apple M2 Pro Mac Mini computers featuring 12 core CPU, 19 core GPU, 32 GiB of memory, and 16 core Apple Neural Engine and uniquely enabled by the AWS Nitro System through high-speed Thunderbolt connections." + }, + { + "type": "feature", + "category": "Amazon Elastic File System", + "contributor": "", + "description": "Documentation updates for Elastic File System" + }, + { + "type": "feature", + "category": "Amazon GuardDuty", + "contributor": "", + "description": "Add `EKS_CLUSTER_NAME` to filter and sort key." + }, + { + "type": "feature", + "category": "Braket", + "contributor": "", + "description": "This release adds support to view the device queue depth (the number of queued quantum tasks and hybrid jobs on a device) and queue position for a quantum task and hybrid job." + }, + { + "type": "feature", + "category": "DynamoDB Enhanced Client", + "contributor": "", + "description": "Adds count, scanned count and returned consumed capacity to Page, used by Scan and Query operations" + }, + { + "type": "feature", + "category": "AWS SDK for Java v2", + "contributor": "", + "description": "Updated endpoint and partition metadata." + } + ] +} \ No newline at end of file diff --git a/.changes/2.20.154.json b/.changes/2.20.154.json new file mode 100644 index 000000000000..5b17b6b036bd --- /dev/null +++ b/.changes/2.20.154.json @@ -0,0 +1,60 @@ +{ + "version": "2.20.154", + "date": "2023-09-25", + "entries": [ + { + "type": "bugfix", + "category": "S3TransferManager", + "contributor": "graebm", + "description": "Fix [aws-crt-java issue [#686](https://github.com/aws/aws-sdk-java-v2/issues/686)](https://github.com/awslabs/aws-crt-java/issues/686) S3AsyncClient ignoring trustAllCertificatesEnabled setting" + }, + { + "type": "feature", + "category": "AWS Amplify UI Builder", + "contributor": "", + "description": "Support for generating code that is compatible with future versions of amplify project dependencies." + }, + { + "type": "feature", + "category": "AWS WAFV2", + "contributor": "", + "description": "You can now perform an exact match against the web request's JA3 fingerprint." + }, + { + "type": "feature", + "category": "Amazon Chime SDK Media Pipelines", + "contributor": "", + "description": "Adds support for sending WebRTC audio to Amazon Kineses Video Streams." + }, + { + "type": "feature", + "category": "Amazon QuickSight", + "contributor": "", + "description": "Added ability to tag users upon creation." + }, + { + "type": "feature", + "category": "Amazon Simple Systems Manager (SSM)", + "contributor": "", + "description": "This release updates the enum values for ResourceType in SSM DescribeInstanceInformation input and ConnectionStatus in GetConnectionStatus output." + }, + { + "type": "feature", + "category": "EMR Serverless", + "contributor": "", + "description": "This release adds support for application-wide default job configurations." + }, + { + "type": "feature", + "category": "FinSpace Public API", + "contributor": "", + "description": "Adding sensitive trait to attributes. Change max SessionDuration from 720 to 60. Correct \"ApiAccess\" attribute to \"apiAccess\" to maintain consistency between APIs." + }, + { + "type": "feature", + "category": "AWS SDK for Java v2", + "contributor": "", + "description": "Updated endpoint and partition metadata." + } + ] +} \ No newline at end of file diff --git a/.changes/2.20.155.json b/.changes/2.20.155.json new file mode 100644 index 000000000000..6c5830b8cd07 --- /dev/null +++ b/.changes/2.20.155.json @@ -0,0 +1,66 @@ +{ + "version": "2.20.155", + "date": "2023-09-26", + "entries": [ + { + "type": "bugfix", + "category": "Amazon DynamoDB Enhanced Client", + "contributor": "swar8080", + "description": "Provides a clearer exception message when building a ReadBatch or WriteBatch without setting the mappedTableResource (table)" + }, + { + "type": "feature", + "category": "AWS App Runner", + "contributor": "", + "description": "This release allows an App Runner customer to specify a custom source directory to run the build & start command. This change allows App Runner to support monorepo based repositories" + }, + { + "type": "feature", + "category": "AWS CodeDeploy", + "contributor": "", + "description": "CodeDeploy now supports In-place and Blue/Green EC2 deployments with multiple Classic Load Balancers and multiple Target Groups." + }, + { + "type": "feature", + "category": "AWS Lake Formation", + "contributor": "", + "description": "This release adds three new API support \"CreateLakeFormationOptIn\", \"DeleteLakeFormationOptIn\" and \"ListLakeFormationOptIns\", and also updates the corresponding documentation." + }, + { + "type": "feature", + "category": "Amazon AppIntegrations Service", + "contributor": "", + "description": "The Amazon AppIntegrations service adds a set of APIs (in preview) to manage third party applications to be used in Amazon Connect agent workspace." + }, + { + "type": "feature", + "category": "Amazon Connect Service", + "contributor": "", + "description": "This release updates a set of Amazon Connect APIs that provides the ability to integrate third party applications in the Amazon Connect agent workspace." + }, + { + "type": "feature", + "category": "Amazon DynamoDB", + "contributor": "", + "description": "Amazon DynamoDB now supports Incremental Export as an enhancement to the existing Export Table" + }, + { + "type": "feature", + "category": "Amazon Elastic Compute Cloud", + "contributor": "", + "description": "The release includes AWS verified access to support FIPs compliance in North America regions" + }, + { + "type": "feature", + "category": "Amazon Pinpoint", + "contributor": "", + "description": "Update documentation for RemoveAttributes to more accurately reflect its behavior when attributes are deleted." + }, + { + "type": "feature", + "category": "Amazon Simple Storage Service", + "contributor": "", + "description": "This release adds a new field COMPLETED to the ReplicationStatus Enum. You can now use this field to validate the replication status of S3 objects using the AWS SDK." + } + ] +} \ No newline at end of file diff --git a/.changes/2.20.156.json b/.changes/2.20.156.json new file mode 100644 index 000000000000..60b75aaf6ff7 --- /dev/null +++ b/.changes/2.20.156.json @@ -0,0 +1,36 @@ +{ + "version": "2.20.156", + "date": "2023-09-27", + "entries": [ + { + "type": "feature", + "category": "AWS IoT", + "contributor": "", + "description": "Added support for IoT Rules Engine Kafka Action Headers" + }, + { + "type": "feature", + "category": "Amazon Cognito Identity Provider", + "contributor": "", + "description": "The UserPoolType Status field is no longer used." + }, + { + "type": "feature", + "category": "Amazon Kinesis Firehose", + "contributor": "", + "description": "Features : Adding support for new data ingestion source to Kinesis Firehose - AWS Managed Services Kafka." + }, + { + "type": "feature", + "category": "Amazon Textract", + "contributor": "", + "description": "This release adds new feature - Layout to Analyze Document API which can automatically extract layout elements such as titles, paragraphs, headers, section headers, lists, page numbers, footers, table areas, key-value areas and figure areas and order the elements as a human would read." + }, + { + "type": "feature", + "category": "AWS SDK for Java v2", + "contributor": "", + "description": "Updated endpoint and partition metadata." + } + ] +} \ No newline at end of file diff --git a/.changes/2.20.157.json b/.changes/2.20.157.json new file mode 100644 index 000000000000..45de906e9733 --- /dev/null +++ b/.changes/2.20.157.json @@ -0,0 +1,60 @@ +{ + "version": "2.20.157", + "date": "2023-09-28", + "entries": [ + { + "type": "feature", + "category": "AWS Budgets", + "contributor": "", + "description": "Update DescribeBudgets and DescribeBudgetNotificationsForAccount MaxResults limit to 1000." + }, + { + "type": "feature", + "category": "AWS IoT FleetWise", + "contributor": "", + "description": "AWS IoT FleetWise now supports encryption through a customer managed AWS KMS key. The PutEncryptionConfiguration and GetEncryptionConfiguration APIs were added." + }, + { + "type": "feature", + "category": "AWS WAFV2", + "contributor": "", + "description": "Correct and improve the documentation for the FieldToMatch option JA3 fingerprint." + }, + { + "type": "feature", + "category": "Amazon Bedrock", + "contributor": "", + "description": "Model Invocation logging added to enable or disable logs in customer account. Model listing and description support added. Provisioned Throughput feature added. Custom model support added for creating custom models. Also includes list, and delete functions for custom model." + }, + { + "type": "feature", + "category": "Amazon Bedrock Runtime", + "contributor": "", + "description": "Run Inference: Added support to run the inference on models. Includes set of APIs for running inference in streaming and non-streaming mode." + }, + { + "type": "feature", + "category": "Amazon Elastic Compute Cloud", + "contributor": "", + "description": "Adds support for Customer Managed Key encryption for Amazon Verified Access resources" + }, + { + "type": "feature", + "category": "Amazon SageMaker Feature Store Runtime", + "contributor": "", + "description": "Feature Store supports read/write of records with collection type features." + }, + { + "type": "feature", + "category": "Amazon SageMaker Service", + "contributor": "", + "description": "Online store feature groups supports Standard and InMemory tier storage types for low latency storage for real-time data retrieval. The InMemory tier supports collection types List, Set, and Vector." + }, + { + "type": "feature", + "category": "AWS SDK for Java v2", + "contributor": "", + "description": "Updated endpoint and partition metadata." + } + ] +} \ No newline at end of file diff --git a/.changes/2.20.158.json b/.changes/2.20.158.json new file mode 100644 index 000000000000..6bd07ea00f4d --- /dev/null +++ b/.changes/2.20.158.json @@ -0,0 +1,60 @@ +{ + "version": "2.20.158", + "date": "2023-10-02", + "entries": [ + { + "type": "feature", + "category": "AWS Security Token Service", + "contributor": "", + "description": "STS API updates for assumeRole" + }, + { + "type": "feature", + "category": "AWS Single Sign-On", + "contributor": "", + "description": "Fix FIPS Endpoints in aws-us-gov." + }, + { + "type": "feature", + "category": "AWS Transfer Family", + "contributor": "", + "description": "Documentation updates for AWS Transfer Family" + }, + { + "type": "feature", + "category": "Amazon Bedrock", + "contributor": "", + "description": "Provisioned throughput feature with Amazon and third-party base models, and update validators for model identifier and taggable resource ARNs." + }, + { + "type": "feature", + "category": "Amazon Bedrock Runtime", + "contributor": "", + "description": "Add model timeout exception for InvokeModelWithResponseStream API and update validator for invoke model identifier." + }, + { + "type": "feature", + "category": "Amazon Elastic Compute Cloud", + "contributor": "", + "description": "Introducing Amazon EC2 R7iz instances with 3.9 GHz sustained all-core turbo frequency and deliver up to 20% better performance than previous generation z1d instances." + }, + { + "type": "feature", + "category": "Amazon Managed Blockchain", + "contributor": "", + "description": "Remove Rinkeby as option from Ethereum APIs" + }, + { + "type": "feature", + "category": "Amazon Relational Database Service", + "contributor": "", + "description": "Adds DefaultCertificateForNewLaunches field in the DescribeCertificates API response." + }, + { + "type": "feature", + "category": "AWS SDK for Java v2", + "contributor": "", + "description": "Updated endpoint and partition metadata." + } + ] +} \ No newline at end of file diff --git a/.changes/2.20.159.json b/.changes/2.20.159.json new file mode 100644 index 000000000000..9b52039e8e01 --- /dev/null +++ b/.changes/2.20.159.json @@ -0,0 +1,48 @@ +{ + "version": "2.20.159", + "date": "2023-10-03", + "entries": [ + { + "type": "feature", + "category": "AWS Elemental MediaConvert", + "contributor": "", + "description": "This release adds the ability to replace video frames without modifying the audio essence." + }, + { + "type": "feature", + "category": "AWS Well-Architected Tool", + "contributor": "", + "description": "AWS Well-Architected now supports Review Templates that allows you to create templates with pre-filled answers for Well-Architected and Custom Lens best practices." + }, + { + "type": "feature", + "category": "Amazon Connect Service", + "contributor": "", + "description": "GetMetricDataV2 API: Update to include new metrics CONTACTS_RESOLVED_IN_X , AVG_HOLD_TIME_ALL_CONTACTS , AVG_RESOLUTION_TIME , ABANDONMENT_RATE , AGENT_NON_RESPONSE_WITHOUT_CUSTOMER_ABANDONS with added features: Interval Period, TimeZone, Negate MetricFilters, Extended date time range." + }, + { + "type": "feature", + "category": "Amazon Location Service", + "contributor": "", + "description": "Amazon Location Service adds support for bounding polygon queries. Additionally, the GeofenceCount field has been added to the DescribeGeofenceCollection API response." + }, + { + "type": "feature", + "category": "Amazon SageMaker Service", + "contributor": "", + "description": "This release allows users to run Selective Execution in SageMaker Pipelines without SourcePipelineExecutionArn if selected steps do not have any dependent steps." + }, + { + "type": "feature", + "category": "CloudWatch Observability Access Manager", + "contributor": "", + "description": "This release adds support for sharing AWS::ApplicationInsights::Application resources." + }, + { + "type": "feature", + "category": "AWS SDK for Java v2", + "contributor": "", + "description": "Updated endpoint and partition metadata." + } + ] +} \ No newline at end of file diff --git a/.changes/2.20.160.json b/.changes/2.20.160.json new file mode 100644 index 000000000000..2d319ee802f4 --- /dev/null +++ b/.changes/2.20.160.json @@ -0,0 +1,48 @@ +{ + "version": "2.20.160", + "date": "2023-10-04", + "entries": [ + { + "type": "feature", + "category": "AWS MediaTailor", + "contributor": "", + "description": "Updates DescribeVodSource to include a list of ad break opportunities in the response" + }, + { + "type": "feature", + "category": "AWS SDK for Java v2", + "contributor": "", + "description": "Add support for building JDK 21." + }, + { + "type": "feature", + "category": "Amazon AppConfig", + "contributor": "", + "description": "AWS AppConfig introduces KMS customer-managed key (CMK) encryption support for data saved to AppConfig's hosted configuration store." + }, + { + "type": "feature", + "category": "Amazon DataZone", + "contributor": "", + "description": "Initial release of Amazon DataZone" + }, + { + "type": "feature", + "category": "Amazon SageMaker Service", + "contributor": "", + "description": "Adding support for AdditionalS3DataSource, a data source used for training or inference that is in addition to the input dataset or model data." + }, + { + "type": "feature", + "category": "Application Migration Service", + "contributor": "", + "description": "This release includes the following new APIs: ListConnectors, CreateConnector, UpdateConnector, DeleteConnector and UpdateSourceServer to support the source action framework feature." + }, + { + "type": "feature", + "category": "AWS SDK for Java v2", + "contributor": "", + "description": "Updated endpoint and partition metadata." + } + ] +} \ No newline at end of file diff --git a/.changes/2.20.161.json b/.changes/2.20.161.json new file mode 100644 index 000000000000..5923320021c2 --- /dev/null +++ b/.changes/2.20.161.json @@ -0,0 +1,48 @@ +{ + "version": "2.20.161", + "date": "2023-10-05", + "entries": [ + { + "type": "feature", + "category": "AWS SecurityHub", + "contributor": "", + "description": "Added new resource detail objects to ASFF, including resources for AwsEventsEventbus, AwsEventsEndpoint, AwsDmsEndpoint, AwsDmsReplicationTask, AwsDmsReplicationInstance, AwsRoute53HostedZone, and AwsMskCluster" + }, + { + "type": "feature", + "category": "AWS Storage Gateway", + "contributor": "", + "description": "Add SoftwareVersion to response of DescribeGatewayInformation." + }, + { + "type": "feature", + "category": "Amazon Omics", + "contributor": "", + "description": "Add Etag Support for Omics Storage in ListReadSets and GetReadSetMetadata API" + }, + { + "type": "feature", + "category": "Amazon Relational Database Service", + "contributor": "", + "description": "Updates Amazon RDS documentation for corrections and minor improvements." + }, + { + "type": "feature", + "category": "Amazon Route 53", + "contributor": "", + "description": "Add hostedzonetype filter to ListHostedZones API." + }, + { + "type": "feature", + "category": "Amazon WorkSpaces", + "contributor": "", + "description": "This release introduces Manage applications. This feature allows users to manage their WorkSpaces applications by associating or disassociating their WorkSpaces with applications. The DescribeWorkspaces API will now additionally return OperatingSystemName in its responses." + }, + { + "type": "feature", + "category": "AWS SDK for Java v2", + "contributor": "", + "description": "Updated endpoint and partition metadata." + } + ] +} \ No newline at end of file diff --git a/.changes/2.20.162.json b/.changes/2.20.162.json new file mode 100644 index 000000000000..24128eee8994 --- /dev/null +++ b/.changes/2.20.162.json @@ -0,0 +1,36 @@ +{ + "version": "2.20.162", + "date": "2023-10-06", + "entries": [ + { + "type": "feature", + "category": "AWS Marketplace Catalog Service", + "contributor": "", + "description": "This release adds support for Document type as an alternative for stringified JSON for StartChangeSet, DescribeChangeSet and DescribeEntity APIs" + }, + { + "type": "feature", + "category": "AWS Transfer Family", + "contributor": "", + "description": "This release updates the max character limit of PreAuthenticationLoginBanner and PostAuthenticationLoginBanner to 4096 characters" + }, + { + "type": "feature", + "category": "Amazon Elastic Compute Cloud", + "contributor": "", + "description": "Documentation updates for Elastic Compute Cloud (EC2)." + }, + { + "type": "feature", + "category": "Amazon FSx", + "contributor": "", + "description": "After performing steps to repair the Active Directory configuration of a file system, use this action to initiate the process of attempting to recover to the file system." + }, + { + "type": "feature", + "category": "Amazon QuickSight", + "contributor": "", + "description": "NullOption in FilterListConfiguration; Dataset schema/table max length increased; Support total placement for pivot table visual; Lenient mode relaxes the validation to create resources with definition; Data sources can be added to folders; Redshift data sources support IAM Role-based authentication" + } + ] +} \ No newline at end of file diff --git a/.github/workflows/codebuild-ci.yml b/.github/workflows/codebuild-ci.yml index 4cb3e578bf6d..fbe36b781a4c 100644 --- a/.github/workflows/codebuild-ci.yml +++ b/.github/workflows/codebuild-ci.yml @@ -59,6 +59,20 @@ jobs: timeout-minutes: 120 with: project-name: aws-sdk-java-v2-JDK17 + jdk21-build: + runs-on: ubuntu-latest + steps: + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + role-to-assume: ${{ secrets.CI_AWS_ROLE_ARN }} + aws-region: us-west-2 + role-duration-seconds: 7200 + - name: Run JDK21 build + uses: aws-actions/aws-codebuild-run-build@v1 + timeout-minutes: 120 + with: + project-name: aws-java-sdk-v2-JDK21 windows-jdk8-build: runs-on: ubuntu-latest steps: diff --git a/CHANGELOG.md b/CHANGELOG.md index 222bad8f5c6e..8480a9aca694 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,588 @@ +# __2.20.162__ __2023-10-06__ +## __AWS Marketplace Catalog Service__ + - ### Features + - This release adds support for Document type as an alternative for stringified JSON for StartChangeSet, DescribeChangeSet and DescribeEntity APIs + +## __AWS Transfer Family__ + - ### Features + - This release updates the max character limit of PreAuthenticationLoginBanner and PostAuthenticationLoginBanner to 4096 characters + +## __Amazon Elastic Compute Cloud__ + - ### Features + - Documentation updates for Elastic Compute Cloud (EC2). + +## __Amazon FSx__ + - ### Features + - After performing steps to repair the Active Directory configuration of a file system, use this action to initiate the process of attempting to recover to the file system. + +## __Amazon QuickSight__ + - ### Features + - NullOption in FilterListConfiguration; Dataset schema/table max length increased; Support total placement for pivot table visual; Lenient mode relaxes the validation to create resources with definition; Data sources can be added to folders; Redshift data sources support IAM Role-based authentication + +# __2.20.161__ __2023-10-05__ +## __AWS SDK for Java v2__ + - ### Features + - Updated endpoint and partition metadata. + +## __AWS SecurityHub__ + - ### Features + - Added new resource detail objects to ASFF, including resources for AwsEventsEventbus, AwsEventsEndpoint, AwsDmsEndpoint, AwsDmsReplicationTask, AwsDmsReplicationInstance, AwsRoute53HostedZone, and AwsMskCluster + +## __AWS Storage Gateway__ + - ### Features + - Add SoftwareVersion to response of DescribeGatewayInformation. + +## __Amazon Omics__ + - ### Features + - Add Etag Support for Omics Storage in ListReadSets and GetReadSetMetadata API + +## __Amazon Relational Database Service__ + - ### Features + - Updates Amazon RDS documentation for corrections and minor improvements. + +## __Amazon Route 53__ + - ### Features + - Add hostedzonetype filter to ListHostedZones API. + +## __Amazon WorkSpaces__ + - ### Features + - This release introduces Manage applications. This feature allows users to manage their WorkSpaces applications by associating or disassociating their WorkSpaces with applications. The DescribeWorkspaces API will now additionally return OperatingSystemName in its responses. + +# __2.20.160__ __2023-10-04__ +## __AWS MediaTailor__ + - ### Features + - Updates DescribeVodSource to include a list of ad break opportunities in the response + +## __AWS SDK for Java v2__ + - ### Features + - Add support for building JDK 21. + - Updated endpoint and partition metadata. + +## __Amazon AppConfig__ + - ### Features + - AWS AppConfig introduces KMS customer-managed key (CMK) encryption support for data saved to AppConfig's hosted configuration store. + +## __Amazon DataZone__ + - ### Features + - Initial release of Amazon DataZone + +## __Amazon SageMaker Service__ + - ### Features + - Adding support for AdditionalS3DataSource, a data source used for training or inference that is in addition to the input dataset or model data. + +## __Application Migration Service__ + - ### Features + - This release includes the following new APIs: ListConnectors, CreateConnector, UpdateConnector, DeleteConnector and UpdateSourceServer to support the source action framework feature. + +# __2.20.159__ __2023-10-03__ +## __AWS Elemental MediaConvert__ + - ### Features + - This release adds the ability to replace video frames without modifying the audio essence. + +## __AWS SDK for Java v2__ + - ### Features + - Updated endpoint and partition metadata. + +## __AWS Well-Architected Tool__ + - ### Features + - AWS Well-Architected now supports Review Templates that allows you to create templates with pre-filled answers for Well-Architected and Custom Lens best practices. + +## __Amazon Connect Service__ + - ### Features + - GetMetricDataV2 API: Update to include new metrics CONTACTS_RESOLVED_IN_X , AVG_HOLD_TIME_ALL_CONTACTS , AVG_RESOLUTION_TIME , ABANDONMENT_RATE , AGENT_NON_RESPONSE_WITHOUT_CUSTOMER_ABANDONS with added features: Interval Period, TimeZone, Negate MetricFilters, Extended date time range. + +## __Amazon Location Service__ + - ### Features + - Amazon Location Service adds support for bounding polygon queries. Additionally, the GeofenceCount field has been added to the DescribeGeofenceCollection API response. + +## __Amazon SageMaker Service__ + - ### Features + - This release allows users to run Selective Execution in SageMaker Pipelines without SourcePipelineExecutionArn if selected steps do not have any dependent steps. + +## __CloudWatch Observability Access Manager__ + - ### Features + - This release adds support for sharing AWS::ApplicationInsights::Application resources. + +# __2.20.158__ __2023-10-02__ +## __AWS SDK for Java v2__ + - ### Features + - Updated endpoint and partition metadata. + +## __AWS Security Token Service__ + - ### Features + - STS API updates for assumeRole + +## __AWS Single Sign-On__ + - ### Features + - Fix FIPS Endpoints in aws-us-gov. + +## __AWS Transfer Family__ + - ### Features + - Documentation updates for AWS Transfer Family + +## __Amazon Bedrock__ + - ### Features + - Provisioned throughput feature with Amazon and third-party base models, and update validators for model identifier and taggable resource ARNs. + +## __Amazon Bedrock Runtime__ + - ### Features + - Add model timeout exception for InvokeModelWithResponseStream API and update validator for invoke model identifier. + +## __Amazon Elastic Compute Cloud__ + - ### Features + - Introducing Amazon EC2 R7iz instances with 3.9 GHz sustained all-core turbo frequency and deliver up to 20% better performance than previous generation z1d instances. + +## __Amazon Managed Blockchain__ + - ### Features + - Remove Rinkeby as option from Ethereum APIs + +## __Amazon Relational Database Service__ + - ### Features + - Adds DefaultCertificateForNewLaunches field in the DescribeCertificates API response. + +# __2.20.157__ __2023-09-28__ +## __AWS Budgets__ + - ### Features + - Update DescribeBudgets and DescribeBudgetNotificationsForAccount MaxResults limit to 1000. + +## __AWS IoT FleetWise__ + - ### Features + - AWS IoT FleetWise now supports encryption through a customer managed AWS KMS key. The PutEncryptionConfiguration and GetEncryptionConfiguration APIs were added. + +## __AWS SDK for Java v2__ + - ### Features + - Updated endpoint and partition metadata. + +## __AWS WAFV2__ + - ### Features + - Correct and improve the documentation for the FieldToMatch option JA3 fingerprint. + +## __Amazon Bedrock__ + - ### Features + - Model Invocation logging added to enable or disable logs in customer account. Model listing and description support added. Provisioned Throughput feature added. Custom model support added for creating custom models. Also includes list, and delete functions for custom model. + +## __Amazon Bedrock Runtime__ + - ### Features + - Run Inference: Added support to run the inference on models. Includes set of APIs for running inference in streaming and non-streaming mode. + +## __Amazon Elastic Compute Cloud__ + - ### Features + - Adds support for Customer Managed Key encryption for Amazon Verified Access resources + +## __Amazon SageMaker Feature Store Runtime__ + - ### Features + - Feature Store supports read/write of records with collection type features. + +## __Amazon SageMaker Service__ + - ### Features + - Online store feature groups supports Standard and InMemory tier storage types for low latency storage for real-time data retrieval. The InMemory tier supports collection types List, Set, and Vector. + +# __2.20.156__ __2023-09-27__ +## __AWS IoT__ + - ### Features + - Added support for IoT Rules Engine Kafka Action Headers + +## __AWS SDK for Java v2__ + - ### Features + - Updated endpoint and partition metadata. + +## __Amazon Cognito Identity Provider__ + - ### Features + - The UserPoolType Status field is no longer used. + +## __Amazon Kinesis Firehose__ + - ### Features + - Features : Adding support for new data ingestion source to Kinesis Firehose - AWS Managed Services Kafka. + +## __Amazon Textract__ + - ### Features + - This release adds new feature - Layout to Analyze Document API which can automatically extract layout elements such as titles, paragraphs, headers, section headers, lists, page numbers, footers, table areas, key-value areas and figure areas and order the elements as a human would read. + +# __2.20.155__ __2023-09-26__ +## __AWS App Runner__ + - ### Features + - This release allows an App Runner customer to specify a custom source directory to run the build & start command. This change allows App Runner to support monorepo based repositories + +## __AWS CodeDeploy__ + - ### Features + - CodeDeploy now supports In-place and Blue/Green EC2 deployments with multiple Classic Load Balancers and multiple Target Groups. + +## __AWS Lake Formation__ + - ### Features + - This release adds three new API support "CreateLakeFormationOptIn", "DeleteLakeFormationOptIn" and "ListLakeFormationOptIns", and also updates the corresponding documentation. + +## __Amazon AppIntegrations Service__ + - ### Features + - The Amazon AppIntegrations service adds a set of APIs (in preview) to manage third party applications to be used in Amazon Connect agent workspace. + +## __Amazon Connect Service__ + - ### Features + - This release updates a set of Amazon Connect APIs that provides the ability to integrate third party applications in the Amazon Connect agent workspace. + +## __Amazon DynamoDB__ + - ### Features + - Amazon DynamoDB now supports Incremental Export as an enhancement to the existing Export Table + +## __Amazon DynamoDB Enhanced Client__ + - ### Bugfixes + - Provides a clearer exception message when building a ReadBatch or WriteBatch without setting the mappedTableResource (table) + - Contributed by: [@swar8080](https://github.com/swar8080) + +## __Amazon Elastic Compute Cloud__ + - ### Features + - The release includes AWS verified access to support FIPs compliance in North America regions + +## __Amazon Pinpoint__ + - ### Features + - Update documentation for RemoveAttributes to more accurately reflect its behavior when attributes are deleted. + +## __Amazon Simple Storage Service__ + - ### Features + - This release adds a new field COMPLETED to the ReplicationStatus Enum. You can now use this field to validate the replication status of S3 objects using the AWS SDK. + +## __Contributors__ +Special thanks to the following contributors to this release: + +[@swar8080](https://github.com/swar8080) +# __2.20.154__ __2023-09-25__ +## __AWS Amplify UI Builder__ + - ### Features + - Support for generating code that is compatible with future versions of amplify project dependencies. + +## __AWS SDK for Java v2__ + - ### Features + - Updated endpoint and partition metadata. + +## __AWS WAFV2__ + - ### Features + - You can now perform an exact match against the web request's JA3 fingerprint. + +## __Amazon Chime SDK Media Pipelines__ + - ### Features + - Adds support for sending WebRTC audio to Amazon Kineses Video Streams. + +## __Amazon QuickSight__ + - ### Features + - Added ability to tag users upon creation. + +## __Amazon Simple Systems Manager (SSM)__ + - ### Features + - This release updates the enum values for ResourceType in SSM DescribeInstanceInformation input and ConnectionStatus in GetConnectionStatus output. + +## __EMR Serverless__ + - ### Features + - This release adds support for application-wide default job configurations. + +## __FinSpace Public API__ + - ### Features + - Adding sensitive trait to attributes. Change max SessionDuration from 720 to 60. Correct "ApiAccess" attribute to "apiAccess" to maintain consistency between APIs. + +## __S3TransferManager__ + - ### Bugfixes + - Fix [aws-crt-java issue [#686](https://github.com/aws/aws-sdk-java-v2/issues/686)](https://github.com/awslabs/aws-crt-java/issues/686) S3AsyncClient ignoring trustAllCertificatesEnabled setting + - Contributed by: [@graebm](https://github.com/graebm) + +## __Contributors__ +Special thanks to the following contributors to this release: + +[@graebm](https://github.com/graebm) +# __2.20.153__ __2023-09-22__ +## __AWS Database Migration Service__ + - ### Features + - new vendors for DMS CSF: MongoDB, MariaDB, DocumentDb and Redshift + +## __AWS Elemental MediaConvert__ + - ### Features + - This release supports the creation of of audio-only tracks in CMAF output groups. + +## __AWS SDK for Java v2__ + - ### Features + - Adds support for non-Json String payloads + - Updated endpoint and partition metadata. + + - ### Bugfixes + - Fixed an issue in `InputStreamSubscriber` that could cause NPE to be thrown when close and onSubscribed get invoked concurrently. See [#4081](https://github.com/aws/aws-sdk-java-v2/issues/4081) + +## __Amazon CloudWatch Events__ + - ### Features + - Adds sensitive trait to various shapes in Jetstream Connections API model. + +## __Amazon DynamoDB__ + - ### Bugfixes + - Fixed a bug in DynamoDbTable.createTable, where global secondary indices with a partition key matching the default partition key of the table would be created as local secondary indices. + +## __Amazon Elastic Compute Cloud__ + - ### Features + - EC2 M2 Pro Mac instances are powered by Apple M2 Pro Mac Mini computers featuring 12 core CPU, 19 core GPU, 32 GiB of memory, and 16 core Apple Neural Engine and uniquely enabled by the AWS Nitro System through high-speed Thunderbolt connections. + +## __Amazon Elastic File System__ + - ### Features + - Documentation updates for Elastic File System + +## __Amazon GuardDuty__ + - ### Features + - Add `EKS_CLUSTER_NAME` to filter and sort key. + +## __Amazon S3__ + - ### Bugfixes + - Fixed the issue where SdkException is unnecessarily re-wrapped with SdkClientException in S3 multipart client and AWS CRT-based S3 client. See[#4356](https://github.com/aws/aws-sdk-java-v2/issues/4356) + +## __Amazon Simple Storage Servic__ + - ### Bugfixes + - Fix for Cross-region calls failure due to AuthorizationHeaderMalformed errors while using clients with configured region as us-east-1. + +## __Braket__ + - ### Features + - This release adds support to view the device queue depth (the number of queued quantum tasks and hybrid jobs on a device) and queue position for a quantum task and hybrid job. + +## __DynamoDB Enhanced Client__ + - ### Features + - Adds count, scanned count and returned consumed capacity to Page, used by Scan and Query operations + +# __2.20.152__ __2023-09-20__ +## __AWS App Runner__ + - ### Features + - This release adds improvements for managing App Runner auto scaling configuration resources. New APIs: UpdateDefaultAutoScalingConfiguration and ListServicesForAutoScalingConfiguration. Updated API: DeleteAutoScalingConfiguration. + +## __AWS Cloud Map__ + - ### Features + - Adds a new DiscoverInstancesRevision API and also adds InstanceRevision field to the DiscoverInstances API response. + +## __AWS Lambda__ + - ### Features + - Update aws-lambda-java-core version to 1.2.3 + - Contributed by: [@deki](https://github.com/deki) + +## __AWS SDK for Java v2__ + - ### Features + - Updated endpoint and partition metadata. + +## __AWS SSO OIDC__ + - ### Features + - Update FIPS endpoints in aws-us-gov. + +## __Amazon AppConfig__ + - ### Features + - Enabling boto3 paginators for list APIs and adding documentation around ServiceQuotaExceededException errors + +## __Amazon CloudWatch Logs__ + - ### Features + - Add ClientToken to QueryDefinition CFN Handler in CWL + +## __Amazon Kinesis Video Streams__ + - ### Features + - Updated DescribeMediaStorageConfiguration, StartEdgeConfigurationUpdate, ImageGenerationConfiguration$SamplingInterval, and UpdateMediaStorageConfiguration to match AWS Docs. + +## __Amazon Simple Storage Service__ + - ### Features + - Fix an issue where the SDK can fail to unmarshall response due to NumberFormatException + +## __CodeArtifact__ + - ### Features + - Add support for the Swift package format. + +## __S3 Transfer Manager__ + - ### Bugfixes + - Fix [3839](https://github.com/aws/aws-sdk-java-v2/issues/3839) S3 Transfer Manager issue with transferComplete() not called for AsyncRequestBody.fromFile() + +## __Contributors__ +Special thanks to the following contributors to this release: + +[@deki](https://github.com/deki) +# __2.20.151__ __2023-09-19__ +## __AWS Outposts__ + - ### Features + - This release adds the InstanceFamilies field to the ListAssets response. + +## __AWS SDK for Java v2__ + - ### Features + - Updated endpoint and partition metadata. + +## __Amazon Elastic Compute Cloud__ + - ### Features + - This release adds support for C7i, and R7a instance types. + +## __Amazon SageMaker Service__ + - ### Features + - This release adds support for one-time model monitoring schedules that are executed immediately without delay, explicit data analysis windows for model monitoring schedules and exclude features attributes to remove features from model monitor analysis. + +# __2.20.150__ __2023-09-18__ +## __AWS Application Discovery Service__ + - ### Features + - Add sensitive protection for customer information + +## __AWS SDK for Java v2__ + - ### Bugfixes + - Do not instruct the CRT Sigv4a signer to do path normalization to avoid signature mismatch errors + +## __Amazon Macie 2__ + - ### Features + - This release changes the default managedDataIdentifierSelector setting for new classification jobs to RECOMMENDED. By default, new classification jobs now use the recommended set of managed data identifiers. + +## __Amazon WorkMail__ + - ### Features + - This release includes four new APIs UpdateUser, UpdateGroup, ListGroupsForEntity and DescribeEntity, along with RemoteUsers and some enhancements to existing APIs. + +# __2.20.149__ __2023-09-15__ +## __AWS DataSync__ + - ### Features + - Documentation-only updates for AWS DataSync. + +## __AWS SDK for Java v2__ + - ### Features + - Updated endpoint and partition metadata. + +## __Amazon AppStream__ + - ### Features + - This release introduces app block builder, allowing customers to provision a resource to package applications into an app block + +## __Amazon Connect Service__ + - ### Features + - New rule type (OnMetricDataUpdate) has been added + +## __Amazon SageMaker Service__ + - ### Features + - This release introduces Skip Model Validation for Model Packages + +# __2.20.148__ __2023-09-14__ +## __AWS CloudFormation__ + - ### Features + - Documentation updates for AWS CloudFormation + +## __AWS EntityResolution__ + - ### Features + - Changed "ResolutionTechniques" and "MappedInputFields" in workflow and schema mapping operations to be required fields. + +## __AWS SDK for Java v2__ + - ### Features + - Updated endpoint and partition metadata. + +## __Amazon AppStream__ + - ### Features + - This release introduces multi-session fleets, allowing customers to provision more than one user session on a single fleet instance. + +## __Amazon Lookout for Equipment__ + - ### Features + - This release adds APIs for the new scheduled retraining feature. + +# __2.20.147__ __2023-09-13__ +## __AWS Cloud9__ + - ### Features + - Update to include information on Ubuntu 18 deprecation. + +## __AWS SDK for Java v2__ + - ### Features + - Updated endpoint and partition metadata. + + - ### Bugfixes + - Allow IamPolicy to read json policies where the principal value is itself an array + - Fix `InputStreamSubscriber` to return 0 when reading a length of 0. + - Contributed by: [@faucct](https://github.com/faucct) + +## __AWS SimSpace Weaver__ + - ### Features + - Edited the introductory text for the API reference. + +## __AWS X-Ray__ + - ### Features + - Add StartTime field in GetTraceSummaries API response for each TraceSummary. + +## __Amazon CloudWatch Internet Monitor__ + - ### Features + - This release updates the Amazon CloudWatch Internet Monitor API domain name. + +## __Amazon DynamoDB Enhanced Client__ + - ### Features + - This commit introduces returnConsumedCapacity input to BatchGetItemEnhancedRequest that allows customers to find out exactly how much read units were consumed by the operation. + - Contributed by: [@psnilesh](https://github.com/psnilesh) + +## __Amazon GuardDuty__ + - ### Features + - Add `managementType` field to ListCoverage API response. + +## __Amazon Interactive Video Service RealTime__ + - ### Features + - Doc only update that changes description for ParticipantToken. + +## __Amazon Kinesis Firehose__ + - ### Features + - DocumentIdOptions has been added for the Amazon OpenSearch destination. + +## __Elastic Disaster Recovery Service__ + - ### Features + - Updated existing APIs and added new ones to support using AWS Elastic Disaster Recovery post-launch actions. Added support for new regions. + +## __Contributors__ +Special thanks to the following contributors to this release: + +[@psnilesh](https://github.com/psnilesh), [@faucct](https://github.com/faucct) +# __2.20.146__ __2023-09-12__ +## __AWS CRT-based S3 Client__ + - ### Bugfixes + - Improved CRT client uploads by directly passing requestPath, eliminating unnecessary file I/O in the Java SDK Transfer Manager. + +## __AWS SDK for Java v2__ + - ### Features + - Updated endpoint and partition metadata. + +## __AWSKendraFrontendService__ + - ### Features + - Amazon Kendra now supports confidence score buckets for retrieved passage results using the Retrieve API. + +## __Amazon DynamoDB Enhanced Client__ + - ### Features + - This commit introduces DynamoDbTable#getItemWithResponse() that allows customers to specify additional parameters on the request such as ReturnConsumedCapacity to get additional information the service response. + - Contributed by: [@psnilesh](https://github.com/psnilesh) + +## __Amazon Elastic Compute Cloud__ + - ### Features + - This release adds support for restricting public sharing of AMIs through AMI Block Public Access + +## __Amazon EventBridge__ + - ### Features + - Adds sensitive trait to various shapes in Jetstream Connections API model. + +## __Contributors__ +Special thanks to the following contributors to this release: + +[@psnilesh](https://github.com/psnilesh) +# __2.20.145__ __2023-09-11__ +## __AWS Elemental MediaLive__ + - ### Features + - AWS Elemental Link now supports attaching a Link UHD device to a MediaConnect flow. + +## __Amazon EC2 Container Registry__ + - ### Features + - This release will have ValidationException be thrown from ECR LifecyclePolicy APIs in regions LifecyclePolicy is not supported, this includes existing Amazon Dedicated Cloud (ADC) regions. This release will also change Tag: TagValue and Tag: TagKey to required. + +## __Amazon QuickSight__ + - ### Features + - This release launches new updates to QuickSight KPI visuals - support for sparklines, new templated layout and new targets for conditional formatting rules. + +# __2.20.144__ __2023-09-08__ +## __AWS SDK for Java v2__ + - ### Features + - Updated endpoint and partition metadata. + + - ### Bugfixes + - Fixed an issue in async client where the future would get stuck if there is a server error and the server fails to return response body that matches with the content length specified in the response header. See [#4354](https://github.com/aws/aws-sdk-java-v2/issues/4354) + +## __AWS Single Sign-On Admin__ + - ### Features + - Content updates to IAM Identity Center API for China Regions. + +## __Amazon FSx__ + - ### Features + - Amazon FSx documentation fixes + +## __Amazon SageMaker Service__ + - ### Features + - Autopilot APIs will now support holiday featurization for Timeseries models. The models will now hold holiday metadata and should be able to accommodate holiday effect during inference. + +## __Amazon WorkSpaces__ + - ### Features + - A new field "ErrorDetails" will be added to the output of "DescribeWorkspaceImages" API call. This field provides in-depth details about the error occurred during image import process. These details include the possible causes of the errors and troubleshooting information. + # __2.20.143__ __2023-09-07__ ## __AWS SDK for Java v2__ - ### Features diff --git a/README.md b/README.md index 6550ff19b439..ff23ac79eb0e 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![Gitter](https://badges.gitter.im/aws/aws-sdk-java-v2.svg)](https://gitter.im/aws/aws-sdk-java-v2?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) [![codecov](https://codecov.io/gh/aws/aws-sdk-java-v2/branch/master/graph/badge.svg)](https://codecov.io/gh/aws/aws-sdk-java-v2) -[![All Contributors](https://img.shields.io/badge/all_contributors-96-orange.svg?style=flat-square)](#contributors-) +[![All Contributors](https://img.shields.io/badge/all_contributors-98-orange.svg?style=flat-square)](#contributors-) The **AWS SDK for Java 2.0** is a rewrite of 1.0 with some great new features. As with version 1.0, @@ -52,7 +52,7 @@ To automatically manage module versions (currently all modules have the same ver software.amazon.awssdk bom - 2.20.143 + 2.20.162 pom import @@ -86,12 +86,12 @@ Alternatively you can add dependencies for the specific services you use only: software.amazon.awssdk ec2 - 2.20.143 + 2.20.162 software.amazon.awssdk s3 - 2.20.143 + 2.20.162 ``` @@ -103,7 +103,7 @@ You can import the whole SDK into your project (includes *ALL* services). Please software.amazon.awssdk aws-sdk-java - 2.20.143 + 2.20.162 ``` @@ -150,7 +150,7 @@ For information about maintenance and support for SDK major versions and their u ## Maintenance and Support for Java Versions -We maintain full support on Long-Term Support(LTS) releases: Java 8, Java 11, and Java 17. +We maintain full support on Long-Term Support(LTS) releases: Java 8, Java 11, Java 17, and Java 21. ## Giving Feedback We need your help in making this SDK great. Please participate in the community and contribute to this effort by submitting issues, participating in discussion forums and submitting pull requests through the following channels: @@ -314,6 +314,8 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d Chad Wilson
Chad Wilson

💻 Manish Dait
Manish Dait

📖 Dennis Kieselhorst
Dennis Kieselhorst

💻 + Nilesh PS
Nilesh PS

💻 + Steven Swartz
Steven Swartz

💻 diff --git a/VERSIONING.md b/VERSIONING.md new file mode 100644 index 000000000000..cbce94c879f4 --- /dev/null +++ b/VERSIONING.md @@ -0,0 +1,33 @@ +# Versioning Policy + +The AWS SDK for Java v2 uses a versioning scheme that follows the format: `MAJOR.MINOR.PATCH[-QUALIFIER]`. Revisions to different version components communicate the risk associated with changes when upgrading to newer versions of the SDK: + +* `MAJOR` - Huge changes, expect API incompatibilities and other breaking changes. +* `MINOR` - Medium risk changes. Upgrading SHOULD usually just work but check the [release notes](CHANGELOG.md). Example changes might include incrementing minimum Java version, deprecating APIs, or significant changes to core runtime components. Changes to `MINOR` version MAY contain backwards incompatible changes under certain scenarios. +* `PATCH` - Zero to low risk changes. New features and bug fixes that should be safe to consume without much worry. +* `QUALIFIER` - (Optional) Additional release version qualifier (e.g. PREVIEW). Most releases are not expected to have a qualifier. + +The AWS SDK for Java v2 does NOT follow strict [semantic versioning](https://semver.org/). Patch releases may contain new features in addition to bug fixes. See the FAQ for rationale. + +## Stability of the AWS SDK for Java + +For information about maintenance and support of SDK major versions and their underlying dependencies, see the +following in the AWS SDKs and Tools Shared Configuration and Credentials Reference Guide: + +* [AWS SDKs and Tools Maintenance Policy](https://docs.aws.amazon.com/credref/latest/refdocs/maint-policy.html) +* [AWS SDKs and Tools Version Support Matrix](https://docs.aws.amazon.com/credref/latest/refdocs/version-support-matrix.html) + + +## Component Versioning + +The SDK versions all service clients (e.g. `S3`, `EC2`, `DynamoDb`, etc) and the runtime (e.g. `aws-config`) together under a single version. This allows customers to easily upgrade multiple SDK clients at once and keep dependencies, such as the core runtime, compatible. The SDK may in the future consider versioning service clients separately from one another. + +## Internal APIs + +Any API marked with either `@SdkInternalApi` or `@SdkTestInternalApi` is not subject to any backwards compatibility guarantee. These are meant to be consumed only by the SDK and may be changed or removed without notice. The SDK MAY bump the `MINOR` version when making such a change. + +## FAQ + +**Why does the SDK not follow semantic versioning (semver)?** + +Under semver we’d NEVER use the `PATCH` component. The SDK does *daily* releases containing updates to AWS service models. These changes go out with bug fixes every day. That means for us and customers the `PATCH` version would just be useless, it would always be zero. The intention behind this versioning scheme is to allow customers to weigh the relative risk and/or cost associated with updating to a newer SDK version. diff --git a/archetypes/archetype-app-quickstart/pom.xml b/archetypes/archetype-app-quickstart/pom.xml index 185ed0a02a0d..02f8537a971e 100644 --- a/archetypes/archetype-app-quickstart/pom.xml +++ b/archetypes/archetype-app-quickstart/pom.xml @@ -20,7 +20,7 @@ archetypes software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 diff --git a/archetypes/archetype-lambda/pom.xml b/archetypes/archetype-lambda/pom.xml index c9941332f2d4..77f0e0dc3674 100644 --- a/archetypes/archetype-lambda/pom.xml +++ b/archetypes/archetype-lambda/pom.xml @@ -20,7 +20,7 @@ archetypes software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 archetype-lambda diff --git a/archetypes/archetype-lambda/src/main/resources/archetype-resources/pom.xml b/archetypes/archetype-lambda/src/main/resources/archetype-resources/pom.xml index ea949b36505e..5c94fb662249 100644 --- a/archetypes/archetype-lambda/src/main/resources/archetype-resources/pom.xml +++ b/archetypes/archetype-lambda/src/main/resources/archetype-resources/pom.xml @@ -15,7 +15,7 @@ 3.6.1 1.6.0 ${javaSdkVersion} - 1.2.0 + 1.2.3 5.8.1 #if( $httpClient == 'netty-nio-client') ${nettyOpenSslVersion} diff --git a/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/pom.xml b/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/pom.xml index 1d014a9d6909..10e8f409fcbe 100644 --- a/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/pom.xml +++ b/archetypes/archetype-lambda/src/test/resources/projects/apachehttpclient/reference/pom.xml @@ -14,7 +14,7 @@ 3.6.1 1.6.0 2.11.0 - 1.2.0 + 1.2.3 5.8.1 diff --git a/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/reference/pom.xml b/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/reference/pom.xml index d670c5bf8f37..4ec405ae312f 100644 --- a/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/reference/pom.xml +++ b/archetypes/archetype-lambda/src/test/resources/projects/dynamodbstreamsclient/reference/pom.xml @@ -14,7 +14,7 @@ 3.6.1 1.6.0 2.11.0 - 1.2.0 + 1.2.3 5.8.1 diff --git a/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/reference/pom.xml b/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/reference/pom.xml index d6c06d35cb44..1d4d0c68720a 100644 --- a/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/reference/pom.xml +++ b/archetypes/archetype-lambda/src/test/resources/projects/nettyclient/reference/pom.xml @@ -14,7 +14,7 @@ 3.6.1 1.6.0 2.11.0 - 1.2.0 + 1.2.3 5.8.1 2.0.29.Final diff --git a/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/reference/pom.xml b/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/reference/pom.xml index 006ec752f34b..df43c6ee8b24 100644 --- a/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/reference/pom.xml +++ b/archetypes/archetype-lambda/src/test/resources/projects/urlhttpclient/reference/pom.xml @@ -14,7 +14,7 @@ 3.6.1 1.6.0 2.11.0 - 1.2.0 + 1.2.3 5.8.1 diff --git a/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/pom.xml b/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/pom.xml index 3d609d4d9198..9866899d611a 100644 --- a/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/pom.xml +++ b/archetypes/archetype-lambda/src/test/resources/projects/wafregionalclient/reference/pom.xml @@ -14,7 +14,7 @@ 3.6.1 1.6.0 2.11.0 - 1.2.0 + 1.2.3 5.8.1 diff --git a/archetypes/archetype-tools/pom.xml b/archetypes/archetype-tools/pom.xml index 026ab79a43ef..0fb8a03af5ac 100644 --- a/archetypes/archetype-tools/pom.xml +++ b/archetypes/archetype-tools/pom.xml @@ -20,7 +20,7 @@ archetypes software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 diff --git a/archetypes/pom.xml b/archetypes/pom.xml index 9826f72da31f..11453fc46f46 100644 --- a/archetypes/pom.xml +++ b/archetypes/pom.xml @@ -20,7 +20,7 @@ aws-sdk-java-pom software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 archetypes diff --git a/aws-sdk-java/pom.xml b/aws-sdk-java/pom.xml index 1f307028e68f..6ea6049fe4b5 100644 --- a/aws-sdk-java/pom.xml +++ b/aws-sdk-java/pom.xml @@ -17,7 +17,7 @@ software.amazon.awssdk aws-sdk-java-pom - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ../pom.xml aws-sdk-java @@ -1798,6 +1798,21 @@ Amazon AutoScaling, etc). neptunedata ${awsjavasdk.version} + + software.amazon.awssdk + bedrockruntime + ${awsjavasdk.version} + + + software.amazon.awssdk + bedrock + ${awsjavasdk.version} + + + software.amazon.awssdk + datazone + ${awsjavasdk.version} + ${project.artifactId}-${project.version} diff --git a/bom-internal/pom.xml b/bom-internal/pom.xml index 7a76eb5731c1..c00a69f98a33 100644 --- a/bom-internal/pom.xml +++ b/bom-internal/pom.xml @@ -20,7 +20,7 @@ aws-sdk-java-pom software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 @@ -312,18 +312,6 @@ ${guava.version} test - - org.junit.jupiter - junit-jupiter - ${junit5.version} - test - - - org.junit.vintage - junit-vintage-engine - ${junit5.version} - test - org.mockito mockito-junit-jupiter @@ -484,6 +472,19 @@ plexus-utils 3.0.24 + + net.bytebuddy + byte-buddy + ${bytebuddy.version} + test + + + org.junit + junit-bom + ${junit5.version} + pom + import + diff --git a/bom/pom.xml b/bom/pom.xml index ac0fde385860..3d5bdd49fcba 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -17,7 +17,7 @@ software.amazon.awssdk aws-sdk-java-pom - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ../pom.xml bom @@ -1953,6 +1953,21 @@ neptunedata ${awsjavasdk.version} + + software.amazon.awssdk + bedrockruntime + ${awsjavasdk.version} + + + software.amazon.awssdk + bedrock + ${awsjavasdk.version} + + + software.amazon.awssdk + datazone + ${awsjavasdk.version} + diff --git a/build-tools/src/main/resources/software/amazon/awssdk/spotbugs-suppressions.xml b/build-tools/src/main/resources/software/amazon/awssdk/spotbugs-suppressions.xml index 4e0524deaf52..bb57f0e7fc81 100644 --- a/build-tools/src/main/resources/software/amazon/awssdk/spotbugs-suppressions.xml +++ b/build-tools/src/main/resources/software/amazon/awssdk/spotbugs-suppressions.xml @@ -266,4 +266,11 @@ + + + + + + + diff --git a/buildspecs/release-javadoc.yml b/buildspecs/release-javadoc.yml index 3800bea4fca4..6b91d572f71d 100644 --- a/buildspecs/release-javadoc.yml +++ b/buildspecs/release-javadoc.yml @@ -1,11 +1,11 @@ version: 0.2 env: variables: - JAVA_HOME: "/usr/lib/jvm/java-18-amazon-corretto/" + JAVA_HOME: "/usr/lib/jvm/java-21-amazon-corretto/" phases: install: commands: - - apt-get update; apt-get install -y java-18-amazon-corretto-jdk + - apt-get update; apt-get install -y java-21-amazon-corretto-jdk - update-alternatives --auto javac - update-alternatives --auto java - pip install awscli==1.19.34 --upgrade --user diff --git a/buildspecs/release-to-maven.yml b/buildspecs/release-to-maven.yml index a7e74d68a8a2..7554c01d6461 100644 --- a/buildspecs/release-to-maven.yml +++ b/buildspecs/release-to-maven.yml @@ -3,13 +3,7 @@ version: 0.2 phases: install: commands: - - apt-get update - - apt-get install python3 python3-pip -y - - update-alternatives --install /usr/bin/python python /usr/bin/python3 10 - - update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 10 - - pip install awscli==1.19.34 --upgrade --user - - pip install rsa - - pip install typing + - pip install awscli --upgrade --user pre_build: commands: diff --git a/buildspecs/resources/ci.cloudformation.yml b/buildspecs/resources/ci.cloudformation.yml index 683be63e8595..bd9e7338b63d 100644 --- a/buildspecs/resources/ci.cloudformation.yml +++ b/buildspecs/resources/ci.cloudformation.yml @@ -52,6 +52,7 @@ Resources: - !Sub arn:aws:codebuild:${ AWS::Region }:${ AWS::AccountId }:project/aws-sdk-java-v2 - !Sub arn:aws:codebuild:${ AWS::Region }:${ AWS::AccountId }:project/aws-sdk-java-v2-JDK11 - !Sub arn:aws:codebuild:${ AWS::Region }:${ AWS::AccountId }:project/aws-sdk-java-v2-JDK17 + - !Sub arn:aws:codebuild:${ AWS::Region }:${ AWS::AccountId }:project/aws-java-sdk-v2-JDK21 - !Sub arn:aws:codebuild:${ AWS::Region }:${ AWS::AccountId }:project/aws-sdk-java-v2-JDK8-windows - !Sub arn:aws:codebuild:${ AWS::Region }:${ AWS::AccountId }:project/aws-sdk-java-v2-native-image-test - !Sub arn:aws:codebuild:${ AWS::Region }:${ AWS::AccountId }:project/aws-sdk-java-v2-sonar @@ -62,6 +63,7 @@ Resources: - !Sub arn:aws:logs:${AWS::Region}:${AWS::AccountId}:log-group:/aws/codebuild/aws-sdk-java-v2:* - !Sub arn:aws:logs:${AWS::Region}:${AWS::AccountId}:log-group:/aws/codebuild/aws-sdk-java-v2-JDK11:* - !Sub arn:aws:logs:${AWS::Region}:${AWS::AccountId}:log-group:/aws/codebuild/aws-sdk-java-v2-JDK17:* + - !Sub arn:aws:logs:${AWS::Region}:${AWS::AccountId}:log-group:/aws/codebuild/aws-java-sdk-v2-JDK21:* - !Sub arn:aws:logs:${AWS::Region}:${AWS::AccountId}:log-group:/aws/codebuild/aws-sdk-java-v2-JDK8-windows:* - !Sub arn:aws:logs:${AWS::Region}:${AWS::AccountId}:log-group:/aws/codebuild/aws-sdk-java-v2-native-image-test:* - !Sub arn:aws:logs:${AWS::Region}:${AWS::AccountId}:log-group:/aws/codebuild/aws-sdk-java-v2-sonar:* diff --git a/buildspecs/update-master-from-release.yml b/buildspecs/update-master-from-release.yml index 2ab0d0f6889f..9baa7533677d 100644 --- a/buildspecs/update-master-from-release.yml +++ b/buildspecs/update-master-from-release.yml @@ -34,11 +34,10 @@ phases: - MASTER_VERSION=`mvn -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec` - echo "Master version - $MASTER_VERSION" - - - trap 'echo "Error: Failed to update versions"; exit 1' ERR - | if [ "$MASTER_VERSION" != "$NEW_VERSION_SNAPSHOT" ]; then - mvn versions:set -DnewVersion=$NEW_VERSION_SNAPSHOT -DgenerateBackupPoms=false -DprocessAllModules=true + mvn versions:set -DnewVersion=$NEW_VERSION_SNAPSHOT -DgenerateBackupPoms=false -DprocessAllModules=true || { echo "Failed to update POMs to next snapshot version"; exit 1; } sed -i -E "s/().+(<\/version>)/\1$RELEASE_VERSION\2/" README.md sed -i -E "s/().+(<\/awsjavasdk.previous.version>)/\1$RELEASE_VERSION\2/" pom.xml diff --git a/bundle/pom.xml b/bundle/pom.xml index ab6d529ab801..15c7523d9299 100644 --- a/bundle/pom.xml +++ b/bundle/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk aws-sdk-java-pom - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT bundle jar diff --git a/codegen-lite-maven-plugin/pom.xml b/codegen-lite-maven-plugin/pom.xml index 7e78f834b3df..52e92fceb826 100644 --- a/codegen-lite-maven-plugin/pom.xml +++ b/codegen-lite-maven-plugin/pom.xml @@ -22,7 +22,7 @@ software.amazon.awssdk aws-sdk-java-pom - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ../pom.xml codegen-lite-maven-plugin diff --git a/codegen-lite/pom.xml b/codegen-lite/pom.xml index 4ebcce75f315..65b759bab363 100644 --- a/codegen-lite/pom.xml +++ b/codegen-lite/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk aws-sdk-java-pom - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT codegen-lite AWS Java SDK :: Code Generator Lite diff --git a/codegen-maven-plugin/pom.xml b/codegen-maven-plugin/pom.xml index bd454aaea787..08195fa66c15 100644 --- a/codegen-maven-plugin/pom.xml +++ b/codegen-maven-plugin/pom.xml @@ -22,7 +22,7 @@ software.amazon.awssdk aws-sdk-java-pom - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ../pom.xml codegen-maven-plugin diff --git a/codegen/pom.xml b/codegen/pom.xml index 547a928f64d9..2a5cfc0bfbf1 100644 --- a/codegen/pom.xml +++ b/codegen/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk aws-sdk-java-pom - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT codegen AWS Java SDK :: Code Generator diff --git a/codegen/src/main/java/software/amazon/awssdk/codegen/AddOperations.java b/codegen/src/main/java/software/amazon/awssdk/codegen/AddOperations.java index 79bb81470f5e..1b9f73858e00 100644 --- a/codegen/src/main/java/software/amazon/awssdk/codegen/AddOperations.java +++ b/codegen/src/main/java/software/amazon/awssdk/codegen/AddOperations.java @@ -69,6 +69,13 @@ private static boolean isBlobShape(Shape shape) { return shape != null && "blob".equals(shape.getType()); } + /** + * @return True if shape is a String type. False otherwise + */ + private static boolean isStringShape(Shape shape) { + return shape != null && "String".equalsIgnoreCase(shape.getType()); + } + /** * If there is a member in the output shape that is explicitly marked as the payload (with the * payload trait) this method returns the target shape of that member. Otherwise this method @@ -192,6 +199,9 @@ public Map constructOperations() { if (isBlobShape(getPayloadShape(c2jShapes, outputShape))) { operationModel.setHasBlobMemberAsPayload(true); } + if (isStringShape(getPayloadShape(c2jShapes, outputShape))) { + operationModel.setHasStringMemberAsPayload(true); + } } if (op.getErrors() != null) { diff --git a/codegen/src/main/java/software/amazon/awssdk/codegen/customization/processors/DefaultCustomizationProcessor.java b/codegen/src/main/java/software/amazon/awssdk/codegen/customization/processors/DefaultCustomizationProcessor.java index 2a70f79359f1..d8a61167a7d8 100644 --- a/codegen/src/main/java/software/amazon/awssdk/codegen/customization/processors/DefaultCustomizationProcessor.java +++ b/codegen/src/main/java/software/amazon/awssdk/codegen/customization/processors/DefaultCustomizationProcessor.java @@ -38,7 +38,8 @@ public static CodegenCustomizationProcessor getProcessorFor( new UseLegacyEventGenerationSchemeProcessor(), new NewAndLegacyEventStreamProcessor(), new S3RemoveBucketFromUriProcessor(), - new S3ControlRemoveAccountIdHostPrefixProcessor() + new S3ControlRemoveAccountIdHostPrefixProcessor(), + new ExplicitStringPayloadQueryProtocolProcessor() ); } } diff --git a/codegen/src/main/java/software/amazon/awssdk/codegen/customization/processors/ExplicitStringPayloadQueryProtocolProcessor.java b/codegen/src/main/java/software/amazon/awssdk/codegen/customization/processors/ExplicitStringPayloadQueryProtocolProcessor.java new file mode 100644 index 000000000000..273c231b136d --- /dev/null +++ b/codegen/src/main/java/software/amazon/awssdk/codegen/customization/processors/ExplicitStringPayloadQueryProtocolProcessor.java @@ -0,0 +1,73 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +package software.amazon.awssdk.codegen.customization.processors; + +import java.util.Map; +import software.amazon.awssdk.codegen.customization.CodegenCustomizationProcessor; +import software.amazon.awssdk.codegen.model.intermediate.IntermediateModel; +import software.amazon.awssdk.codegen.model.service.Input; +import software.amazon.awssdk.codegen.model.service.Member; +import software.amazon.awssdk.codegen.model.service.Output; +import software.amazon.awssdk.codegen.model.service.ServiceModel; +import software.amazon.awssdk.codegen.model.service.Shape; + +/** + * Operations with explicit String payloads are not supported for services with Query protocol. We fail the codegen if the + * httpPayload or eventPayload trait is set on a String. + */ +public class ExplicitStringPayloadQueryProtocolProcessor implements CodegenCustomizationProcessor { + @Override + public void preprocess(ServiceModel serviceModel) { + String protocol = serviceModel.getMetadata().getProtocol(); + if (!"ec2".equals(protocol) && !"query".equals(protocol)) { + return; + } + + Map c2jShapes = serviceModel.getShapes(); + + serviceModel.getOperations().forEach((operationName, op) -> { + + Input input = op.getInput(); + if (input != null && isExplicitStringPayload(c2jShapes, c2jShapes.get(input.getShape()))) { + throw new RuntimeException("Operations with explicit String payloads are not supported for Query " + + "protocols. Unsupported operation: " + operationName); + + } + + Output output = op.getOutput(); + if (output != null && isExplicitStringPayload(c2jShapes, c2jShapes.get(output.getShape()))) { + throw new RuntimeException("Operations with explicit String payloads are not supported for Query " + + "protocols. Unsupported operation: " + operationName); + + } + }); + } + + @Override + public void postprocess(IntermediateModel intermediateModel) { + // no-op + } + + private boolean isExplicitStringPayload(Map c2jShapes, Shape shape) { + if (shape.getPayload() == null) { + return false; + } + + Member payloadMember = shape.getMembers().get(shape.getPayload()); + Shape payloadShape = c2jShapes.get(payloadMember.getShape()); + return payloadShape != null && "String".equalsIgnoreCase(payloadShape.getType()); + } +} diff --git a/codegen/src/main/java/software/amazon/awssdk/codegen/model/intermediate/OperationModel.java b/codegen/src/main/java/software/amazon/awssdk/codegen/model/intermediate/OperationModel.java index 1ff197191126..0510abf6e3be 100644 --- a/codegen/src/main/java/software/amazon/awssdk/codegen/model/intermediate/OperationModel.java +++ b/codegen/src/main/java/software/amazon/awssdk/codegen/model/intermediate/OperationModel.java @@ -48,6 +48,8 @@ public class OperationModel extends DocumentationModel { private boolean hasBlobMemberAsPayload; + private boolean hasStringMemberAsPayload; + private boolean isAuthenticated = true; private AuthType authType; @@ -211,6 +213,14 @@ public void setHasBlobMemberAsPayload(boolean hasBlobMemberAsPayload) { this.hasBlobMemberAsPayload = hasBlobMemberAsPayload; } + public boolean getHasStringMemberAsPayload() { + return this.hasStringMemberAsPayload; + } + + public void setHasStringMemberAsPayload(boolean hasStringMemberAsPayload) { + this.hasStringMemberAsPayload = hasStringMemberAsPayload; + } + public boolean hasStreamingInput() { return inputShape != null && inputShape.isHasStreamingMember(); } diff --git a/codegen/src/main/java/software/amazon/awssdk/codegen/poet/client/specs/JsonProtocolSpec.java b/codegen/src/main/java/software/amazon/awssdk/codegen/poet/client/specs/JsonProtocolSpec.java index 44922d4e2b32..ce46ecf7c824 100644 --- a/codegen/src/main/java/software/amazon/awssdk/codegen/poet/client/specs/JsonProtocolSpec.java +++ b/codegen/src/main/java/software/amazon/awssdk/codegen/poet/client/specs/JsonProtocolSpec.java @@ -142,7 +142,7 @@ public CodeBlock responseHandler(IntermediateModel model, OperationModel opModel CodeBlock.builder() .add("$T operationMetadata = $T.builder()\n", JsonOperationMetadata.class, JsonOperationMetadata.class) .add(".hasStreamingSuccessResponse($L)\n", opModel.hasStreamingOutput()) - .add(".isPayloadJson($L)\n", !opModel.getHasBlobMemberAsPayload()) + .add(".isPayloadJson($L)\n", !opModel.getHasBlobMemberAsPayload() && !opModel.getHasStringMemberAsPayload()) .add(".build();"); if (opModel.hasEventStreamOutput()) { diff --git a/codegen/src/main/java/software/amazon/awssdk/codegen/poet/model/ResponseMetadataSpec.java b/codegen/src/main/java/software/amazon/awssdk/codegen/poet/model/ResponseMetadataSpec.java index f5a89ac43a8d..f8d1ddec4539 100644 --- a/codegen/src/main/java/software/amazon/awssdk/codegen/poet/model/ResponseMetadataSpec.java +++ b/codegen/src/main/java/software/amazon/awssdk/codegen/poet/model/ResponseMetadataSpec.java @@ -19,9 +19,9 @@ import com.squareup.javapoet.FieldSpec; import com.squareup.javapoet.MethodSpec; import com.squareup.javapoet.TypeSpec; -import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.TreeMap; import java.util.stream.Collectors; import javax.lang.model.element.Modifier; import software.amazon.awssdk.annotations.SdkPublicApi; @@ -39,7 +39,7 @@ */ public class ResponseMetadataSpec implements ClassSpec { private PoetExtension poetExtensions; - private Map headerMetadata = new HashMap<>(); + private Map headerMetadata = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); public ResponseMetadataSpec(IntermediateModel model) { if (!CollectionUtils.isNullOrEmpty(model.getCustomizationConfig().getCustomResponseMetadata())) { diff --git a/codegen/src/main/resources/software/amazon/awssdk/codegen/rules/AwsEndpointProviderUtils.java.resource b/codegen/src/main/resources/software/amazon/awssdk/codegen/rules/AwsEndpointProviderUtils.java.resource index db40f3f672e7..a9a5c05de4d7 100644 --- a/codegen/src/main/resources/software/amazon/awssdk/codegen/rules/AwsEndpointProviderUtils.java.resource +++ b/codegen/src/main/resources/software/amazon/awssdk/codegen/rules/AwsEndpointProviderUtils.java.resource @@ -119,6 +119,9 @@ public final class AwsEndpointProviderUtils { return builder.build(); } else if (value instanceof Value.Str) { String errorMsg = value.expectString(); + if (errorMsg.contains("Invalid ARN") && errorMsg.contains(":s3:::")) { + errorMsg += ". Use the bucket name instead of simple bucket ARNs in GetBucketLocationRequest."; + } throw SdkClientException.create(errorMsg); } else { throw SdkClientException.create("Rule engine return neither an endpoint result or error value. Returned value was:" diff --git a/codegen/src/main/resources/software/amazon/awssdk/codegen/rules/partitions.json.resource b/codegen/src/main/resources/software/amazon/awssdk/codegen/rules/partitions.json.resource index 4e0c6f1232f6..ab107ca5511c 100644 --- a/codegen/src/main/resources/software/amazon/awssdk/codegen/rules/partitions.json.resource +++ b/codegen/src/main/resources/software/amazon/awssdk/codegen/rules/partitions.json.resource @@ -4,6 +4,7 @@ "outputs" : { "dnsSuffix" : "amazonaws.com", "dualStackDnsSuffix" : "api.aws", + "implicitGlobalRegion" : "us-east-1", "name" : "aws", "supportsDualStack" : true, "supportsFIPS" : true @@ -103,6 +104,7 @@ "outputs" : { "dnsSuffix" : "amazonaws.com.cn", "dualStackDnsSuffix" : "api.amazonwebservices.com.cn", + "implicitGlobalRegion" : "cn-northwest-1", "name" : "aws-cn", "supportsDualStack" : true, "supportsFIPS" : true @@ -124,6 +126,7 @@ "outputs" : { "dnsSuffix" : "amazonaws.com", "dualStackDnsSuffix" : "api.aws", + "implicitGlobalRegion" : "us-gov-west-1", "name" : "aws-us-gov", "supportsDualStack" : true, "supportsFIPS" : true @@ -145,6 +148,7 @@ "outputs" : { "dnsSuffix" : "c2s.ic.gov", "dualStackDnsSuffix" : "c2s.ic.gov", + "implicitGlobalRegion" : "us-iso-east-1", "name" : "aws-iso", "supportsDualStack" : false, "supportsFIPS" : true @@ -166,6 +170,7 @@ "outputs" : { "dnsSuffix" : "sc2s.sgov.gov", "dualStackDnsSuffix" : "sc2s.sgov.gov", + "implicitGlobalRegion" : "us-isob-east-1", "name" : "aws-iso-b", "supportsDualStack" : false, "supportsFIPS" : true @@ -184,6 +189,7 @@ "outputs" : { "dnsSuffix" : "cloud.adc-e.uk", "dualStackDnsSuffix" : "cloud.adc-e.uk", + "implicitGlobalRegion" : "eu-isoe-west-1", "name" : "aws-iso-e", "supportsDualStack" : false, "supportsFIPS" : true @@ -195,6 +201,7 @@ "outputs" : { "dnsSuffix" : "csp.hci.ic.gov", "dualStackDnsSuffix" : "csp.hci.ic.gov", + "implicitGlobalRegion" : "us-isof-south-1", "name" : "aws-iso-f", "supportsDualStack" : false, "supportsFIPS" : true diff --git a/codegen/src/test/resources/software/amazon/awssdk/codegen/poet/client/c2j/query/service-2.json b/codegen/src/test/resources/software/amazon/awssdk/codegen/poet/client/c2j/query/service-2.json index a3c379d189d6..940d58871464 100644 --- a/codegen/src/test/resources/software/amazon/awssdk/codegen/poet/client/c2j/query/service-2.json +++ b/codegen/src/test/resources/software/amazon/awssdk/codegen/poet/client/c2j/query/service-2.json @@ -325,7 +325,7 @@ "ChecksumStructure":{ "type":"structure", "members":{ - "stringMember":{"shape":"subMember"}, + "Body":{"shape":"Body"}, "ChecksumMode":{ "shape":"ChecksumMode", "location":"header", @@ -337,7 +337,7 @@ "locationName":"x-amz-checksum-algorithm" } }, - "payload":"stringMember" + "payload":"Body" }, "String":{"type":"string"}, "BearerAuthOperationRequest": { diff --git a/codegen/src/test/resources/software/amazon/awssdk/codegen/poet/client/test-json-async-client-class.java b/codegen/src/test/resources/software/amazon/awssdk/codegen/poet/client/test-json-async-client-class.java index 81eb8e1aba4e..f3c88ecbb220 100644 --- a/codegen/src/test/resources/software/amazon/awssdk/codegen/poet/client/test-json-async-client-class.java +++ b/codegen/src/test/resources/software/amazon/awssdk/codegen/poet/client/test-json-async-client-class.java @@ -612,7 +612,7 @@ public CompletableFuture getOperationWithCheck apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Json Service"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetOperationWithChecksum"); JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) - .isPayloadJson(true).build(); + .isPayloadJson(false).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetOperationWithChecksumResponse::builder); diff --git a/codegen/src/test/resources/software/amazon/awssdk/codegen/poet/client/test-json-client-class.java b/codegen/src/test/resources/software/amazon/awssdk/codegen/poet/client/test-json-client-class.java index a2a8905fe12a..06f7808b8d9d 100644 --- a/codegen/src/test/resources/software/amazon/awssdk/codegen/poet/client/test-json-client-class.java +++ b/codegen/src/test/resources/software/amazon/awssdk/codegen/poet/client/test-json-client-class.java @@ -277,7 +277,7 @@ public GetOperationWithChecksumResponse getOperationWithChecksum( GetOperationWithChecksumRequest getOperationWithChecksumRequest) throws AwsServiceException, SdkClientException, JsonException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) - .isPayloadJson(true).build(); + .isPayloadJson(false).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetOperationWithChecksumResponse::builder); diff --git a/codegen/src/test/resources/software/amazon/awssdk/codegen/poet/model/customresponsemetadata/jsonprotocoltestsresponsemetadata.java b/codegen/src/test/resources/software/amazon/awssdk/codegen/poet/model/customresponsemetadata/jsonprotocoltestsresponsemetadata.java index 9116d34e6ee0..49d06df1fcde 100644 --- a/codegen/src/test/resources/software/amazon/awssdk/codegen/poet/model/customresponsemetadata/jsonprotocoltestsresponsemetadata.java +++ b/codegen/src/test/resources/software/amazon/awssdk/codegen/poet/model/customresponsemetadata/jsonprotocoltestsresponsemetadata.java @@ -7,11 +7,11 @@ @Generated("software.amazon.awssdk:codegen") @SdkPublicApi public final class JsonProtocolTestsResponseMetadata extends AwsResponseMetadata { - private static final String REQUEST_ID = "x-foobar-id"; + private static final String BAR_ID = "x-bar-id"; private static final String FOO_ID = "x-foo-id"; - private static final String BAR_ID = "x-bar-id"; + private static final String REQUEST_ID = "x-foobar-id"; private JsonProtocolTestsResponseMetadata(AwsResponseMetadata responseMetadata) { super(responseMetadata); @@ -21,16 +21,16 @@ public static JsonProtocolTestsResponseMetadata create(AwsResponseMetadata respo return new JsonProtocolTestsResponseMetadata(responseMetadata); } - @Override - public String requestId() { - return getValue(REQUEST_ID); + public String barId() { + return getValue(BAR_ID); } public String fooId() { return getValue(FOO_ID); } - public String barId() { - return getValue(BAR_ID); + @Override + public String requestId() { + return getValue(REQUEST_ID); } } diff --git a/core/annotations/pom.xml b/core/annotations/pom.xml index c1604d066fd4..f62aff22f62e 100644 --- a/core/annotations/pom.xml +++ b/core/annotations/pom.xml @@ -20,7 +20,7 @@ core software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 diff --git a/core/arns/pom.xml b/core/arns/pom.xml index 08dd6931e1b7..be4935d1d15a 100644 --- a/core/arns/pom.xml +++ b/core/arns/pom.xml @@ -20,7 +20,7 @@ core software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 diff --git a/core/auth-crt/pom.xml b/core/auth-crt/pom.xml index 4d8e81954ab9..72b78f2c3be8 100644 --- a/core/auth-crt/pom.xml +++ b/core/auth-crt/pom.xml @@ -22,7 +22,7 @@ software.amazon.awssdk core - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT auth-crt @@ -133,6 +133,11 @@ equalsverifier test + + net.bytebuddy + byte-buddy + test + org.unitils unitils-core @@ -143,7 +148,7 @@ rxjava test - + diff --git a/core/auth-crt/src/main/java/software/amazon/awssdk/authcrt/signer/internal/SigningConfigProvider.java b/core/auth-crt/src/main/java/software/amazon/awssdk/authcrt/signer/internal/SigningConfigProvider.java index 9f18c030dc03..0ed8c1645181 100644 --- a/core/auth-crt/src/main/java/software/amazon/awssdk/authcrt/signer/internal/SigningConfigProvider.java +++ b/core/auth-crt/src/main/java/software/amazon/awssdk/authcrt/signer/internal/SigningConfigProvider.java @@ -32,6 +32,7 @@ public class SigningConfigProvider { private static final Boolean DEFAULT_DOUBLE_URL_ENCODE = Boolean.TRUE; + private static final Boolean DEFAULT_PATH_NORMALIZATION = Boolean.TRUE; public SigningConfigProvider() { } @@ -89,13 +90,20 @@ private AwsSigningConfig createPresigningConfig(ExecutionAttributes executionAtt private AwsSigningConfig createDefaultRequestConfig(ExecutionAttributes executionAttributes) { AwsSigningConfig signingConfig = createStringToSignConfig(executionAttributes); - signingConfig.setShouldNormalizeUriPath(true); + if (executionAttributes.getAttribute(AwsSignerExecutionAttribute.SIGNER_NORMALIZE_PATH) != null) { + signingConfig.setShouldNormalizeUriPath( + executionAttributes.getAttribute(AwsSignerExecutionAttribute.SIGNER_NORMALIZE_PATH)); + } else { + signingConfig.setShouldNormalizeUriPath(DEFAULT_PATH_NORMALIZATION); + } + if (executionAttributes.getAttribute(AwsSignerExecutionAttribute.SIGNER_DOUBLE_URL_ENCODE) != null) { - signingConfig.setUseDoubleUriEncode(executionAttributes - .getAttribute(AwsSignerExecutionAttribute.SIGNER_DOUBLE_URL_ENCODE)); + signingConfig.setUseDoubleUriEncode( + executionAttributes.getAttribute(AwsSignerExecutionAttribute.SIGNER_DOUBLE_URL_ENCODE)); } else { signingConfig.setUseDoubleUriEncode(DEFAULT_DOUBLE_URL_ENCODE); } + return signingConfig; } diff --git a/core/auth/pom.xml b/core/auth/pom.xml index e018b20a5085..74c4587eaafb 100644 --- a/core/auth/pom.xml +++ b/core/auth/pom.xml @@ -22,7 +22,7 @@ software.amazon.awssdk core - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT auth @@ -137,6 +137,11 @@ equalsverifier test + + net.bytebuddy + byte-buddy + test + org.unitils unitils-core diff --git a/core/aws-core/pom.xml b/core/aws-core/pom.xml index 687ecf0735ab..b3fcd5aefe9b 100644 --- a/core/aws-core/pom.xml +++ b/core/aws-core/pom.xml @@ -22,7 +22,7 @@ software.amazon.awssdk core - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT aws-core @@ -149,6 +149,11 @@ equalsverifier test + + net.bytebuddy + byte-buddy + test + org.unitils unitils-core diff --git a/core/crt-core/pom.xml b/core/crt-core/pom.xml index 1efdb86d4a5a..1a3bef60e863 100644 --- a/core/crt-core/pom.xml +++ b/core/crt-core/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk core - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT crt-core diff --git a/core/endpoints-spi/pom.xml b/core/endpoints-spi/pom.xml index 8451671c9857..4b7c60dcc7ca 100644 --- a/core/endpoints-spi/pom.xml +++ b/core/endpoints-spi/pom.xml @@ -20,7 +20,7 @@ core software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 @@ -58,6 +58,11 @@ equalsverifier test + + net.bytebuddy + byte-buddy + test + org.assertj assertj-core diff --git a/core/imds/pom.xml b/core/imds/pom.xml index c615db933708..16ba5a209e2a 100644 --- a/core/imds/pom.xml +++ b/core/imds/pom.xml @@ -20,7 +20,7 @@ core software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 imds @@ -84,6 +84,11 @@ equalsverifier test + + net.bytebuddy + byte-buddy + test + software.amazon.awssdk sdk-core diff --git a/core/json-utils/pom.xml b/core/json-utils/pom.xml index ebf19e29fbc1..0c04adf3d058 100644 --- a/core/json-utils/pom.xml +++ b/core/json-utils/pom.xml @@ -20,7 +20,7 @@ core software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 diff --git a/core/metrics-spi/pom.xml b/core/metrics-spi/pom.xml index 6c98ed9b18cf..b94e624c464c 100644 --- a/core/metrics-spi/pom.xml +++ b/core/metrics-spi/pom.xml @@ -5,7 +5,7 @@ core software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 diff --git a/core/pom.xml b/core/pom.xml index d478f2d2e002..f2b6e3a25d07 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -21,7 +21,7 @@ aws-sdk-java-pom software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT core diff --git a/core/profiles/pom.xml b/core/profiles/pom.xml index 9c8847ee845f..0ee1a8a583cd 100644 --- a/core/profiles/pom.xml +++ b/core/profiles/pom.xml @@ -22,7 +22,7 @@ software.amazon.awssdk core - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT profiles diff --git a/core/protocols/aws-cbor-protocol/pom.xml b/core/protocols/aws-cbor-protocol/pom.xml index b1b09bbb283f..f1d17fe71b48 100644 --- a/core/protocols/aws-cbor-protocol/pom.xml +++ b/core/protocols/aws-cbor-protocol/pom.xml @@ -20,7 +20,7 @@ protocols software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 diff --git a/core/protocols/aws-json-protocol/pom.xml b/core/protocols/aws-json-protocol/pom.xml index 4ea8fa524a56..c850e031008a 100644 --- a/core/protocols/aws-json-protocol/pom.xml +++ b/core/protocols/aws-json-protocol/pom.xml @@ -20,7 +20,7 @@ protocols software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 diff --git a/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/marshall/JsonProtocolMarshaller.java b/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/marshall/JsonProtocolMarshaller.java index 15b0c910d472..b81110bd1026 100644 --- a/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/marshall/JsonProtocolMarshaller.java +++ b/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/marshall/JsonProtocolMarshaller.java @@ -23,6 +23,7 @@ import java.io.ByteArrayInputStream; import java.net.URI; +import java.nio.charset.StandardCharsets; import java.time.Instant; import java.util.Collections; import java.util.EnumMap; @@ -182,6 +183,11 @@ void doMarshall(SdkPojo pojo) { if (val != null) { request.contentStreamProvider(((SdkBytes) val)::asInputStream); } + } else if (isExplicitStringPayload(field)) { + if (val != null) { + byte[] content = ((String) val).getBytes(StandardCharsets.UTF_8); + request.contentStreamProvider(() -> new ByteArrayInputStream(content)); + } } else if (isExplicitPayloadMember(field)) { marshallExplicitJsonPayload(field, val); } else { @@ -194,6 +200,10 @@ private boolean isExplicitBinaryPayload(SdkField field) { return isExplicitPayloadMember(field) && MarshallingType.SDK_BYTES.equals(field.marshallingType()); } + private boolean isExplicitStringPayload(SdkField field) { + return isExplicitPayloadMember(field) && MarshallingType.STRING.equals(field.marshallingType()); + } + private boolean isExplicitPayloadMember(SdkField field) { return field.containsTrait(PayloadTrait.class); } diff --git a/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/unmarshall/JsonProtocolUnmarshaller.java b/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/unmarshall/JsonProtocolUnmarshaller.java index 3ed0c9fb8cae..fe8bdc0f7015 100644 --- a/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/unmarshall/JsonProtocolUnmarshaller.java +++ b/core/protocols/aws-json-protocol/src/main/java/software/amazon/awssdk/protocols/json/internal/unmarshall/JsonProtocolUnmarshaller.java @@ -187,7 +187,10 @@ public T unmarshall(JsonUnmarshallerContext context, public TypeT unmarshall(SdkPojo sdkPojo, SdkHttpFullResponse response) throws IOException { - if (hasPayloadMembersOnUnmarshall(sdkPojo) && !hasExplicitBlobPayloadMember(sdkPojo) && response.content().isPresent()) { + if (hasPayloadMembersOnUnmarshall(sdkPojo) + && !hasExplicitBlobPayloadMember(sdkPojo) + && !hasExplicitStringPayloadMember(sdkPojo) + && response.content().isPresent()) { JsonNode jsonNode = parser.parse(response.content().get()); return unmarshall(sdkPojo, response, jsonNode); } else { @@ -201,6 +204,12 @@ private boolean hasExplicitBlobPayloadMember(SdkPojo sdkPojo) { .anyMatch(f -> isExplicitPayloadMember(f) && f.marshallingType() == MarshallingType.SDK_BYTES); } + private boolean hasExplicitStringPayloadMember(SdkPojo sdkPojo) { + return sdkPojo.sdkFields() + .stream() + .anyMatch(f -> isExplicitPayloadMember(f) && f.marshallingType() == MarshallingType.STRING); + } + private static boolean isExplicitPayloadMember(SdkField f) { return f.containsTrait(PayloadTrait.class); } @@ -234,6 +243,13 @@ private static TypeT unmarshallStructured(SdkPojo sdkPoj } else { field.set(sdkPojo, SdkBytes.fromByteArrayUnsafe(new byte[0])); } + } else if (isExplicitPayloadMember(field) && field.marshallingType() == MarshallingType.STRING) { + Optional responseContent = context.response().content(); + if (responseContent.isPresent()) { + field.set(sdkPojo, SdkBytes.fromInputStream(responseContent.get()).asUtf8String()); + } else { + field.set(sdkPojo, ""); + } } else { JsonNode jsonFieldContent = getJsonNode(jsonContent, field); JsonUnmarshaller unmarshaller = context.getUnmarshaller(field.location(), field.marshallingType()); diff --git a/core/protocols/aws-query-protocol/pom.xml b/core/protocols/aws-query-protocol/pom.xml index 0b89c5a59699..85e428c8bf6e 100644 --- a/core/protocols/aws-query-protocol/pom.xml +++ b/core/protocols/aws-query-protocol/pom.xml @@ -20,7 +20,7 @@ protocols software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 diff --git a/core/protocols/aws-xml-protocol/pom.xml b/core/protocols/aws-xml-protocol/pom.xml index 62f308d73584..420ec94ad587 100644 --- a/core/protocols/aws-xml-protocol/pom.xml +++ b/core/protocols/aws-xml-protocol/pom.xml @@ -20,7 +20,7 @@ protocols software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 diff --git a/core/protocols/pom.xml b/core/protocols/pom.xml index b8d0130328c9..db52fd74da02 100644 --- a/core/protocols/pom.xml +++ b/core/protocols/pom.xml @@ -20,7 +20,7 @@ core software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 diff --git a/core/protocols/protocol-core/pom.xml b/core/protocols/protocol-core/pom.xml index b951eeb71649..f82fce330caa 100644 --- a/core/protocols/protocol-core/pom.xml +++ b/core/protocols/protocol-core/pom.xml @@ -20,7 +20,7 @@ protocols software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 diff --git a/core/regions/pom.xml b/core/regions/pom.xml index 2a28da7c8917..9e68a7c3fc9f 100644 --- a/core/regions/pom.xml +++ b/core/regions/pom.xml @@ -22,7 +22,7 @@ software.amazon.awssdk core - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT regions @@ -93,6 +93,11 @@ equalsverifier test + + net.bytebuddy + byte-buddy + test + diff --git a/core/regions/src/main/resources/software/amazon/awssdk/regions/internal/region/endpoints.json b/core/regions/src/main/resources/software/amazon/awssdk/regions/internal/region/endpoints.json index 50d1601ec167..b405235b3384 100644 --- a/core/regions/src/main/resources/software/amazon/awssdk/regions/internal/region/endpoints.json +++ b/core/regions/src/main/resources/software/amazon/awssdk/regions/internal/region/endpoints.json @@ -1430,11 +1430,59 @@ "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "deprecated" : true, + "hostname" : "appflow-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "deprecated" : true, + "hostname" : "appflow-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "deprecated" : true, + "hostname" : "appflow-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "deprecated" : true, + "hostname" : "appflow-fips.us-west-2.amazonaws.com" + }, "sa-east-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { + "variants" : [ { + "hostname" : "appflow-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "appflow-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "appflow-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "appflow-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } } }, "application-autoscaling" : { @@ -2372,6 +2420,86 @@ } } }, + "bedrock" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-1" : { }, + "bedrock-ap-northeast-1" : { + "credentialScope" : { + "region" : "ap-northeast-1" + }, + "hostname" : "bedrock.ap-northeast-1.amazonaws.com" + }, + "bedrock-ap-southeast-1" : { + "credentialScope" : { + "region" : "ap-southeast-1" + }, + "hostname" : "bedrock.ap-southeast-1.amazonaws.com" + }, + "bedrock-fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "bedrock-fips.us-east-1.amazonaws.com" + }, + "bedrock-fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "bedrock-fips.us-west-2.amazonaws.com" + }, + "bedrock-runtime-ap-northeast-1" : { + "credentialScope" : { + "region" : "ap-northeast-1" + }, + "hostname" : "bedrock-runtime.ap-northeast-1.amazonaws.com" + }, + "bedrock-runtime-ap-southeast-1" : { + "credentialScope" : { + "region" : "ap-southeast-1" + }, + "hostname" : "bedrock-runtime.ap-southeast-1.amazonaws.com" + }, + "bedrock-runtime-fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "bedrock-runtime-fips.us-east-1.amazonaws.com" + }, + "bedrock-runtime-fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "bedrock-runtime-fips.us-west-2.amazonaws.com" + }, + "bedrock-runtime-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "bedrock-runtime.us-east-1.amazonaws.com" + }, + "bedrock-runtime-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "bedrock-runtime.us-west-2.amazonaws.com" + }, + "bedrock-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "bedrock.us-east-1.amazonaws.com" + }, + "bedrock-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "bedrock.us-west-2.amazonaws.com" + }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, "billingconductor" : { "endpoints" : { "aws-global" : { @@ -3911,6 +4039,7 @@ "ap-northeast-2" : { }, "ap-northeast-3" : { }, "ap-south-1" : { }, + "ap-south-2" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, "ap-southeast-3" : { }, @@ -3928,12 +4057,15 @@ "hostname" : "controltower-fips.ca-central-1.amazonaws.com" }, "eu-central-1" : { }, + "eu-central-2" : { }, "eu-north-1" : { }, "eu-south-1" : { }, + "eu-south-2" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, "il-central-1" : { }, + "me-central-1" : { }, "me-south-1" : { }, "sa-east-1" : { }, "us-east-1" : { @@ -4454,6 +4586,118 @@ } } }, + "datazone" : { + "defaults" : { + "dnsSuffix" : "api.aws", + "variants" : [ { + "dnsSuffix" : "api.aws", + "hostname" : "{service}-fips.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, + "endpoints" : { + "af-south-1" : { + "hostname" : "datazone.af-south-1.api.aws" + }, + "ap-east-1" : { + "hostname" : "datazone.ap-east-1.api.aws" + }, + "ap-northeast-1" : { + "hostname" : "datazone.ap-northeast-1.api.aws" + }, + "ap-northeast-2" : { + "hostname" : "datazone.ap-northeast-2.api.aws" + }, + "ap-northeast-3" : { + "hostname" : "datazone.ap-northeast-3.api.aws" + }, + "ap-south-1" : { + "hostname" : "datazone.ap-south-1.api.aws" + }, + "ap-south-2" : { + "hostname" : "datazone.ap-south-2.api.aws" + }, + "ap-southeast-1" : { + "hostname" : "datazone.ap-southeast-1.api.aws" + }, + "ap-southeast-2" : { + "hostname" : "datazone.ap-southeast-2.api.aws" + }, + "ap-southeast-3" : { + "hostname" : "datazone.ap-southeast-3.api.aws" + }, + "ap-southeast-4" : { + "hostname" : "datazone.ap-southeast-4.api.aws" + }, + "ca-central-1" : { + "hostname" : "datazone.ca-central-1.api.aws", + "variants" : [ { + "hostname" : "datazone-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "eu-central-1" : { + "hostname" : "datazone.eu-central-1.api.aws" + }, + "eu-central-2" : { + "hostname" : "datazone.eu-central-2.api.aws" + }, + "eu-north-1" : { + "hostname" : "datazone.eu-north-1.api.aws" + }, + "eu-south-1" : { + "hostname" : "datazone.eu-south-1.api.aws" + }, + "eu-south-2" : { + "hostname" : "datazone.eu-south-2.api.aws" + }, + "eu-west-1" : { + "hostname" : "datazone.eu-west-1.api.aws" + }, + "eu-west-2" : { + "hostname" : "datazone.eu-west-2.api.aws" + }, + "eu-west-3" : { + "hostname" : "datazone.eu-west-3.api.aws" + }, + "il-central-1" : { + "hostname" : "datazone.il-central-1.api.aws" + }, + "me-central-1" : { + "hostname" : "datazone.me-central-1.api.aws" + }, + "me-south-1" : { + "hostname" : "datazone.me-south-1.api.aws" + }, + "sa-east-1" : { + "hostname" : "datazone.sa-east-1.api.aws" + }, + "us-east-1" : { + "hostname" : "datazone.us-east-1.api.aws", + "variants" : [ { + "hostname" : "datazone-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "hostname" : "datazone.us-east-2.api.aws", + "variants" : [ { + "hostname" : "datazone-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "hostname" : "datazone.us-west-1.api.aws" + }, + "us-west-2" : { + "hostname" : "datazone.us-west-2.api.aws", + "variants" : [ { + "hostname" : "datazone-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } + } + }, "dax" : { "endpoints" : { "ap-northeast-1" : { }, @@ -4888,6 +5132,7 @@ "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, + "il-central-1" : { }, "me-central-1" : { }, "me-south-1" : { }, "sa-east-1" : { }, @@ -6213,13 +6458,25 @@ "ap-southeast-1" : { }, "ap-southeast-2" : { }, "ap-southeast-3" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "email-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-south-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, + "fips-ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "deprecated" : true, + "hostname" : "email-fips.ca-central-1.amazonaws.com" + }, "fips-us-east-1" : { "credentialScope" : { "region" : "us-east-1" @@ -6227,6 +6484,20 @@ "deprecated" : true, "hostname" : "email-fips.us-east-1.amazonaws.com" }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "deprecated" : true, + "hostname" : "email-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "deprecated" : true, + "hostname" : "email-fips.us-west-1.amazonaws.com" + }, "fips-us-west-2" : { "credentialScope" : { "region" : "us-west-2" @@ -6243,8 +6514,18 @@ "tags" : [ "fips" ] } ] }, - "us-east-2" : { }, - "us-west-1" : { }, + "us-east-2" : { + "variants" : [ { + "hostname" : "email-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "email-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "us-west-2" : { "variants" : [ { "hostname" : "email-fips.us-west-2.amazonaws.com", @@ -8169,14 +8450,18 @@ }, "inspector2" : { "endpoints" : { + "af-south-1" : { }, "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, + "ap-northeast-3" : { }, "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, + "ap-southeast-3" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-central-2" : { }, "eu-north-1" : { }, "eu-south-1" : { }, "eu-west-1" : { }, @@ -10068,11 +10353,14 @@ "ap-northeast-2" : { }, "ap-northeast-3" : { }, "ap-south-1" : { }, + "ap-south-2" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, "ap-southeast-3" : { }, + "ap-southeast-4" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-central-2" : { }, "eu-north-1" : { }, "eu-south-1" : { }, "eu-west-1" : { }, @@ -10107,6 +10395,7 @@ "hostname" : "license-manager-fips.us-west-2.amazonaws.com" }, "il-central-1" : { }, + "me-central-1" : { }, "me-south-1" : { }, "sa-east-1" : { }, "us-east-1" : { @@ -10223,11 +10512,14 @@ "ap-northeast-2" : { }, "ap-northeast-3" : { }, "ap-south-1" : { }, + "ap-south-2" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, "ap-southeast-3" : { }, + "ap-southeast-4" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-central-2" : { }, "eu-north-1" : { }, "eu-south-1" : { }, "eu-west-1" : { }, @@ -10593,6 +10885,11 @@ "us-east-1" : { } } }, + "managedblockchain-query" : { + "endpoints" : { + "us-east-1" : { } + } + }, "marketplacecommerceanalytics" : { "endpoints" : { "us-east-1" : { } @@ -10865,8 +11162,14 @@ }, "meetings-chime" : { "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, "eu-central-1" : { }, + "eu-west-2" : { }, "il-central-1" : { }, "us-east-1" : { "variants" : [ { @@ -11534,6 +11837,7 @@ "deprecated" : true, "hostname" : "network-firewall-fips.us-west-2.amazonaws.com" }, + "il-central-1" : { }, "me-central-1" : { }, "me-south-1" : { }, "sa-east-1" : { }, @@ -11701,6 +12005,12 @@ }, "hostname" : "oidc.eu-central-1.amazonaws.com" }, + "eu-central-2" : { + "credentialScope" : { + "region" : "eu-central-2" + }, + "hostname" : "oidc.eu-central-2.amazonaws.com" + }, "eu-north-1" : { "credentialScope" : { "region" : "eu-north-1" @@ -11815,6 +12125,12 @@ "deprecated" : true, "hostname" : "omics-fips.us-west-2.amazonaws.com" }, + "il-central-1" : { + "credentialScope" : { + "region" : "il-central-1" + }, + "hostname" : "omics.il-central-1.amazonaws.com" + }, "us-east-1" : { "credentialScope" : { "region" : "us-east-1" @@ -12172,13 +12488,16 @@ "ap-northeast-2" : { }, "ap-northeast-3" : { }, "ap-south-1" : { }, + "ap-south-2" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, "ap-southeast-3" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-central-2" : { }, "eu-north-1" : { }, "eu-south-1" : { }, + "eu-south-2" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -12331,6 +12650,12 @@ }, "hostname" : "portal.sso.eu-central-1.amazonaws.com" }, + "eu-central-2" : { + "credentialScope" : { + "region" : "eu-central-2" + }, + "hostname" : "portal.sso.eu-central-2.amazonaws.com" + }, "eu-north-1" : { "credentialScope" : { "region" : "eu-north-1" @@ -13320,6 +13645,9 @@ "ap-southeast-2" : { "hostname" : "resource-explorer-2.ap-southeast-2.api.aws" }, + "ap-southeast-3" : { + "hostname" : "resource-explorer-2.ap-southeast-3.api.aws" + }, "ap-southeast-4" : { "hostname" : "resource-explorer-2.ap-southeast-4.api.aws" }, @@ -13347,6 +13675,9 @@ "il-central-1" : { "hostname" : "resource-explorer-2.il-central-1.api.aws" }, + "me-south-1" : { + "hostname" : "resource-explorer-2.me-south-1.api.aws" + }, "sa-east-1" : { "hostname" : "resource-explorer-2.sa-east-1.api.aws" }, @@ -16074,6 +16405,7 @@ "ap-southeast-3" : { }, "ca-central-1" : { }, "eu-central-1" : { }, + "eu-central-2" : { }, "eu-north-1" : { }, "eu-south-1" : { }, "eu-west-1" : { }, @@ -16681,9 +17013,14 @@ }, "tnb" : { "endpoints" : { + "ap-northeast-2" : { }, "ap-southeast-2" : { }, + "ca-central-1" : { }, "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-2" : { }, "eu-west-3" : { }, + "sa-east-1" : { }, "us-east-1" : { }, "us-west-2" : { } } @@ -18468,6 +18805,16 @@ } } }, + "api.pricing" : { + "defaults" : { + "credentialScope" : { + "service" : "pricing" + } + }, + "endpoints" : { + "cn-northwest-1" : { } + } + }, "api.sagemaker" : { "endpoints" : { "cn-north-1" : { }, @@ -18755,6 +19102,24 @@ "cn-northwest-1" : { } } }, + "datazone" : { + "defaults" : { + "dnsSuffix" : "api.amazonwebservices.com.cn", + "variants" : [ { + "dnsSuffix" : "api.amazonwebservices.com.cn", + "hostname" : "{service}-fips.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, + "endpoints" : { + "cn-north-1" : { + "hostname" : "datazone.cn-north-1.api.amazonwebservices.com.cn" + }, + "cn-northwest-1" : { + "hostname" : "datazone.cn-northwest-1.api.amazonwebservices.com.cn" + } + } + }, "dax" : { "endpoints" : { "cn-north-1" : { }, @@ -19027,6 +19392,12 @@ "isRegionalized" : false, "partitionEndpoint" : "aws-cn-global" }, + "identitystore" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, "internetmonitor" : { "defaults" : { "dnsSuffix" : "api.amazonwebservices.com.cn", @@ -19228,6 +19599,22 @@ "cn-northwest-1" : { } } }, + "oidc" : { + "endpoints" : { + "cn-north-1" : { + "credentialScope" : { + "region" : "cn-north-1" + }, + "hostname" : "oidc.cn-north-1.amazonaws.com.cn" + }, + "cn-northwest-1" : { + "credentialScope" : { + "region" : "cn-northwest-1" + }, + "hostname" : "oidc.cn-northwest-1.amazonaws.com.cn" + } + } + }, "organizations" : { "endpoints" : { "aws-cn-global" : { @@ -19256,6 +19643,22 @@ "cn-northwest-1" : { } } }, + "portal.sso" : { + "endpoints" : { + "cn-north-1" : { + "credentialScope" : { + "region" : "cn-north-1" + }, + "hostname" : "portal.sso.cn-north-1.amazonaws.com.cn" + }, + "cn-northwest-1" : { + "credentialScope" : { + "region" : "cn-northwest-1" + }, + "hostname" : "portal.sso.cn-northwest-1.amazonaws.com.cn" + } + } + }, "ram" : { "endpoints" : { "cn-north-1" : { }, @@ -19542,6 +19945,12 @@ "cn-northwest-1" : { } } }, + "sso" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, "states" : { "endpoints" : { "cn-north-1" : { }, @@ -20598,6 +21007,11 @@ } } }, + "codestar-connections" : { + "endpoints" : { + "us-gov-east-1" : { } + } + }, "cognito-identity" : { "endpoints" : { "fips-us-gov-west-1" : { @@ -20893,6 +21307,24 @@ } } }, + "datazone" : { + "defaults" : { + "dnsSuffix" : "api.aws", + "variants" : [ { + "dnsSuffix" : "api.aws", + "hostname" : "{service}-fips.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, + "endpoints" : { + "us-gov-east-1" : { + "hostname" : "datazone.us-gov-east-1.api.aws" + }, + "us-gov-west-1" : { + "hostname" : "datazone.us-gov-west-1.api.aws" + } + } + }, "directconnect" : { "endpoints" : { "us-gov-east-1" : { @@ -22363,6 +22795,26 @@ } } }, + "m2" : { + "endpoints" : { + "fips-us-gov-east-1" : { + "deprecated" : true + }, + "fips-us-gov-west-1" : { + "deprecated" : true + }, + "us-gov-east-1" : { + "variants" : [ { + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "tags" : [ "fips" ] + } ] + } + } + }, "managedblockchain" : { "endpoints" : { "us-gov-west-1" : { } @@ -23007,6 +23459,12 @@ "us-gov-west-1" : { } } }, + "rolesanywhere" : { + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, "route53" : { "endpoints" : { "aws-us-gov-global" : { @@ -24441,10 +24899,33 @@ }, "elasticmapreduce" : { "endpoints" : { + "fips-us-iso-east-1" : { + "credentialScope" : { + "region" : "us-iso-east-1" + }, + "deprecated" : true, + "hostname" : "elasticmapreduce.us-iso-east-1.c2s.ic.gov" + }, + "fips-us-iso-west-1" : { + "credentialScope" : { + "region" : "us-iso-west-1" + }, + "deprecated" : true, + "hostname" : "elasticmapreduce.us-iso-west-1.c2s.ic.gov" + }, "us-iso-east-1" : { - "protocols" : [ "https" ] + "protocols" : [ "https" ], + "variants" : [ { + "hostname" : "elasticmapreduce.us-iso-east-1.c2s.ic.gov", + "tags" : [ "fips" ] + } ] }, - "us-iso-west-1" : { } + "us-iso-west-1" : { + "variants" : [ { + "hostname" : "elasticmapreduce.us-iso-west-1.c2s.ic.gov", + "tags" : [ "fips" ] + } ] + } } }, "es" : { @@ -24981,7 +25462,19 @@ }, "elasticmapreduce" : { "endpoints" : { - "us-isob-east-1" : { } + "fips-us-isob-east-1" : { + "credentialScope" : { + "region" : "us-isob-east-1" + }, + "deprecated" : true, + "hostname" : "elasticmapreduce.us-isob-east-1.sc2s.sgov.gov" + }, + "us-isob-east-1" : { + "variants" : [ { + "hostname" : "elasticmapreduce.us-isob-east-1.sc2s.sgov.gov", + "tags" : [ "fips" ] + } ] + } } }, "es" : { diff --git a/core/retries-api/pom.xml b/core/retries-api/pom.xml index c5c161568615..a3243e336b8c 100644 --- a/core/retries-api/pom.xml +++ b/core/retries-api/pom.xml @@ -20,7 +20,7 @@ core software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 diff --git a/core/retries/pom.xml b/core/retries/pom.xml index 4240d73ea6a7..b97e69b4c125 100644 --- a/core/retries/pom.xml +++ b/core/retries/pom.xml @@ -20,7 +20,7 @@ core software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 diff --git a/core/sdk-core/pom.xml b/core/sdk-core/pom.xml index a9754348bc2f..60f94a49f8a1 100644 --- a/core/sdk-core/pom.xml +++ b/core/sdk-core/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk core - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT sdk-core AWS Java SDK :: SDK Core @@ -146,6 +146,11 @@ equalsverifier test + + net.bytebuddy + byte-buddy + test + org.unitils unitils-core diff --git a/core/sdk-core/src/main/java/software/amazon/awssdk/core/client/config/ClientOverrideConfiguration.java b/core/sdk-core/src/main/java/software/amazon/awssdk/core/client/config/ClientOverrideConfiguration.java index e218310d149d..261520ebc9a3 100644 --- a/core/sdk-core/src/main/java/software/amazon/awssdk/core/client/config/ClientOverrideConfiguration.java +++ b/core/sdk-core/src/main/java/software/amazon/awssdk/core/client/config/ClientOverrideConfiguration.java @@ -263,7 +263,6 @@ public String toString() { return ToString.builder("ClientOverrideConfiguration") .add("headers", headers) .add("retryPolicy", retryPolicy) - .add("retryStrategy", retryStrategy) .add("apiCallTimeout", apiCallTimeout) .add("apiCallAttemptTimeout", apiCallAttemptTimeout) .add("executionInterceptors", executionInterceptors) diff --git a/core/sdk-core/src/test/java/software/amazon/awssdk/core/SdkNumberTest.java b/core/sdk-core/src/test/java/software/amazon/awssdk/core/SdkNumberTest.java index d475dd6e6216..43eccd0ee186 100644 --- a/core/sdk-core/src/test/java/software/amazon/awssdk/core/SdkNumberTest.java +++ b/core/sdk-core/src/test/java/software/amazon/awssdk/core/SdkNumberTest.java @@ -22,6 +22,9 @@ import java.math.BigInteger; import java.util.Objects; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.condition.EnabledForJreRange; +import org.junit.jupiter.api.condition.EnabledOnJre; +import org.junit.jupiter.api.condition.JRE; public class SdkNumberTest { @@ -95,8 +98,24 @@ public void floatSdkNumber() { assertThat(sdkNumber.floatValue()).isEqualTo(-123456789.987654321f); assertThat(sdkNumber.shortValue()).isEqualTo((short) -123456789.987654321f); assertThat(sdkNumber.byteValue()).isEqualTo((byte) -123456789.987654321f); + } + + // JDK 19+ changes the float formatting: https://bugs.openjdk.org/browse/JDK-8300869 + @Test + @EnabledForJreRange(max = JRE.JAVA_18) + public void floatSdkNumber_lt_jdk19() { + SdkNumber sdkNumber = SdkNumber.fromFloat(-123456789.987654321f); assertThat(sdkNumber.toString()).isEqualTo("-1.23456792E8") - .isEqualTo(Float.valueOf(-123456789.987654321f).toString()); + .isEqualTo(Float.valueOf(-123456789.987654321f).toString()); + } + + // JDK 19+ changes the float formatting: https://bugs.openjdk.org/browse/JDK-8300869 + @Test + @EnabledForJreRange(min = JRE.JAVA_19) + public void floatSdkNumber_gt_jdk19() { + SdkNumber sdkNumber = SdkNumber.fromFloat(-123456789.987654321f); + assertThat(sdkNumber.toString()).isEqualTo("-1.2345679E8") + .isEqualTo(Float.valueOf(-123456789.987654321f).toString()); } @Test diff --git a/http-client-spi/pom.xml b/http-client-spi/pom.xml index 726b9513b770..f7ecfcc3bb51 100644 --- a/http-client-spi/pom.xml +++ b/http-client-spi/pom.xml @@ -22,7 +22,7 @@ aws-sdk-java-pom software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT http-client-spi AWS Java SDK :: HTTP Client Interface @@ -85,6 +85,11 @@ equalsverifier test + + net.bytebuddy + byte-buddy + test + diff --git a/http-clients/apache-client/pom.xml b/http-clients/apache-client/pom.xml index d1f8832eab9f..2899afbd8579 100644 --- a/http-clients/apache-client/pom.xml +++ b/http-clients/apache-client/pom.xml @@ -21,7 +21,7 @@ http-clients software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT apache-client diff --git a/http-clients/aws-crt-client/pom.xml b/http-clients/aws-crt-client/pom.xml index 45beb2ed2838..3c06bcf750d4 100644 --- a/http-clients/aws-crt-client/pom.xml +++ b/http-clients/aws-crt-client/pom.xml @@ -21,7 +21,7 @@ http-clients software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 diff --git a/http-clients/netty-nio-client/pom.xml b/http-clients/netty-nio-client/pom.xml index 6f4e307ce788..de8b1b03ec39 100644 --- a/http-clients/netty-nio-client/pom.xml +++ b/http-clients/netty-nio-client/pom.xml @@ -20,7 +20,7 @@ http-clients software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 diff --git a/http-clients/pom.xml b/http-clients/pom.xml index bdf2bd6cae6c..b2791960a913 100644 --- a/http-clients/pom.xml +++ b/http-clients/pom.xml @@ -21,7 +21,7 @@ aws-sdk-java-pom software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 diff --git a/http-clients/url-connection-client/pom.xml b/http-clients/url-connection-client/pom.xml index 7893aa9a73c4..02df6e42a7bf 100644 --- a/http-clients/url-connection-client/pom.xml +++ b/http-clients/url-connection-client/pom.xml @@ -20,7 +20,7 @@ http-clients software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 diff --git a/metric-publishers/cloudwatch-metric-publisher/pom.xml b/metric-publishers/cloudwatch-metric-publisher/pom.xml index 4f324b9a0508..9ce5bf441578 100644 --- a/metric-publishers/cloudwatch-metric-publisher/pom.xml +++ b/metric-publishers/cloudwatch-metric-publisher/pom.xml @@ -17,7 +17,7 @@ software.amazon.awssdk metric-publishers - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT cloudwatch-metric-publisher diff --git a/metric-publishers/pom.xml b/metric-publishers/pom.xml index 1b154b101d0c..5d5b2f02980c 100644 --- a/metric-publishers/pom.xml +++ b/metric-publishers/pom.xml @@ -17,7 +17,7 @@ software.amazon.awssdk aws-sdk-java-pom - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT metric-publishers diff --git a/pom.xml b/pom.xml index ed2a4b079ce1..69dad7623131 100644 --- a/pom.xml +++ b/pom.xml @@ -20,7 +20,7 @@ 4.0.0 software.amazon.awssdk aws-sdk-java-pom - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT pom AWS Java SDK :: Parent The Amazon Web Services SDK for Java provides Java APIs @@ -91,7 +91,7 @@ ${project.version} - 2.20.143 + 2.20.162 2.15.2 2.15.2 2.13.2 @@ -101,24 +101,24 @@ 1.7.30 2.17.1 2.11.0 - 3.7.1 + 3.15.1 4.1.94.Final 3.4.6 1.3 UTF-8 - 4.2.3 + 4.7.3.5 1.13.0 3.10.0 3.5.101 2.2.21 1.15 1.29 - 0.24.0 + 0.26.0 - 5.8.1 + 5.10.0 4.6.0 4.13.2 1.3 @@ -131,8 +131,9 @@ 2.0.61.Final 1.16.0 1.0.392 - 1.0.6.RELEASE + 1.0.8.RELEASE 9.4.45.v20220203 + 1.14.8 3.1.2 @@ -155,6 +156,7 @@ 3.2.1 3.1.0 + 1.10.14 2.4.0 @@ -370,6 +372,11 @@ build-tools 1.0 + + org.apache.ant + ant + ${ant.version} + @@ -630,9 +637,8 @@ *.internal.* software.amazon.awssdk.thirdparty.* software.amazon.awssdk.regions.* - software.amazon.awssdk.utils.async.InputStreamSubscriber - - software.amazon.awssdk.services.s3.S3CrtAsyncClientBuilder + + software.amazon.awssdk.services.s3.model.ObjectPart true @@ -708,6 +714,11 @@ + + + --batch + + org.sonatype.plugins @@ -1003,9 +1014,8 @@ public false true - - - true + + false false 8 true diff --git a/release-scripts/pom.xml b/release-scripts/pom.xml index 259fab616b3a..b72820cf64bf 100644 --- a/release-scripts/pom.xml +++ b/release-scripts/pom.xml @@ -22,7 +22,7 @@ software.amazon.awssdk aws-sdk-java-pom - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ../pom.xml release-scripts diff --git a/services-custom/dynamodb-enhanced/pom.xml b/services-custom/dynamodb-enhanced/pom.xml index 8e87d888ec50..477a2035cc09 100644 --- a/services-custom/dynamodb-enhanced/pom.xml +++ b/services-custom/dynamodb-enhanced/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services-custom - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT dynamodb-enhanced AWS Java SDK :: DynamoDB :: Enhanced Client @@ -188,6 +188,11 @@ equalsverifier test + + net.bytebuddy + byte-buddy + test + com.amazonaws DynamoDBLocal diff --git a/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/AsyncCrudWithResponseIntegrationTest.java b/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/AsyncCrudWithResponseIntegrationTest.java new file mode 100644 index 000000000000..8dec8620aebb --- /dev/null +++ b/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/AsyncCrudWithResponseIntegrationTest.java @@ -0,0 +1,204 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +package software.amazon.awssdk.enhanced.dynamodb; + +import static org.assertj.core.api.Assertions.assertThat; +import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.secondaryPartitionKey; +import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.secondarySortKey; + +import org.assertj.core.data.Offset; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; +import software.amazon.awssdk.enhanced.dynamodb.model.DeleteItemEnhancedResponse; +import software.amazon.awssdk.enhanced.dynamodb.model.EnhancedLocalSecondaryIndex; +import software.amazon.awssdk.enhanced.dynamodb.model.GetItemEnhancedResponse; +import software.amazon.awssdk.enhanced.dynamodb.model.PutItemEnhancedRequest; +import software.amazon.awssdk.enhanced.dynamodb.model.PutItemEnhancedResponse; +import software.amazon.awssdk.enhanced.dynamodb.model.Record; +import software.amazon.awssdk.enhanced.dynamodb.model.UpdateItemEnhancedRequest; +import software.amazon.awssdk.enhanced.dynamodb.model.UpdateItemEnhancedResponse; +import software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient; +import software.amazon.awssdk.services.dynamodb.model.ConsumedCapacity; +import software.amazon.awssdk.services.dynamodb.model.Projection; +import software.amazon.awssdk.services.dynamodb.model.ProjectionType; +import software.amazon.awssdk.services.dynamodb.model.ReturnConsumedCapacity; +import software.amazon.awssdk.services.dynamodb.model.ReturnItemCollectionMetrics; + +public class AsyncCrudWithResponseIntegrationTest extends DynamoDbEnhancedIntegrationTestBase { + + + private static final String TABLE_NAME = createTestTableName(); + + + private static final EnhancedLocalSecondaryIndex LOCAL_SECONDARY_INDEX = EnhancedLocalSecondaryIndex.builder() + .indexName("index1") + .projection(Projection.builder() + .projectionType(ProjectionType.ALL) + .build()) + .build(); + + private static DynamoDbAsyncClient dynamoDbClient; + private static DynamoDbEnhancedAsyncClient enhancedClient; + private static DynamoDbAsyncTable mappedTable; + + @BeforeClass + public static void setup() { + dynamoDbClient = createAsyncDynamoDbClient(); + enhancedClient = DynamoDbEnhancedAsyncClient.builder().dynamoDbClient(dynamoDbClient).build(); + mappedTable = enhancedClient.table(TABLE_NAME, TABLE_SCHEMA); + mappedTable.createTable(r -> r.localSecondaryIndices(LOCAL_SECONDARY_INDEX)).join(); + dynamoDbClient.waiter().waitUntilTableExists(r -> r.tableName(TABLE_NAME)).join(); + } + + @AfterClass + public static void teardown() { + try { + dynamoDbClient.deleteTable(r -> r.tableName(TABLE_NAME)).join(); + } finally { + dynamoDbClient.close(); + } + } + + + @Test + public void putItem_returnItemCollectionMetrics_set_itemCollectionMetricsNull() { + Record record = new Record().setId("1").setSort(10); + PutItemEnhancedRequest request = PutItemEnhancedRequest.builder(Record.class) + .item(record) + .build(); + + PutItemEnhancedResponse response = mappedTable.putItemWithResponse(request).join(); + + assertThat(response.itemCollectionMetrics()).isNull(); + } + + @Test + public void putItem_returnItemCollectionMetrics_set_itemCollectionMetricsNotNull() { + Record record = new Record().setId("1").setSort(10); + PutItemEnhancedRequest request = PutItemEnhancedRequest.builder(Record.class) + .item(record) + .returnItemCollectionMetrics(ReturnItemCollectionMetrics.SIZE) + .build(); + + PutItemEnhancedResponse response = mappedTable.putItemWithResponse(request).join(); + + assertThat(response.itemCollectionMetrics()).isNotNull(); + } + + @Test + public void updateItem_returnItemCollectionMetrics_set_itemCollectionMetricsNull() { + Record record = new Record().setId("1").setSort(10); + UpdateItemEnhancedRequest request = UpdateItemEnhancedRequest.builder(Record.class) + .item(record) + .build(); + + UpdateItemEnhancedResponse response = mappedTable.updateItemWithResponse(request).join(); + + assertThat(response.itemCollectionMetrics()).isNull(); + } + + @Test + public void updateItem_returnItemCollectionMetrics_set_itemCollectionMetricsNotNull() { + Record record = new Record().setId("1").setSort(10); + UpdateItemEnhancedRequest request = UpdateItemEnhancedRequest.builder(Record.class) + .item(record) + .returnItemCollectionMetrics(ReturnItemCollectionMetrics.SIZE) + .build(); + + UpdateItemEnhancedResponse response = mappedTable.updateItemWithResponse(request).join(); + + assertThat(response.itemCollectionMetrics()).isNotNull(); + } + + @Test + public void deleteItem_returnConsumedCapacity_unset_consumedCapacityNull() { + Key key = Key.builder().partitionValue("1").sortValue(10).build(); + + DeleteItemEnhancedResponse response = mappedTable.deleteItemWithResponse(r -> r.key(key)).join(); + + assertThat(response.consumedCapacity()).isNull(); + } + + @Test + public void deleteItem_returnConsumedCapacity_set_consumedCapacityNotNull() { + Key key = Key.builder().partitionValue("1").sortValue(10).build(); + + DeleteItemEnhancedResponse response = + mappedTable.deleteItemWithResponse(r -> r.key(key).returnConsumedCapacity(ReturnConsumedCapacity.TOTAL)).join(); + + assertThat(response.consumedCapacity()).isNotNull(); + } + + @Test + public void delete_returnItemCollectionMetrics_set_itemCollectionMetricsNotNull() { + Key key = Key.builder().partitionValue("1").sortValue(10).build(); + + DeleteItemEnhancedResponse response = + mappedTable.deleteItemWithResponse(r -> r.key(key).returnItemCollectionMetrics(ReturnItemCollectionMetrics.SIZE)) + .join(); + + assertThat(response.itemCollectionMetrics()).isNotNull(); + } + + @Test + public void getItem_withoutReturnConsumedCapacity() { + Record record = new Record().setId("101").setSort(102).setStringAttribute(getStringAttrValue(80_000)); + Key key = Key.builder() + .partitionValue(record.getId()) + .sortValue(record.getSort()) + .build(); + + GetItemEnhancedResponse response = mappedTable.getItemWithResponse(req -> req.key(key)).join(); + assertThat(response.consumedCapacity()).isNull(); + } + + @Test + public void getItem_withReturnConsumedCapacity_eventualConsistent() { + Record record = new Record().setId("101").setSort(102).setStringAttribute(getStringAttrValue(80 * 1024)); + Key key = Key.builder() + .partitionValue(record.getId()) + .sortValue(record.getSort()) + .build(); + mappedTable.putItem(record).join(); + + GetItemEnhancedResponse response = mappedTable.getItemWithResponse( + req -> req.key(key).returnConsumedCapacity(ReturnConsumedCapacity.TOTAL) + ).join(); + ConsumedCapacity consumedCapacity = response.consumedCapacity(); + assertThat(consumedCapacity).isNotNull(); + // An eventually consistent read request of an item up to 4 KB requires one-half read request unit. + assertThat(consumedCapacity.capacityUnits()).isCloseTo(10.0, Offset.offset(1.0)); + } + + @Test + public void getItem_withReturnConsumedCapacity_stronglyConsistent() { + Record record = new Record().setId("201").setSort(202).setStringAttribute(getStringAttrValue(80 * 1024)); + Key key = Key.builder() + .partitionValue(record.getId()) + .sortValue(record.getSort()) + .build(); + mappedTable.putItem(record).join(); + + GetItemEnhancedResponse response = mappedTable.getItemWithResponse( + req -> req.key(key).returnConsumedCapacity(ReturnConsumedCapacity.TOTAL).consistentRead(true) + ).join(); + ConsumedCapacity consumedCapacity = response.consumedCapacity(); + assertThat(consumedCapacity).isNotNull(); + // A strongly consistent read request of an item up to 4 KB requires one read request unit. + assertThat(consumedCapacity.capacityUnits()).isCloseTo(20.0, Offset.offset(1.0)); + } +} diff --git a/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/AsyncDeleteItemWithResponseIntegrationTest.java b/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/AsyncDeleteItemWithResponseIntegrationTest.java deleted file mode 100644 index 88687e6ac725..000000000000 --- a/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/AsyncDeleteItemWithResponseIntegrationTest.java +++ /dev/null @@ -1,166 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -package software.amazon.awssdk.enhanced.dynamodb; - -import static org.assertj.core.api.Assertions.assertThat; -import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.primaryPartitionKey; -import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.primarySortKey; -import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.secondaryPartitionKey; -import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.secondarySortKey; - -import java.util.Objects; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; -import software.amazon.awssdk.enhanced.dynamodb.mapper.StaticTableSchema; -import software.amazon.awssdk.enhanced.dynamodb.model.DeleteItemEnhancedResponse; -import software.amazon.awssdk.enhanced.dynamodb.model.EnhancedLocalSecondaryIndex; -import software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient; -import software.amazon.awssdk.services.dynamodb.model.Projection; -import software.amazon.awssdk.services.dynamodb.model.ProjectionType; -import software.amazon.awssdk.services.dynamodb.model.ReturnConsumedCapacity; -import software.amazon.awssdk.services.dynamodb.model.ReturnItemCollectionMetrics; - -public class AsyncDeleteItemWithResponseIntegrationTest extends DynamoDbEnhancedIntegrationTestBase { - private static class Record { - private Integer id; - private Integer id2; - private String stringAttr1; - - private Integer getId() { - return id; - } - - private Record setId(Integer id) { - this.id = id; - return this; - } - - private Integer getId2() { - return id2; - } - - private Record setId2(Integer id2) { - this.id2 = id2; - return this; - } - - private String getStringAttr1() { - return stringAttr1; - } - - private Record setStringAttr1(String stringAttr1) { - this.stringAttr1 = stringAttr1; - return this; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Record record = (Record) o; - return Objects.equals(id, record.id) - && Objects.equals(id2, record.id2) - && Objects.equals(stringAttr1, record.stringAttr1); - } - - @Override - public int hashCode() { - return Objects.hash(id, id2, stringAttr1); - } - } - - private static final String TABLE_NAME = createTestTableName(); - - private static final TableSchema TABLE_SCHEMA = - StaticTableSchema.builder(Record.class) - .newItemSupplier(Record::new) - .addAttribute(Integer.class, a -> a.name("id_1") - .getter(Record::getId) - .setter(Record::setId) - .tags(primaryPartitionKey(), secondaryPartitionKey("index1"))) - .addAttribute(Integer.class, a -> a.name("id_2") - .getter(Record::getId2) - .setter(Record::setId2) - .tags(primarySortKey(), secondarySortKey("index1"))) - .addAttribute(String.class, a -> a.name("stringAttr1") - .getter(Record::getStringAttr1) - .setter(Record::setStringAttr1)) - .build(); - - private static final EnhancedLocalSecondaryIndex LOCAL_SECONDARY_INDEX = EnhancedLocalSecondaryIndex.builder() - .indexName("index1") - .projection(Projection.builder() - .projectionType(ProjectionType.ALL) - .build()) - .build(); - - private static DynamoDbAsyncClient dynamoDbClient; - private static DynamoDbEnhancedAsyncClient enhancedClient; - private static DynamoDbAsyncTable mappedTable; - - @BeforeClass - public static void setup() { - dynamoDbClient = createAsyncDynamoDbClient(); - enhancedClient = DynamoDbEnhancedAsyncClient.builder().dynamoDbClient(dynamoDbClient).build(); - mappedTable = enhancedClient.table(TABLE_NAME, TABLE_SCHEMA); - mappedTable.createTable(r -> r.localSecondaryIndices(LOCAL_SECONDARY_INDEX)).join(); - dynamoDbClient.waiter().waitUntilTableExists(r -> r.tableName(TABLE_NAME)).join(); - } - - @AfterClass - public static void teardown() { - try { - dynamoDbClient.deleteTable(r -> r.tableName(TABLE_NAME)); - } finally { - dynamoDbClient.close(); - } - } - - @Test - public void deleteItem_returnConsumedCapacity_unset_consumedCapacityNull() { - Key key = Key.builder().partitionValue(1).sortValue(10).build(); - - DeleteItemEnhancedResponse response = mappedTable.deleteItemWithResponse(r -> r.key(key)).join(); - - assertThat(response.consumedCapacity()).isNull(); - } - - @Test - public void deleteItem_returnConsumedCapacity_set_consumedCapacityNotNull() { - Key key = Key.builder().partitionValue(1).sortValue(10).build(); - - DeleteItemEnhancedResponse response = - mappedTable.deleteItemWithResponse(r -> r.key(key).returnConsumedCapacity(ReturnConsumedCapacity.TOTAL)).join(); - - assertThat(response.consumedCapacity()).isNotNull(); - } - - @Test - public void delete_returnItemCollectionMetrics_set_itemCollectionMetricsNotNull() { - Key key = Key.builder().partitionValue(1).sortValue(10).build(); - - DeleteItemEnhancedResponse response = - mappedTable.deleteItemWithResponse(r -> r.key(key).returnItemCollectionMetrics(ReturnItemCollectionMetrics.SIZE)) - .join(); - - assertThat(response.itemCollectionMetrics()).isNotNull(); - } -} diff --git a/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/AsyncPutItemWithResponseIntegrationTest.java b/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/AsyncPutItemWithResponseIntegrationTest.java deleted file mode 100644 index f423309b3e72..000000000000 --- a/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/AsyncPutItemWithResponseIntegrationTest.java +++ /dev/null @@ -1,168 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -package software.amazon.awssdk.enhanced.dynamodb; - -import static org.assertj.core.api.Assertions.assertThat; -import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.primaryPartitionKey; -import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.primarySortKey; -import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.secondaryPartitionKey; -import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.secondarySortKey; - -import java.util.Objects; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; -import software.amazon.awssdk.enhanced.dynamodb.mapper.StaticTableSchema; -import software.amazon.awssdk.enhanced.dynamodb.model.EnhancedLocalSecondaryIndex; -import software.amazon.awssdk.enhanced.dynamodb.model.PutItemEnhancedRequest; -import software.amazon.awssdk.enhanced.dynamodb.model.PutItemEnhancedResponse; -import software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient; -import software.amazon.awssdk.services.dynamodb.DynamoDbClient; -import software.amazon.awssdk.services.dynamodb.model.Projection; -import software.amazon.awssdk.services.dynamodb.model.ProjectionType; -import software.amazon.awssdk.services.dynamodb.model.ReturnItemCollectionMetrics; - -public class AsyncPutItemWithResponseIntegrationTest extends DynamoDbEnhancedIntegrationTestBase { - private static class Record { - private Integer id; - private Integer id2; - private String stringAttr1; - - private Integer getId() { - return id; - } - - private Record setId(Integer id) { - this.id = id; - return this; - } - - private Integer getId2() { - return id2; - } - - private Record setId2(Integer id2) { - this.id2 = id2; - return this; - } - - private String getStringAttr1() { - return stringAttr1; - } - - private Record setStringAttr1(String stringAttr1) { - this.stringAttr1 = stringAttr1; - return this; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Record record = (Record) o; - return Objects.equals(id, record.id) - && Objects.equals(id2, record.id2) - && Objects.equals(stringAttr1, record.stringAttr1); - } - - @Override - public int hashCode() { - return Objects.hash(id, id2, stringAttr1); - } - } - - private static final String TABLE_NAME = createTestTableName(); - - private static final TableSchema TABLE_SCHEMA = - StaticTableSchema.builder(Record.class) - .newItemSupplier(Record::new) - .addAttribute(Integer.class, a -> a.name("id_1") - .getter(Record::getId) - .setter(Record::setId) - .tags(primaryPartitionKey(), secondaryPartitionKey("index1"))) - .addAttribute(Integer.class, a -> a.name("id_2") - .getter(Record::getId2) - .setter(Record::setId2) - .tags(primarySortKey(), secondarySortKey("index1"))) - .addAttribute(String.class, a -> a.name("stringAttr1") - .getter(Record::getStringAttr1) - .setter(Record::setStringAttr1)) - .build(); - - private static final EnhancedLocalSecondaryIndex LOCAL_SECONDARY_INDEX = EnhancedLocalSecondaryIndex.builder() - .indexName("index1") - .projection(Projection.builder() - .projectionType(ProjectionType.ALL) - .build()) - .build(); - - private static DynamoDbClient dynamoDbClient; - private static DynamoDbAsyncClient asyncDynamoDbClient; - private static DynamoDbEnhancedAsyncClient enhancedClient; - - private static DynamoDbAsyncTable mappedTable; - - @BeforeClass - public static void setup() { - dynamoDbClient = createDynamoDbClient(); - asyncDynamoDbClient = createAsyncDynamoDbClient(); - enhancedClient = DynamoDbEnhancedAsyncClient.builder().dynamoDbClient(asyncDynamoDbClient).build(); - - mappedTable = enhancedClient.table(TABLE_NAME, TABLE_SCHEMA); - mappedTable.createTable(r -> r.localSecondaryIndices(LOCAL_SECONDARY_INDEX)).join(); - - dynamoDbClient.waiter().waitUntilTableExists(r -> r.tableName(TABLE_NAME)); - } - - @AfterClass - public static void teardown() { - try { - dynamoDbClient.deleteTable(r -> r.tableName(TABLE_NAME)); - } finally { - dynamoDbClient.close(); - } - asyncDynamoDbClient.close(); - } - - @Test - public void putItem_returnItemCollectionMetrics_set_itemCollectionMetricsNull() { - Record record = new Record().setId(1).setId2(10); - PutItemEnhancedRequest request = PutItemEnhancedRequest.builder(Record.class) - .item(record) - .build(); - - PutItemEnhancedResponse response = mappedTable.putItemWithResponse(request).join(); - - assertThat(response.itemCollectionMetrics()).isNull(); - } - - @Test - public void putItem_returnItemCollectionMetrics_set_itemCollectionMetricsNotNull() { - Record record = new Record().setId(1).setId2(10); - PutItemEnhancedRequest request = PutItemEnhancedRequest.builder(Record.class) - .item(record) - .returnItemCollectionMetrics(ReturnItemCollectionMetrics.SIZE) - .build(); - - PutItemEnhancedResponse response = mappedTable.putItemWithResponse(request).join(); - - assertThat(response.itemCollectionMetrics()).isNotNull(); - } -} diff --git a/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/AsyncUpdateItemWithResponseIntegrationTest.java b/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/AsyncUpdateItemWithResponseIntegrationTest.java deleted file mode 100644 index 28183923f546..000000000000 --- a/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/AsyncUpdateItemWithResponseIntegrationTest.java +++ /dev/null @@ -1,161 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -package software.amazon.awssdk.enhanced.dynamodb; - -import static org.assertj.core.api.Assertions.assertThat; -import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.primaryPartitionKey; -import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.primarySortKey; -import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.secondaryPartitionKey; -import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.secondarySortKey; - -import java.util.Objects; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; -import software.amazon.awssdk.enhanced.dynamodb.mapper.StaticTableSchema; -import software.amazon.awssdk.enhanced.dynamodb.model.EnhancedLocalSecondaryIndex; -import software.amazon.awssdk.enhanced.dynamodb.model.UpdateItemEnhancedRequest; -import software.amazon.awssdk.enhanced.dynamodb.model.UpdateItemEnhancedResponse; -import software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient; -import software.amazon.awssdk.services.dynamodb.model.Projection; -import software.amazon.awssdk.services.dynamodb.model.ProjectionType; -import software.amazon.awssdk.services.dynamodb.model.ReturnItemCollectionMetrics; - -public class AsyncUpdateItemWithResponseIntegrationTest extends DynamoDbEnhancedIntegrationTestBase { - private static class Record { - private Integer id; - private Integer id2; - private String stringAttr1; - - private Integer getId() { - return id; - } - - private Record setId(Integer id) { - this.id = id; - return this; - } - - private Integer getId2() { - return id2; - } - - private Record setId2(Integer id2) { - this.id2 = id2; - return this; - } - - private String getStringAttr1() { - return stringAttr1; - } - - private Record setStringAttr1(String stringAttr1) { - this.stringAttr1 = stringAttr1; - return this; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Record record = (Record) o; - return Objects.equals(id, record.id) - && Objects.equals(id2, record.id2) - && Objects.equals(stringAttr1, record.stringAttr1); - } - - @Override - public int hashCode() { - return Objects.hash(id, id2, stringAttr1); - } - } - - private static final String TABLE_NAME = createTestTableName(); - - private static final TableSchema TABLE_SCHEMA = - StaticTableSchema.builder(Record.class) - .newItemSupplier(Record::new) - .addAttribute(Integer.class, a -> a.name("id_1") - .getter(Record::getId) - .setter(Record::setId) - .tags(primaryPartitionKey(), secondaryPartitionKey("index1"))) - .addAttribute(Integer.class, a -> a.name("id_2") - .getter(Record::getId2) - .setter(Record::setId2) - .tags(primarySortKey(), secondarySortKey("index1"))) - .addAttribute(String.class, a -> a.name("stringAttr1") - .getter(Record::getStringAttr1) - .setter(Record::setStringAttr1)) - .build(); - - private static final EnhancedLocalSecondaryIndex LOCAL_SECONDARY_INDEX = EnhancedLocalSecondaryIndex.builder() - .indexName("index1") - .projection(Projection.builder() - .projectionType(ProjectionType.ALL) - .build()) - .build(); - - private static DynamoDbAsyncClient dynamoDbClient; - private static DynamoDbEnhancedAsyncClient enhancedClient; - private static DynamoDbAsyncTable mappedTable; - - @BeforeClass - public static void setup() { - dynamoDbClient = createAsyncDynamoDbClient(); - enhancedClient = DynamoDbEnhancedAsyncClient.builder().dynamoDbClient(dynamoDbClient).build(); - mappedTable = enhancedClient.table(TABLE_NAME, TABLE_SCHEMA); - mappedTable.createTable(r -> r.localSecondaryIndices(LOCAL_SECONDARY_INDEX)).join(); - dynamoDbClient.waiter().waitUntilTableExists(r -> r.tableName(TABLE_NAME)).join(); - } - - @AfterClass - public static void teardown() { - try { - dynamoDbClient.deleteTable(r -> r.tableName(TABLE_NAME)).join(); - } finally { - dynamoDbClient.close(); - } - } - - @Test - public void updateItem_returnItemCollectionMetrics_set_itemCollectionMetricsNull() { - Record record = new Record().setId(1).setId2(10); - UpdateItemEnhancedRequest request = UpdateItemEnhancedRequest.builder(Record.class) - .item(record) - .build(); - - UpdateItemEnhancedResponse response = mappedTable.updateItemWithResponse(request).join(); - - assertThat(response.itemCollectionMetrics()).isNull(); - } - - @Test - public void putItem_returnItemCollectionMetrics_set_itemCollectionMetricsNotNull() { - Record record = new Record().setId(1).setId2(10); - UpdateItemEnhancedRequest request = UpdateItemEnhancedRequest.builder(Record.class) - .item(record) - .returnItemCollectionMetrics(ReturnItemCollectionMetrics.SIZE) - .build(); - - UpdateItemEnhancedResponse response = mappedTable.updateItemWithResponse(request).join(); - - assertThat(response.itemCollectionMetrics()).isNotNull(); - } -} diff --git a/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/CrudWithResponseIntegrationTest.java b/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/CrudWithResponseIntegrationTest.java new file mode 100644 index 000000000000..d6fc0a36d639 --- /dev/null +++ b/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/CrudWithResponseIntegrationTest.java @@ -0,0 +1,193 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +package software.amazon.awssdk.enhanced.dynamodb; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.assertj.core.data.Offset; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; +import software.amazon.awssdk.enhanced.dynamodb.model.DeleteItemEnhancedResponse; +import software.amazon.awssdk.enhanced.dynamodb.model.EnhancedLocalSecondaryIndex; +import software.amazon.awssdk.enhanced.dynamodb.model.GetItemEnhancedResponse; +import software.amazon.awssdk.enhanced.dynamodb.model.PutItemEnhancedRequest; +import software.amazon.awssdk.enhanced.dynamodb.model.PutItemEnhancedResponse; +import software.amazon.awssdk.enhanced.dynamodb.model.Record; +import software.amazon.awssdk.enhanced.dynamodb.model.UpdateItemEnhancedRequest; +import software.amazon.awssdk.enhanced.dynamodb.model.UpdateItemEnhancedResponse; +import software.amazon.awssdk.services.dynamodb.DynamoDbClient; +import software.amazon.awssdk.services.dynamodb.model.ConsumedCapacity; +import software.amazon.awssdk.services.dynamodb.model.Projection; +import software.amazon.awssdk.services.dynamodb.model.ProjectionType; +import software.amazon.awssdk.services.dynamodb.model.ReturnConsumedCapacity; +import software.amazon.awssdk.services.dynamodb.model.ReturnItemCollectionMetrics; + +public class CrudWithResponseIntegrationTest extends DynamoDbEnhancedIntegrationTestBase { + + private static final String TABLE_NAME = createTestTableName(); + + private static final EnhancedLocalSecondaryIndex LOCAL_SECONDARY_INDEX = + EnhancedLocalSecondaryIndex.builder() + .indexName("index1") + .projection(Projection.builder() + .projectionType(ProjectionType.ALL) + .build()) + .build(); + + private static DynamoDbClient dynamoDbClient; + private static DynamoDbEnhancedClient enhancedClient; + private static DynamoDbTable mappedTable; + + @BeforeClass + public static void setup() { + dynamoDbClient = createDynamoDbClient(); + enhancedClient = DynamoDbEnhancedClient.builder().dynamoDbClient(dynamoDbClient).build(); + mappedTable = enhancedClient.table(TABLE_NAME, TABLE_SCHEMA); + mappedTable.createTable(r -> r.localSecondaryIndices(LOCAL_SECONDARY_INDEX)); + dynamoDbClient.waiter().waitUntilTableExists(r -> r.tableName(TABLE_NAME)); + } + + @AfterClass + public static void teardown() { + try { + dynamoDbClient.deleteTable(r -> r.tableName(TABLE_NAME)); + } finally { + dynamoDbClient.close(); + } + } + + @Test + public void putItem_set_requestedMetadataNull() { + Record record = new Record().setId("1").setSort(10); + PutItemEnhancedResponse response = mappedTable.putItemWithResponse(r -> r.item(record)); + + assertThat(response.itemCollectionMetrics()).isNull(); + assertThat(response.consumedCapacity()).isNull(); + } + + @Test + public void putItem_set_requestedMetadataNotNull() { + Record record = new Record().setId("1").setSort(10); + PutItemEnhancedRequest request = PutItemEnhancedRequest.builder(Record.class) + .item(record) + .returnItemCollectionMetrics(ReturnItemCollectionMetrics.SIZE) + .returnConsumedCapacity(ReturnConsumedCapacity.TOTAL) + .build(); + + PutItemEnhancedResponse response = mappedTable.putItemWithResponse(request); + + assertThat(response.itemCollectionMetrics()).isNotNull(); + assertThat(response.consumedCapacity()).isNotNull(); + assertThat(response.consumedCapacity().capacityUnits()).isNotNull(); + } + + @Test + public void updateItem_set_requestedMetadataNull() { + Record record = new Record().setId("1").setSort(10); + UpdateItemEnhancedResponse response = mappedTable.updateItemWithResponse(r -> r.item(record)); + + assertThat(response.itemCollectionMetrics()).isNull(); + assertThat(response.consumedCapacity()).isNull(); + } + + @Test + public void updateItem_set_itemCollectionMetricsNotNull() { + Record record = new Record().setId("1").setSort(10); + UpdateItemEnhancedRequest request = UpdateItemEnhancedRequest.builder(Record.class) + .item(record) + .returnItemCollectionMetrics(ReturnItemCollectionMetrics.SIZE) + .returnConsumedCapacity(ReturnConsumedCapacity.TOTAL) + .build(); + + UpdateItemEnhancedResponse response = mappedTable.updateItemWithResponse(request); + + assertThat(response.itemCollectionMetrics()).isNotNull(); + assertThat(response.consumedCapacity()).isNotNull(); + assertThat(response.consumedCapacity().capacityUnits()).isNotNull(); + } + + @Test + public void deleteItem__unset_consumedCapacityNull() { + Key key = Key.builder().partitionValue("1").sortValue(10).build(); + + DeleteItemEnhancedResponse response = mappedTable.deleteItemWithResponse(r -> r.key(key)); + + assertThat(response.consumedCapacity()).isNull(); + } + + @Test + public void deleteItem__set_consumedCapacityNotNull() { + Key key = Key.builder().partitionValue("1").sortValue(10).build(); + + DeleteItemEnhancedResponse response = + mappedTable.deleteItemWithResponse(r -> r.key(key) + .returnItemCollectionMetrics(ReturnItemCollectionMetrics.SIZE) + .returnConsumedCapacity(ReturnConsumedCapacity.TOTAL)); + + assertThat(response.consumedCapacity()).isNotNull(); + } + + @Test + public void getItem_set_requestedMetadataNull() { + Record record = new Record().setId("101").setSort(102).setStringAttribute(getStringAttrValue(80_000)); + Key key = Key.builder() + .partitionValue(record.getId()) + .sortValue(record.getSort()) + .build(); + + mappedTable.putItem(record); + GetItemEnhancedResponse response = mappedTable.getItemWithResponse(req -> req.key(key)); + + assertThat(response.consumedCapacity()).isNull(); + } + + @Test + public void getItem_set_eventualConsistent() { + Record record = new Record().setId("101").setSort(102).setStringAttribute(getStringAttrValue(80 * 1024)); + Key key = Key.builder() + .partitionValue(record.getId()) + .sortValue(record.getSort()) + .build(); + mappedTable.putItem(record); + + GetItemEnhancedResponse response = mappedTable.getItemWithResponse( + req -> req.key(key).returnConsumedCapacity(ReturnConsumedCapacity.TOTAL) + ); + ConsumedCapacity consumedCapacity = response.consumedCapacity(); + assertThat(consumedCapacity).isNotNull(); + // An eventually consistent read request of an item up to 4 KB requires one-half read request unit. + assertThat(consumedCapacity.capacityUnits()).isCloseTo(10.0, Offset.offset(1.0)); + } + + @Test + public void getItem_set_stronglyConsistent() { + Record record = new Record().setId("101").setSort(102).setStringAttribute(getStringAttrValue(80 * 1024)); + Key key = Key.builder() + .partitionValue(record.getId()) + .sortValue(record.getSort()) + .build(); + mappedTable.putItem(record); + + GetItemEnhancedResponse response = mappedTable.getItemWithResponse( + req -> req.key(key).returnConsumedCapacity(ReturnConsumedCapacity.TOTAL).consistentRead(true) + ); + ConsumedCapacity consumedCapacity = response.consumedCapacity(); + assertThat(consumedCapacity).isNotNull(); + // A strongly consistent read request of an item up to 4 KB requires one read request unit. + assertThat(consumedCapacity.capacityUnits()).isCloseTo(20.0, Offset.offset(1.0)); + } +} diff --git a/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/DeleteItemWithResponseIntegrationTest.java b/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/DeleteItemWithResponseIntegrationTest.java deleted file mode 100644 index 7c8c2612e477..000000000000 --- a/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/DeleteItemWithResponseIntegrationTest.java +++ /dev/null @@ -1,165 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -package software.amazon.awssdk.enhanced.dynamodb; - -import static org.assertj.core.api.Assertions.assertThat; -import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.primaryPartitionKey; -import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.primarySortKey; -import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.secondaryPartitionKey; -import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.secondarySortKey; - -import java.util.Objects; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; -import software.amazon.awssdk.enhanced.dynamodb.mapper.StaticTableSchema; -import software.amazon.awssdk.enhanced.dynamodb.model.DeleteItemEnhancedResponse; -import software.amazon.awssdk.enhanced.dynamodb.model.EnhancedLocalSecondaryIndex; -import software.amazon.awssdk.services.dynamodb.DynamoDbClient; -import software.amazon.awssdk.services.dynamodb.model.Projection; -import software.amazon.awssdk.services.dynamodb.model.ProjectionType; -import software.amazon.awssdk.services.dynamodb.model.ReturnConsumedCapacity; -import software.amazon.awssdk.services.dynamodb.model.ReturnItemCollectionMetrics; - -public class DeleteItemWithResponseIntegrationTest extends DynamoDbEnhancedIntegrationTestBase { - private static class Record { - private Integer id; - private Integer id2; - private String stringAttr1; - - private Integer getId() { - return id; - } - - private Record setId(Integer id) { - this.id = id; - return this; - } - - private Integer getId2() { - return id2; - } - - private Record setId2(Integer id2) { - this.id2 = id2; - return this; - } - - private String getStringAttr1() { - return stringAttr1; - } - - private Record setStringAttr1(String stringAttr1) { - this.stringAttr1 = stringAttr1; - return this; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Record record = (Record) o; - return Objects.equals(id, record.id) - && Objects.equals(id2, record.id2) - && Objects.equals(stringAttr1, record.stringAttr1); - } - - @Override - public int hashCode() { - return Objects.hash(id, id2, stringAttr1); - } - } - - private static final String TABLE_NAME = createTestTableName(); - - private static final TableSchema TABLE_SCHEMA = - StaticTableSchema.builder(Record.class) - .newItemSupplier(Record::new) - .addAttribute(Integer.class, a -> a.name("id_1") - .getter(Record::getId) - .setter(Record::setId) - .tags(primaryPartitionKey(), secondaryPartitionKey("index1"))) - .addAttribute(Integer.class, a -> a.name("id_2") - .getter(Record::getId2) - .setter(Record::setId2) - .tags(primarySortKey(), secondarySortKey("index1"))) - .addAttribute(String.class, a -> a.name("stringAttr1") - .getter(Record::getStringAttr1) - .setter(Record::setStringAttr1)) - .build(); - - private static final EnhancedLocalSecondaryIndex LOCAL_SECONDARY_INDEX = EnhancedLocalSecondaryIndex.builder() - .indexName("index1") - .projection(Projection.builder() - .projectionType(ProjectionType.ALL) - .build()) - .build(); - - private static DynamoDbClient dynamoDbClient; - private static DynamoDbEnhancedClient enhancedClient; - private static DynamoDbTable mappedTable; - - @BeforeClass - public static void setup() { - dynamoDbClient = createDynamoDbClient(); - enhancedClient = DynamoDbEnhancedClient.builder().dynamoDbClient(dynamoDbClient).build(); - mappedTable = enhancedClient.table(TABLE_NAME, TABLE_SCHEMA); - mappedTable.createTable(r -> r.localSecondaryIndices(LOCAL_SECONDARY_INDEX)); - dynamoDbClient.waiter().waitUntilTableExists(r -> r.tableName(TABLE_NAME)); - } - - @AfterClass - public static void teardown() { - try { - dynamoDbClient.deleteTable(r -> r.tableName(TABLE_NAME)); - } finally { - dynamoDbClient.close(); - } - } - - @Test - public void deleteItem_returnConsumedCapacity_unset_consumedCapacityNull() { - Key key = Key.builder().partitionValue(1).sortValue(10).build(); - - DeleteItemEnhancedResponse response = mappedTable.deleteItemWithResponse(r -> r.key(key)); - - assertThat(response.consumedCapacity()).isNull(); - } - - @Test - public void deleteItem_returnConsumedCapacity_set_consumedCapacityNotNull() { - Key key = Key.builder().partitionValue(1).sortValue(10).build(); - - DeleteItemEnhancedResponse response = - mappedTable.deleteItemWithResponse(r -> r.key(key).returnConsumedCapacity(ReturnConsumedCapacity.TOTAL)); - - assertThat(response.consumedCapacity()).isNotNull(); - } - - @Test - public void delete_returnItemCollectionMetrics_set_itemCollectionMetricsNotNull() { - Key key = Key.builder().partitionValue(1).sortValue(10).build(); - - DeleteItemEnhancedResponse response = - mappedTable.deleteItemWithResponse(r -> r.key(key).returnItemCollectionMetrics(ReturnItemCollectionMetrics.SIZE)); - - assertThat(response.itemCollectionMetrics()).isNotNull(); - } -} diff --git a/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/DynamoDbEnhancedIntegrationTestBase.java b/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/DynamoDbEnhancedIntegrationTestBase.java index a2b56ddad5cc..8a8e35470c20 100644 --- a/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/DynamoDbEnhancedIntegrationTestBase.java +++ b/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/DynamoDbEnhancedIntegrationTestBase.java @@ -15,7 +15,18 @@ package software.amazon.awssdk.enhanced.dynamodb; +import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.primaryPartitionKey; +import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.primarySortKey; +import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.secondaryPartitionKey; +import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.secondarySortKey; + +import java.util.Arrays; +import java.util.List; import java.util.UUID; +import java.util.stream.Collectors; +import java.util.stream.IntStream; +import software.amazon.awssdk.enhanced.dynamodb.mapper.StaticTableSchema; +import software.amazon.awssdk.enhanced.dynamodb.model.Record; import software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient; import software.amazon.awssdk.services.dynamodb.DynamoDbClient; import software.amazon.awssdk.testutils.service.AwsIntegrationTestBase; @@ -36,4 +47,59 @@ protected static DynamoDbAsyncClient createAsyncDynamoDbClient() { .credentialsProvider(getCredentialsProvider()) .build(); } + + protected static final TableSchema TABLE_SCHEMA = + StaticTableSchema.builder(Record.class) + .newItemSupplier(Record::new) + .addAttribute(String.class, a -> a.name("id") + .getter(Record::getId) + .setter(Record::setId) + .tags(primaryPartitionKey(), secondaryPartitionKey("index1"))) + .addAttribute(Integer.class, a -> a.name("sort") + .getter(Record::getSort) + .setter(Record::setSort) + .tags(primarySortKey(), secondarySortKey("index1"))) + .addAttribute(Integer.class, a -> a.name("value") + .getter(Record::getValue) + .setter(Record::setValue)) + .addAttribute(String.class, a -> a.name("gsi_id") + .getter(Record::getGsiId) + .setter(Record::setGsiId) + .tags(secondaryPartitionKey("gsi_keys_only"))) + .addAttribute(Integer.class, a -> a.name("gsi_sort") + .getter(Record::getGsiSort) + .setter(Record::setGsiSort) + .tags(secondarySortKey("gsi_keys_only"))) + .addAttribute(String.class, a -> a.name("stringAttribute") + .getter(Record::getStringAttribute) + .setter(Record::setStringAttribute)) + .build(); + + + protected static final List RECORDS = + IntStream.range(0, 9) + .mapToObj(i -> new Record() + .setId("id-value") + .setSort(i) + .setValue(i) + .setStringAttribute(getStringAttrValue(10 * 1024)) + .setGsiId("gsi-id-value") + .setGsiSort(i)) + .collect(Collectors.toList()); + + protected static final List KEYS_ONLY_RECORDS = + RECORDS.stream() + .map(record -> new Record() + .setId(record.getId()) + .setSort(record.getSort()) + .setGsiId(record.getGsiId()) + .setGsiSort(record.getGsiSort())) + .collect(Collectors.toList()); + + protected static String getStringAttrValue(int numChars) { + char[] chars = new char[numChars]; + Arrays.fill(chars, 'a'); + return new String(chars); + } + } diff --git a/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/PutItemWithResponseIntegrationTest.java b/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/PutItemWithResponseIntegrationTest.java deleted file mode 100644 index 24f67a92d78e..000000000000 --- a/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/PutItemWithResponseIntegrationTest.java +++ /dev/null @@ -1,161 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -package software.amazon.awssdk.enhanced.dynamodb; - -import static org.assertj.core.api.Assertions.assertThat; -import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.primaryPartitionKey; -import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.primarySortKey; -import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.secondaryPartitionKey; -import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.secondarySortKey; - -import java.util.Objects; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; -import software.amazon.awssdk.enhanced.dynamodb.mapper.StaticTableSchema; -import software.amazon.awssdk.enhanced.dynamodb.model.EnhancedLocalSecondaryIndex; -import software.amazon.awssdk.enhanced.dynamodb.model.PutItemEnhancedRequest; -import software.amazon.awssdk.enhanced.dynamodb.model.PutItemEnhancedResponse; -import software.amazon.awssdk.services.dynamodb.DynamoDbClient; -import software.amazon.awssdk.services.dynamodb.model.Projection; -import software.amazon.awssdk.services.dynamodb.model.ProjectionType; -import software.amazon.awssdk.services.dynamodb.model.ReturnItemCollectionMetrics; - -public class PutItemWithResponseIntegrationTest extends DynamoDbEnhancedIntegrationTestBase { - private static class Record { - private Integer id; - private Integer id2; - private String stringAttr1; - - private Integer getId() { - return id; - } - - private Record setId(Integer id) { - this.id = id; - return this; - } - - private Integer getId2() { - return id2; - } - - private Record setId2(Integer id2) { - this.id2 = id2; - return this; - } - - private String getStringAttr1() { - return stringAttr1; - } - - private Record setStringAttr1(String stringAttr1) { - this.stringAttr1 = stringAttr1; - return this; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Record record = (Record) o; - return Objects.equals(id, record.id) - && Objects.equals(id2, record.id2) - && Objects.equals(stringAttr1, record.stringAttr1); - } - - @Override - public int hashCode() { - return Objects.hash(id, id2, stringAttr1); - } - } - - private static final String TABLE_NAME = createTestTableName(); - - private static final TableSchema TABLE_SCHEMA = - StaticTableSchema.builder(Record.class) - .newItemSupplier(Record::new) - .addAttribute(Integer.class, a -> a.name("id_1") - .getter(Record::getId) - .setter(Record::setId) - .tags(primaryPartitionKey(), secondaryPartitionKey("index1"))) - .addAttribute(Integer.class, a -> a.name("id_2") - .getter(Record::getId2) - .setter(Record::setId2) - .tags(primarySortKey(), secondarySortKey("index1"))) - .addAttribute(String.class, a -> a.name("stringAttr1") - .getter(Record::getStringAttr1) - .setter(Record::setStringAttr1)) - .build(); - - private static final EnhancedLocalSecondaryIndex LOCAL_SECONDARY_INDEX = EnhancedLocalSecondaryIndex.builder() - .indexName("index1") - .projection(Projection.builder() - .projectionType(ProjectionType.ALL) - .build()) - .build(); - - private static DynamoDbClient dynamoDbClient; - private static DynamoDbEnhancedClient enhancedClient; - private static DynamoDbTable mappedTable; - - @BeforeClass - public static void setup() { - dynamoDbClient = createDynamoDbClient(); - enhancedClient = DynamoDbEnhancedClient.builder().dynamoDbClient(dynamoDbClient).build(); - mappedTable = enhancedClient.table(TABLE_NAME, TABLE_SCHEMA); - mappedTable.createTable(r -> r.localSecondaryIndices(LOCAL_SECONDARY_INDEX)); - dynamoDbClient.waiter().waitUntilTableExists(r -> r.tableName(TABLE_NAME)); - } - - @AfterClass - public static void teardown() { - try { - dynamoDbClient.deleteTable(r -> r.tableName(TABLE_NAME)); - } finally { - dynamoDbClient.close(); - } - } - - @Test - public void putItem_returnItemCollectionMetrics_set_itemCollectionMetricsNull() { - Record record = new Record().setId(1).setId2(10); - PutItemEnhancedRequest request = PutItemEnhancedRequest.builder(Record.class) - .item(record) - .build(); - - PutItemEnhancedResponse response = mappedTable.putItemWithResponse(request); - - assertThat(response.itemCollectionMetrics()).isNull(); - } - - @Test - public void putItem_returnItemCollectionMetrics_set_itemCollectionMetricsNotNull() { - Record record = new Record().setId(1).setId2(10); - PutItemEnhancedRequest request = PutItemEnhancedRequest.builder(Record.class) - .item(record) - .returnItemCollectionMetrics(ReturnItemCollectionMetrics.SIZE) - .build(); - - PutItemEnhancedResponse response = mappedTable.putItemWithResponse(request); - - assertThat(response.itemCollectionMetrics()).isNotNull(); - } -} diff --git a/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/ScanQueryIntegrationTest.java b/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/ScanQueryIntegrationTest.java new file mode 100644 index 000000000000..5ca76dec9011 --- /dev/null +++ b/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/ScanQueryIntegrationTest.java @@ -0,0 +1,191 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +package software.amazon.awssdk.enhanced.dynamodb; + +import static org.hamcrest.CoreMatchers.notNullValue; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.Matchers.greaterThan; +import static org.hamcrest.Matchers.greaterThanOrEqualTo; +import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.nullValue; +import static software.amazon.awssdk.enhanced.dynamodb.internal.AttributeValues.numberValue; +import static software.amazon.awssdk.enhanced.dynamodb.internal.AttributeValues.stringValue; +import static software.amazon.awssdk.enhanced.dynamodb.model.QueryConditional.sortBetween; +import static software.amazon.awssdk.enhanced.dynamodb.model.QueryConditional.sortGreaterThan; + +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; +import software.amazon.awssdk.enhanced.dynamodb.model.Page; +import software.amazon.awssdk.enhanced.dynamodb.model.QueryConditional; +import software.amazon.awssdk.enhanced.dynamodb.model.QueryEnhancedRequest; +import software.amazon.awssdk.enhanced.dynamodb.model.Record; +import software.amazon.awssdk.enhanced.dynamodb.model.ScanEnhancedRequest; +import software.amazon.awssdk.services.dynamodb.DynamoDbClient; +import software.amazon.awssdk.services.dynamodb.model.AttributeValue; +import software.amazon.awssdk.services.dynamodb.model.ConsumedCapacity; +import software.amazon.awssdk.services.dynamodb.model.ReturnConsumedCapacity; + +public class ScanQueryIntegrationTest extends DynamoDbEnhancedIntegrationTestBase { + + private static final String TABLE_NAME = createTestTableName(); + + private static DynamoDbClient dynamoDbClient; + private static DynamoDbEnhancedClient enhancedClient; + private static DynamoDbTable mappedTable; + + @BeforeClass + public static void setup() { + dynamoDbClient = createDynamoDbClient(); + enhancedClient = DynamoDbEnhancedClient.builder().dynamoDbClient(dynamoDbClient).build(); + mappedTable = enhancedClient.table(TABLE_NAME, TABLE_SCHEMA); + mappedTable.createTable(); + dynamoDbClient.waiter().waitUntilTableExists(r -> r.tableName(TABLE_NAME)); + } + + @AfterClass + public static void teardown() { + try { + dynamoDbClient.deleteTable(r -> r.tableName(TABLE_NAME)); + } finally { + dynamoDbClient.close(); + } + } + + private void insertRecords() { + RECORDS.forEach(record -> mappedTable.putItem(r -> r.item(record))); + } + + @Test + public void scan_withoutReturnConsumedCapacity_checksPageCount() { + insertRecords(); + + Iterator> results = mappedTable.scan(ScanEnhancedRequest.builder().limit(5).build()) + .iterator(); + Page page1 = results.next(); + assertThat(results.hasNext(), is(true)); + Page page2 = results.next(); + assertThat(results.hasNext(), is(false)); + + assertThat(page1.items(), is(RECORDS.subList(0, 5))); + assertThat(page1.consumedCapacity(), is(nullValue())); + assertThat(page1.lastEvaluatedKey(), is(getKeyMap(4))); + assertThat(page1.count(), equalTo(5)); + assertThat(page1.scannedCount(), equalTo(5)); + + assertThat(page2.items(), is(RECORDS.subList(5, 9))); + assertThat(page2.lastEvaluatedKey(), is(nullValue())); + assertThat(page2.count(), equalTo(4)); + assertThat(page2.scannedCount(), equalTo(4)); + } + + @Test + public void scan_withReturnConsumedCapacityAndDifferentReadConsistency_checksConsumedCapacity() { + insertRecords(); + + Iterator> eventualConsistencyResult = + mappedTable.scan(ScanEnhancedRequest.builder().returnConsumedCapacity(ReturnConsumedCapacity.TOTAL).build()) + .iterator(); + + Page page = eventualConsistencyResult.next(); + assertThat(eventualConsistencyResult.hasNext(), is(false)); + ConsumedCapacity eventualConsumedCapacity = page.consumedCapacity(); + assertThat(eventualConsumedCapacity, is(notNullValue())); + + Iterator> strongConsistencyResult = + mappedTable.scan(ScanEnhancedRequest.builder().returnConsumedCapacity(ReturnConsumedCapacity.TOTAL).build()) + .iterator(); + + page = strongConsistencyResult.next(); + assertThat(strongConsistencyResult.hasNext(), is(false)); + ConsumedCapacity strongConsumedCapacity = page.consumedCapacity(); + assertThat(strongConsumedCapacity, is(notNullValue())); + + assertThat(strongConsumedCapacity.capacityUnits(), is(greaterThanOrEqualTo(eventualConsumedCapacity.capacityUnits()))); + } + + @Test + public void query_withoutReturnConsumedCapacity_checksPageCount() { + insertRecords(); + + Iterator> results = + mappedTable.query(QueryEnhancedRequest.builder() + .queryConditional(sortBetween(k-> k.partitionValue("id-value").sortValue(2), + k-> k.partitionValue("id-value").sortValue(6))) + .limit(3) + .build()) + .iterator(); + + Page page1 = results.next(); + assertThat(results.hasNext(), is(true)); + Page page2 = results.next(); + assertThat(results.hasNext(), is(false)); + + assertThat(page1.items(), is(RECORDS.subList(2, 5))); + assertThat(page1.consumedCapacity(), is(nullValue())); + assertThat(page1.lastEvaluatedKey(), is(getKeyMap(4))); + assertThat(page1.count(), equalTo(3)); + assertThat(page1.scannedCount(), equalTo(3)); + + assertThat(page2.items(), is(RECORDS.subList(5, 7))); + assertThat(page2.lastEvaluatedKey(), is(nullValue())); + assertThat(page2.count(), equalTo(2)); + assertThat(page2.scannedCount(), equalTo(2)); + } + + @Test + public void query_withReturnConsumedCapacityAndDifferentReadConsistency_checksConsumedCapacity() { + insertRecords(); + + Iterator> eventualConsistencyResult = + mappedTable.query(QueryEnhancedRequest.builder() + .queryConditional(sortGreaterThan(k -> k.partitionValue("id-value").sortValue(3))) + .returnConsumedCapacity(ReturnConsumedCapacity.TOTAL) + .build()) + .iterator(); + + Page page = eventualConsistencyResult.next(); + assertThat(eventualConsistencyResult.hasNext(), is(false)); + ConsumedCapacity eventualConsumedCapacity = page.consumedCapacity(); + assertThat(eventualConsumedCapacity, is(notNullValue())); + + Iterator> strongConsistencyResult = + mappedTable.query(QueryEnhancedRequest.builder() + .queryConditional(sortGreaterThan(k -> k.partitionValue("id-value").sortValue(3))) + .returnConsumedCapacity(ReturnConsumedCapacity.TOTAL) + .build()) + .iterator(); + + page = strongConsistencyResult.next(); + assertThat(strongConsistencyResult.hasNext(), is(false)); + ConsumedCapacity strongConsumedCapacity = page.consumedCapacity(); + assertThat(strongConsumedCapacity, is(notNullValue())); + + assertThat(strongConsumedCapacity.capacityUnits(), is(greaterThanOrEqualTo(eventualConsumedCapacity.capacityUnits()))); + } + + private Map getKeyMap(int sort) { + Map result = new HashMap<>(); + result.put("id", stringValue(RECORDS.get(sort).getId())); + result.put("sort", numberValue(RECORDS.get(sort).getSort())); + return Collections.unmodifiableMap(result); + } +} diff --git a/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/UpdateItemWithResponseIntegrationTest.java b/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/UpdateItemWithResponseIntegrationTest.java deleted file mode 100644 index c8767edaf216..000000000000 --- a/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/UpdateItemWithResponseIntegrationTest.java +++ /dev/null @@ -1,161 +0,0 @@ -/* - * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"). - * You may not use this file except in compliance with the License. - * A copy of the License is located at - * - * http://aws.amazon.com/apache2.0 - * - * or in the "license" file accompanying this file. This file is distributed - * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either - * express or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ - -package software.amazon.awssdk.enhanced.dynamodb; - -import static org.assertj.core.api.Assertions.assertThat; -import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.primaryPartitionKey; -import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.primarySortKey; -import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.secondaryPartitionKey; -import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.secondarySortKey; - -import java.util.Objects; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; -import software.amazon.awssdk.enhanced.dynamodb.mapper.StaticTableSchema; -import software.amazon.awssdk.enhanced.dynamodb.model.EnhancedLocalSecondaryIndex; -import software.amazon.awssdk.enhanced.dynamodb.model.UpdateItemEnhancedRequest; -import software.amazon.awssdk.enhanced.dynamodb.model.UpdateItemEnhancedResponse; -import software.amazon.awssdk.services.dynamodb.DynamoDbClient; -import software.amazon.awssdk.services.dynamodb.model.Projection; -import software.amazon.awssdk.services.dynamodb.model.ProjectionType; -import software.amazon.awssdk.services.dynamodb.model.ReturnItemCollectionMetrics; - -public class UpdateItemWithResponseIntegrationTest extends DynamoDbEnhancedIntegrationTestBase { - private static class Record { - private Integer id; - private Integer id2; - private String stringAttr1; - - private Integer getId() { - return id; - } - - private Record setId(Integer id) { - this.id = id; - return this; - } - - private Integer getId2() { - return id2; - } - - private Record setId2(Integer id2) { - this.id2 = id2; - return this; - } - - private String getStringAttr1() { - return stringAttr1; - } - - private Record setStringAttr1(String stringAttr1) { - this.stringAttr1 = stringAttr1; - return this; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - Record record = (Record) o; - return Objects.equals(id, record.id) - && Objects.equals(id2, record.id2) - && Objects.equals(stringAttr1, record.stringAttr1); - } - - @Override - public int hashCode() { - return Objects.hash(id, id2, stringAttr1); - } - } - - private static final String TABLE_NAME = createTestTableName(); - - private static final TableSchema TABLE_SCHEMA = - StaticTableSchema.builder(Record.class) - .newItemSupplier(Record::new) - .addAttribute(Integer.class, a -> a.name("id_1") - .getter(Record::getId) - .setter(Record::setId) - .tags(primaryPartitionKey(), secondaryPartitionKey("index1"))) - .addAttribute(Integer.class, a -> a.name("id_2") - .getter(Record::getId2) - .setter(Record::setId2) - .tags(primarySortKey(), secondarySortKey("index1"))) - .addAttribute(String.class, a -> a.name("stringAttr1") - .getter(Record::getStringAttr1) - .setter(Record::setStringAttr1)) - .build(); - - private static final EnhancedLocalSecondaryIndex LOCAL_SECONDARY_INDEX = EnhancedLocalSecondaryIndex.builder() - .indexName("index1") - .projection(Projection.builder() - .projectionType(ProjectionType.ALL) - .build()) - .build(); - - private static DynamoDbClient dynamoDbClient; - private static DynamoDbEnhancedClient enhancedClient; - private static DynamoDbTable mappedTable; - - @BeforeClass - public static void setup() { - dynamoDbClient = createDynamoDbClient(); - enhancedClient = DynamoDbEnhancedClient.builder().dynamoDbClient(dynamoDbClient).build(); - mappedTable = enhancedClient.table(TABLE_NAME, TABLE_SCHEMA); - mappedTable.createTable(r -> r.localSecondaryIndices(LOCAL_SECONDARY_INDEX)); - dynamoDbClient.waiter().waitUntilTableExists(r -> r.tableName(TABLE_NAME)); - } - - @AfterClass - public static void teardown() { - try { - dynamoDbClient.deleteTable(r -> r.tableName(TABLE_NAME)); - } finally { - dynamoDbClient.close(); - } - } - - @Test - public void updateItem_returnItemCollectionMetrics_set_itemCollectionMetricsNull() { - Record record = new Record().setId(1).setId2(10); - UpdateItemEnhancedRequest request = UpdateItemEnhancedRequest.builder(Record.class) - .item(record) - .build(); - - UpdateItemEnhancedResponse response = mappedTable.updateItemWithResponse(request); - - assertThat(response.itemCollectionMetrics()).isNull(); - } - - @Test - public void putItem_returnItemCollectionMetrics_set_itemCollectionMetricsNotNull() { - Record record = new Record().setId(1).setId2(10); - UpdateItemEnhancedRequest request = UpdateItemEnhancedRequest.builder(Record.class) - .item(record) - .returnItemCollectionMetrics(ReturnItemCollectionMetrics.SIZE) - .build(); - - UpdateItemEnhancedResponse response = mappedTable.updateItemWithResponse(request); - - assertThat(response.itemCollectionMetrics()).isNotNull(); - } -} diff --git a/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/model/Record.java b/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/model/Record.java new file mode 100644 index 000000000000..962b5d8a10f0 --- /dev/null +++ b/services-custom/dynamodb-enhanced/src/it/java/software/amazon/awssdk/enhanced/dynamodb/model/Record.java @@ -0,0 +1,101 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +package software.amazon.awssdk.enhanced.dynamodb.model; + +import java.util.Objects; + +public class Record { + + private String id; + private Integer sort; + private Integer value; + private String gsiId; + private Integer gsiSort; + + private String stringAttribute; + + public String getId() { + return id; + } + + public Record setId(String id) { + this.id = id; + return this; + } + + public Integer getSort() { + return sort; + } + + public Record setSort(Integer sort) { + this.sort = sort; + return this; + } + + public Integer getValue() { + return value; + } + + public Record setValue(Integer value) { + this.value = value; + return this; + } + + public String getGsiId() { + return gsiId; + } + + public Record setGsiId(String gsiId) { + this.gsiId = gsiId; + return this; + } + + public Integer getGsiSort() { + return gsiSort; + } + + public Record setGsiSort(Integer gsiSort) { + this.gsiSort = gsiSort; + return this; + } + + public String getStringAttribute() { + return stringAttribute; + } + + public Record setStringAttribute(String stringAttribute) { + this.stringAttribute = stringAttribute; + return this; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Record record = (Record) o; + return Objects.equals(id, record.id) && + Objects.equals(sort, record.sort) && + Objects.equals(value, record.value) && + Objects.equals(gsiId, record.gsiId) && + Objects.equals(stringAttribute, record.stringAttribute) && + Objects.equals(gsiSort, record.gsiSort); + } + + @Override + public int hashCode() { + return Objects.hash(id, sort, value, gsiId, gsiSort, stringAttribute); + } +} diff --git a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/DynamoDbAsyncTable.java b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/DynamoDbAsyncTable.java index 4516848ad18e..3b117643331b 100644 --- a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/DynamoDbAsyncTable.java +++ b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/DynamoDbAsyncTable.java @@ -24,6 +24,7 @@ import software.amazon.awssdk.enhanced.dynamodb.model.DeleteItemEnhancedResponse; import software.amazon.awssdk.enhanced.dynamodb.model.DescribeTableEnhancedResponse; import software.amazon.awssdk.enhanced.dynamodb.model.GetItemEnhancedRequest; +import software.amazon.awssdk.enhanced.dynamodb.model.GetItemEnhancedResponse; import software.amazon.awssdk.enhanced.dynamodb.model.Page; import software.amazon.awssdk.enhanced.dynamodb.model.PagePublisher; import software.amazon.awssdk.enhanced.dynamodb.model.PutItemEnhancedRequest; @@ -400,6 +401,66 @@ default CompletableFuture getItem(T keyItem) { throw new UnsupportedOperationException(); } + + /** + * Retrieves a single item from the mapped table using a supplied primary {@link Key}. This is similar to + * {@link #getItem(GetItemEnhancedRequest)} but returns {@link GetItemEnhancedResponse} for + * additional information. + * + *

+ * The additional configuration parameters that the enhanced client supports are defined + * in the {@link GetItemEnhancedRequest}. + *

+ * This operation calls the low-level DynamoDB API GetItem operation. Consult the GetItem documentation for + * further details and constraints. + *

+ * Example: + *

+     * {@code
+     *
+     * MyItem item = mappedTable.getItemWithResponse(GetItemEnhancedRequest.builder().key(key).build()).join();
+     * }
+     * 
+ * + * @param request A {@link GetItemEnhancedRequest} with key and optional directives for retrieving an item from the table. + * @return a {@link CompletableFuture} of the item that was persisted in the database before it was deleted. + */ + default CompletableFuture> getItemWithResponse(GetItemEnhancedRequest request) { + throw new UnsupportedOperationException(); + } + + /** + * Retrieves a single item from the mapped table using a supplied primary {@link Key}. This is similar to + * {@link #getItem(Consumer)} but returns {@link GetItemEnhancedResponse} for + * additional information. + * + *

+ * The additional configuration parameters that the enhanced client supports are defined + * in the {@link GetItemEnhancedRequest}. + *

+ * This operation calls the low-level DynamoDB API GetItem operation. Consult the GetItem documentation for + * further details and constraints. + *

+ * Note: This is a convenience method that creates an instance of the request builder avoiding the need to create one + * manually via {@link GetItemEnhancedRequest#builder()}. + *

+ * Example: + *

+     * {@code
+     *
+     * MyItem item = mappedTable.getItemWithResponse(r -> r.key(key)).join();
+     * }
+     * 
+ * + * @param requestConsumer A {@link Consumer} of {@link GetItemEnhancedRequest.Builder} with key and optional directives + * for retrieving an item from the table. + * @return a {@link CompletableFuture} of the retrieved item + */ + default CompletableFuture> getItemWithResponse( + Consumer requestConsumer) { + throw new UnsupportedOperationException(); + } + /** * Executes a query against the primary index of the table using a {@link QueryConditional} expression to retrieve a list of * items matching the given conditions. diff --git a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/DynamoDbEnhancedAsyncClient.java b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/DynamoDbEnhancedAsyncClient.java index d198326a8853..0490fa56ac33 100644 --- a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/DynamoDbEnhancedAsyncClient.java +++ b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/DynamoDbEnhancedAsyncClient.java @@ -262,7 +262,7 @@ default CompletableFuture batchWriteItem(Consumer * The additional configuration parameters that the enhanced client supports are defined @@ -298,7 +298,7 @@ default CompletableFuture> transactGetItems(TransactGetItemsEnhan /** * Retrieves multiple items from one or more tables in a single atomic transaction. TransactGetItem is a composite operation - * where the request contains a set of up to 25 get requests, each containing a table reference and a + * where the request contains a set of get requests, each containing a table reference and a * {@link GetItemEnhancedRequest}. *

* The additional configuration parameters that the enhanced client supports are defined @@ -336,7 +336,7 @@ default CompletableFuture> transactGetItems( /** * Writes and/or modifies multiple items from one or more tables in a single atomic transaction. TransactGetItem is a - * composite operation where the request contains a set of up to 25 action requests, each containing a table reference and + * composite operation where the request contains a set of action requests, each containing a table reference and * one of the following requests: *

    *
  • Condition check of item - {@link ConditionCheck}
  • @@ -384,7 +384,7 @@ default CompletableFuture transactWriteItems(TransactWriteItemsEnhancedReq /** * Writes and/or modifies multiple items from one or more tables in a single atomic transaction. TransactGetItem is a - * composite operation where the request contains a set of up to 25 action requests, each containing a table reference and + * composite operation where the request contains a set of action requests, each containing a table reference and * one of the following requests: *
      *
    • Condition check of item - {@link ConditionCheck}
    • diff --git a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/DynamoDbTable.java b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/DynamoDbTable.java index 58af58493bee..6e94e6726c2f 100644 --- a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/DynamoDbTable.java +++ b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/DynamoDbTable.java @@ -24,6 +24,7 @@ import software.amazon.awssdk.enhanced.dynamodb.model.DeleteItemEnhancedResponse; import software.amazon.awssdk.enhanced.dynamodb.model.DescribeTableEnhancedResponse; import software.amazon.awssdk.enhanced.dynamodb.model.GetItemEnhancedRequest; +import software.amazon.awssdk.enhanced.dynamodb.model.GetItemEnhancedResponse; import software.amazon.awssdk.enhanced.dynamodb.model.Page; import software.amazon.awssdk.enhanced.dynamodb.model.PageIterable; import software.amazon.awssdk.enhanced.dynamodb.model.PutItemEnhancedRequest; @@ -398,6 +399,64 @@ default T getItem(T keyItem) { throw new UnsupportedOperationException(); } + /** + * Retrieves a single item from the mapped table using a supplied primary {@link Key}. This is similar to + * {@link #getItem(GetItemEnhancedRequest)} but returns {@link GetItemEnhancedResponse} for additional information. + * + *

      + * The additional configuration parameters that the enhanced client supports are defined + * in the {@link GetItemEnhancedRequest}. + *

      + * This operation calls the low-level DynamoDB API GetItem operation. Consult the GetItem documentation for + * further details and constraints. + *

      + * Example: + *

      +     * {@code
      +     *
      +     * MyItem item = mappedTable.getItemWithResponse(GetItemEnhancedRequest.builder().key(key).build());
      +     * }
      +     * 
      + * + * @param request A {@link GetItemEnhancedRequest} with key and optional directives for retrieving an item from the + * table. + * @return The retrieved item + */ + default GetItemEnhancedResponse getItemWithResponse(GetItemEnhancedRequest request) { + throw new UnsupportedOperationException(); + } + + /** + * Retrieves a single item from the mapped table using a supplied primary {@link Key}. This is similar to + * {@link #getItem(Consumer)} but returns {@link GetItemEnhancedResponse} for additional + * information. + * + *

      + * The additional configuration parameters that the enhanced client supports are defined + * in the {@link GetItemEnhancedRequest}. + *

      + * This operation calls the low-level DynamoDB API GetItem operation. Consult the GetItem documentation for + * further details and constraints. + *

      + * Note: This is a convenience method that creates an instance of the request builder avoiding the need to + * create one manually via {@link GetItemEnhancedRequest#builder()}. + *

      + * Example: + *

      +     * {@code
      +     *
      +     * MyItem item = mappedTable.getItemWithResponse(r -> r.key(key));
      +     * }
      +     * 
      + * + * @param requestConsumer A {@link Consumer} of {@link GetItemEnhancedRequest.Builder} with key and optional + * directives for retrieving an item from the table. + * @return The retrieved item + */ + default GetItemEnhancedResponse getItemWithResponse(Consumer requestConsumer) { + throw new UnsupportedOperationException(); + } + /** * Executes a query against the primary index of the table using a {@link QueryConditional} expression to retrieve a * list of items matching the given conditions. diff --git a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/EnhancedClientUtils.java b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/EnhancedClientUtils.java index 1036de6eb642..afd719d5a82a 100644 --- a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/EnhancedClientUtils.java +++ b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/EnhancedClientUtils.java @@ -33,6 +33,7 @@ import software.amazon.awssdk.enhanced.dynamodb.internal.extensions.DefaultDynamoDbExtensionContext; import software.amazon.awssdk.enhanced.dynamodb.model.Page; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; +import software.amazon.awssdk.services.dynamodb.model.ConsumedCapacity; @SdkInternalApi public final class EnhancedClientUtils { @@ -110,28 +111,29 @@ public static Page readAndTransformPaginatedItems( OperationContext operationContext, DynamoDbEnhancedClientExtension dynamoDbEnhancedClientExtension, Function>> getItems, - Function> getLastEvaluatedKey) { - - if (getLastEvaluatedKey.apply(response) == null || getLastEvaluatedKey.apply(response).isEmpty()) { - // Last page - return Page.create(getItems.apply(response) - .stream() - .map(itemMap -> readAndTransformSingleItem(itemMap, - tableSchema, - operationContext, - dynamoDbEnhancedClientExtension)) - .collect(Collectors.toList())); - } else { - // More pages to come; add the lastEvaluatedKey - return Page.create(getItems.apply(response) - .stream() - .map(itemMap -> readAndTransformSingleItem(itemMap, - tableSchema, - operationContext, - dynamoDbEnhancedClientExtension)) - .collect(Collectors.toList()), - getLastEvaluatedKey.apply(response)); + Function> getLastEvaluatedKey, + Function count, + Function scannedCount, + Function consumedCapacity) { + + List collect = getItems.apply(response) + .stream() + .map(itemMap -> readAndTransformSingleItem(itemMap, + tableSchema, + operationContext, + dynamoDbEnhancedClientExtension)) + .collect(Collectors.toList()); + + Page.Builder pageBuilder = Page.builder(tableSchema.itemType().rawClass()) + .items(collect) + .count(count.apply(response)) + .scannedCount(scannedCount.apply(response)) + .consumedCapacity(consumedCapacity.apply(response)); + + if (getLastEvaluatedKey.apply(response) != null && !getLastEvaluatedKey.apply(response).isEmpty()) { + pageBuilder.lastEvaluatedKey(getLastEvaluatedKey.apply(response)); } + return pageBuilder.build(); } public static Key createKeyFromItem(T item, TableSchema tableSchema, String indexName) { diff --git a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/client/DefaultDynamoDbAsyncTable.java b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/client/DefaultDynamoDbAsyncTable.java index 85ebbc156dff..1538e977b4c3 100644 --- a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/client/DefaultDynamoDbAsyncTable.java +++ b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/client/DefaultDynamoDbAsyncTable.java @@ -41,6 +41,7 @@ import software.amazon.awssdk.enhanced.dynamodb.model.DeleteItemEnhancedResponse; import software.amazon.awssdk.enhanced.dynamodb.model.DescribeTableEnhancedResponse; import software.amazon.awssdk.enhanced.dynamodb.model.GetItemEnhancedRequest; +import software.amazon.awssdk.enhanced.dynamodb.model.GetItemEnhancedResponse; import software.amazon.awssdk.enhanced.dynamodb.model.PagePublisher; import software.amazon.awssdk.enhanced.dynamodb.model.PutItemEnhancedRequest; import software.amazon.awssdk.enhanced.dynamodb.model.PutItemEnhancedResponse; @@ -156,8 +157,11 @@ public CompletableFuture> deleteItemWithResponse( @Override public CompletableFuture getItem(GetItemEnhancedRequest request) { - TableOperation operation = GetItemOperation.create(request); - return operation.executeOnPrimaryIndexAsync(tableSchema, tableName, extension, dynamoDbClient); + TableOperation> operation = GetItemOperation.create(request); + CompletableFuture> future = operation.executeOnPrimaryIndexAsync( + tableSchema, tableName, extension, dynamoDbClient + ); + return future.thenApply(GetItemEnhancedResponse::attributes); } @Override @@ -177,6 +181,20 @@ public CompletableFuture getItem(T keyItem) { return getItem(keyFrom(keyItem)); } + @Override + public CompletableFuture> getItemWithResponse(GetItemEnhancedRequest request) { + TableOperation> operation = GetItemOperation.create(request); + return operation.executeOnPrimaryIndexAsync(tableSchema, tableName, extension, dynamoDbClient); + } + + @Override + public CompletableFuture> getItemWithResponse( + Consumer requestConsumer) { + GetItemEnhancedRequest.Builder builder = GetItemEnhancedRequest.builder(); + requestConsumer.accept(builder); + return getItemWithResponse(builder.build()); + } + @Override public PagePublisher query(QueryEnhancedRequest request) { PaginatedTableOperation operation = QueryOperation.create(request); diff --git a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/client/DefaultDynamoDbTable.java b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/client/DefaultDynamoDbTable.java index 8b6d8412969b..1bd2638892bd 100644 --- a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/client/DefaultDynamoDbTable.java +++ b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/client/DefaultDynamoDbTable.java @@ -49,6 +49,7 @@ import software.amazon.awssdk.enhanced.dynamodb.model.EnhancedGlobalSecondaryIndex; import software.amazon.awssdk.enhanced.dynamodb.model.EnhancedLocalSecondaryIndex; import software.amazon.awssdk.enhanced.dynamodb.model.GetItemEnhancedRequest; +import software.amazon.awssdk.enhanced.dynamodb.model.GetItemEnhancedResponse; import software.amazon.awssdk.enhanced.dynamodb.model.PageIterable; import software.amazon.awssdk.enhanced.dynamodb.model.PutItemEnhancedRequest; import software.amazon.awssdk.enhanced.dynamodb.model.PutItemEnhancedResponse; @@ -133,13 +134,12 @@ public void createTable() { } private Map> splitSecondaryIndicesToLocalAndGlobalOnes() { - String primaryPartitionKeyName = tableSchema.tableMetadata().primaryPartitionKey(); Collection indices = tableSchema.tableMetadata().indices(); return indices.stream() .filter(index -> !TableMetadata.primaryIndexName().equals(index.name())) .collect(Collectors.groupingBy(metadata -> { String partitionKeyName = metadata.partitionKey().map(KeyAttributeMetadata::name).orElse(null); - if (partitionKeyName == null || primaryPartitionKeyName.equals(partitionKeyName)) { + if (partitionKeyName == null) { return IndexType.LSI; } return IndexType.GSI; @@ -210,8 +210,8 @@ public DeleteItemEnhancedResponse deleteItemWithResponse(Consumer operation = GetItemOperation.create(request); - return operation.executeOnPrimaryIndex(tableSchema, tableName, extension, dynamoDbClient); + TableOperation> operation = GetItemOperation.create(request); + return operation.executeOnPrimaryIndex(tableSchema, tableName, extension, dynamoDbClient).attributes(); } @Override @@ -231,6 +231,19 @@ public T getItem(T keyItem) { return getItem(keyFrom(keyItem)); } + @Override + public GetItemEnhancedResponse getItemWithResponse(Consumer requestConsumer) { + GetItemEnhancedRequest.Builder builder = GetItemEnhancedRequest.builder(); + requestConsumer.accept(builder); + return getItemWithResponse(builder.build()); + } + + @Override + public GetItemEnhancedResponse getItemWithResponse(GetItemEnhancedRequest request) { + TableOperation> operation = GetItemOperation.create(request); + return operation.executeOnPrimaryIndex(tableSchema, tableName, extension, dynamoDbClient); + } + @Override public PageIterable query(QueryEnhancedRequest request) { PaginatedTableOperation operation = QueryOperation.create(request); diff --git a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/BatchGetItemOperation.java b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/BatchGetItemOperation.java index 7357016d20cc..541f205f6cae 100644 --- a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/BatchGetItemOperation.java +++ b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/BatchGetItemOperation.java @@ -62,6 +62,7 @@ public BatchGetItemRequest generateRequest(DynamoDbEnhancedClientExtension exten return BatchGetItemRequest.builder() .requestItems(Collections.unmodifiableMap(requestItems)) + .returnConsumedCapacity(request.returnConsumedCapacityAsString()) .build(); } diff --git a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/GetItemOperation.java b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/GetItemOperation.java index fbef90cf661f..0ebd62538cfb 100644 --- a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/GetItemOperation.java +++ b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/GetItemOperation.java @@ -25,6 +25,7 @@ import software.amazon.awssdk.enhanced.dynamodb.TableSchema; import software.amazon.awssdk.enhanced.dynamodb.internal.EnhancedClientUtils; import software.amazon.awssdk.enhanced.dynamodb.model.GetItemEnhancedRequest; +import software.amazon.awssdk.enhanced.dynamodb.model.GetItemEnhancedResponse; import software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient; import software.amazon.awssdk.services.dynamodb.DynamoDbClient; import software.amazon.awssdk.services.dynamodb.model.Get; @@ -33,7 +34,7 @@ import software.amazon.awssdk.services.dynamodb.model.TransactGetItem; @SdkInternalApi -public class GetItemOperation implements TableOperation, +public class GetItemOperation implements TableOperation>, BatchableReadOperation, TransactableReadOperation { @@ -74,15 +75,20 @@ public GetItemRequest generateRequest(TableSchema tableSchema, .tableName(context.tableName()) .key(this.request.key().keyMap(tableSchema, context.indexName())) .consistentRead(this.request.consistentRead()) + .returnConsumedCapacity(this.request.returnConsumedCapacityAsString()) .build(); } @Override - public T transformResponse(GetItemResponse response, - TableSchema tableSchema, - OperationContext context, - DynamoDbEnhancedClientExtension extension) { - return EnhancedClientUtils.readAndTransformSingleItem(response.item(), tableSchema, context, extension); + public GetItemEnhancedResponse transformResponse(GetItemResponse response, + TableSchema tableSchema, + OperationContext context, + DynamoDbEnhancedClientExtension extension) { + T attributes = EnhancedClientUtils.readAndTransformSingleItem(response.item(), tableSchema, context, extension); + return GetItemEnhancedResponse.builder() + .attributes(attributes) + .consumedCapacity(response.consumedCapacity()) + .build(); } @Override diff --git a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/QueryOperation.java b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/QueryOperation.java index 8788cc4f56f5..826feabe4022 100644 --- a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/QueryOperation.java +++ b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/QueryOperation.java @@ -83,6 +83,7 @@ public QueryRequest generateRequest(TableSchema tableSchema, .limit(this.request.limit()) .exclusiveStartKey(this.request.exclusiveStartKey()) .consistentRead(this.request.consistentRead()) + .returnConsumedCapacity(this.request.returnConsumedCapacity()) .projectionExpression(projectionExpressionAsString); if (!TableMetadata.primaryIndexName().equals(operationContext.indexName())) { @@ -117,7 +118,10 @@ public Page transformResponse(QueryResponse response, context, dynamoDbEnhancedClientExtension, QueryResponse::items, - QueryResponse::lastEvaluatedKey); + QueryResponse::lastEvaluatedKey, + QueryResponse::count, + QueryResponse::scannedCount, + QueryResponse::consumedCapacity); } } diff --git a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/ScanOperation.java b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/ScanOperation.java index da58e38caf40..e8714a5ac54b 100644 --- a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/ScanOperation.java +++ b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/ScanOperation.java @@ -81,6 +81,7 @@ public ScanRequest generateRequest(TableSchema tableSchema, .totalSegments(this.request.totalSegments()) .exclusiveStartKey(this.request.exclusiveStartKey()) .consistentRead(this.request.consistentRead()) + .returnConsumedCapacity(this.request.returnConsumedCapacity()) .expressionAttributeValues(expressionValues) .expressionAttributeNames(expressionNames) .projectionExpression(projectionExpressionAsString); @@ -107,7 +108,10 @@ public Page transformResponse(ScanResponse response, context, dynamoDbEnhancedClientExtension, ScanResponse::items, - ScanResponse::lastEvaluatedKey); + ScanResponse::lastEvaluatedKey, + ScanResponse::count, + ScanResponse::scannedCount, + ScanResponse::consumedCapacity); } @Override diff --git a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/mapper/annotations/DynamoDbSecondaryPartitionKey.java b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/mapper/annotations/DynamoDbSecondaryPartitionKey.java index 01f285f4d47d..3b5bd2a183db 100644 --- a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/mapper/annotations/DynamoDbSecondaryPartitionKey.java +++ b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/mapper/annotations/DynamoDbSecondaryPartitionKey.java @@ -23,9 +23,12 @@ import software.amazon.awssdk.enhanced.dynamodb.internal.mapper.BeanTableSchemaAttributeTags; /** - * Denotes a partition key for a global secondary index. You must also specify at least one index name, although this - * name is only referenced internally by the enhanced client to disambiguate the index and does not actually need to - * match the real name of the index. + * Denotes a partition key for a global secondary index. + * + *

      You must also specify at least one index name. + * + *

      The index name will be used if a table is created from this bean. For data-oriented operations like reads and writes, this + * name does not need to match the service-side name of the index. */ @SdkPublicApi @Target({ElementType.METHOD}) diff --git a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/mapper/annotations/DynamoDbSecondarySortKey.java b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/mapper/annotations/DynamoDbSecondarySortKey.java index a39b982b4980..9fdee8065196 100644 --- a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/mapper/annotations/DynamoDbSecondarySortKey.java +++ b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/mapper/annotations/DynamoDbSecondarySortKey.java @@ -23,10 +23,14 @@ import software.amazon.awssdk.enhanced.dynamodb.internal.mapper.BeanTableSchemaAttributeTags; /** - * Denotes an optional sort key for a global or local secondary index. You must also specify the index name which in the - * case of a global secondary index must match the index name supplied with the secondary partition key for the same - * index. This name is only referenced internally by the enhanced client to disambiguate the index and does not actually - * need to match the real name of the index. + * Denotes an optional sort key for a global or local secondary index. + * + *

      You must also specify at least one index name. For global secondary indices, this must match an index name specified in + * a {@link DynamoDbSecondaryPartitionKey}. Any index names specified that do not have an associated + * {@link DynamoDbSecondaryPartitionKey} are treated as local secondary indexes. + * + *

      The index name will be used if a table is created from this bean. For data-oriented operations like reads and writes, this + * name does not need to match the service-side name of the index. */ @SdkPublicApi @Target({ElementType.METHOD}) @@ -35,6 +39,10 @@ public @interface DynamoDbSecondarySortKey { /** * The names of one or more local or global secondary indices that this sort key should participate in. + * + *

      For global secondary indices, this must match an index name specified in a {@link DynamoDbSecondaryPartitionKey}. Any + * index names specified that do not have an associated {@link DynamoDbSecondaryPartitionKey} are treated as local + * secondary indexes. */ String[] indexNames(); } diff --git a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/BatchGetItemEnhancedRequest.java b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/BatchGetItemEnhancedRequest.java index 9c360aa9f225..ea2bdc8fd1fc 100644 --- a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/BatchGetItemEnhancedRequest.java +++ b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/BatchGetItemEnhancedRequest.java @@ -20,10 +20,14 @@ import java.util.Collection; import java.util.Collections; import java.util.List; +import java.util.Objects; import software.amazon.awssdk.annotations.NotThreadSafe; import software.amazon.awssdk.annotations.SdkPublicApi; import software.amazon.awssdk.annotations.ThreadSafe; import software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedClient; +import software.amazon.awssdk.services.dynamodb.model.BatchGetItemRequest; +import software.amazon.awssdk.services.dynamodb.model.GetItemRequest; +import software.amazon.awssdk.services.dynamodb.model.ReturnConsumedCapacity; /** * Defines parameters used for the batchGetItem() operation (such as @@ -36,9 +40,11 @@ public final class BatchGetItemEnhancedRequest { private final List readBatches; + private final String returnConsumedCapacity; private BatchGetItemEnhancedRequest(Builder builder) { this.readBatches = getListIfExist(builder.readBatches); + this.returnConsumedCapacity = builder.returnConsumedCapacity; } /** @@ -52,7 +58,7 @@ public static Builder builder() { * Returns a builder initialized with all existing values on the request object. */ public Builder toBuilder() { - return new Builder().readBatches(readBatches); + return new Builder().readBatches(readBatches).returnConsumedCapacity(this.returnConsumedCapacity); } /** @@ -62,6 +68,25 @@ public Collection readBatches() { return readBatches; } + /** + * Whether to return the capacity consumed by this operation. + * + * @see GetItemRequest#returnConsumedCapacity() + */ + public ReturnConsumedCapacity returnConsumedCapacity() { + return ReturnConsumedCapacity.fromValue(returnConsumedCapacity); + } + + /** + * Whether to return the capacity consumed by this operation. + *

      + * Similar to {@link #returnConsumedCapacity()} but return the value as a string. This is useful in situations where the + * value is not defined in {@link ReturnConsumedCapacity}. + */ + public String returnConsumedCapacityAsString() { + return returnConsumedCapacity; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -73,12 +98,15 @@ public boolean equals(Object o) { BatchGetItemEnhancedRequest that = (BatchGetItemEnhancedRequest) o; - return readBatches != null ? readBatches.equals(that.readBatches) : that.readBatches == null; + return Objects.equals(this.readBatches, that.readBatches) && + Objects.equals(this.returnConsumedCapacity, that.returnConsumedCapacity); } @Override public int hashCode() { - return readBatches != null ? readBatches.hashCode() : 0; + int hc = readBatches != null ? readBatches.hashCode() : 0; + hc = 31 * hc + (returnConsumedCapacity != null ? returnConsumedCapacity.hashCode() : 0); + return hc; } private static List getListIfExist(List readBatches) { @@ -91,6 +119,7 @@ private static List getListIfExist(List readBatches) { @NotThreadSafe public static final class Builder { private List readBatches; + private String returnConsumedCapacity; private Builder() { } @@ -132,9 +161,30 @@ public Builder addReadBatch(ReadBatch readBatch) { return this; } + /** + * Whether to return the capacity consumed by this operation. + * + * @see BatchGetItemRequest.Builder#returnConsumedCapacity(ReturnConsumedCapacity) + * @return a builder of this type + */ + public Builder returnConsumedCapacity(ReturnConsumedCapacity returnConsumedCapacity) { + this.returnConsumedCapacity = returnConsumedCapacity == null ? null : returnConsumedCapacity.toString(); + return this; + } + + /** + * Whether to return the capacity consumed by this operation. + * + * @see BatchGetItemRequest.Builder#returnConsumedCapacity(String) + * @return a builder of this type + */ + public Builder returnConsumedCapacity(String returnConsumedCapacity) { + this.returnConsumedCapacity = returnConsumedCapacity; + return this; + } + public BatchGetItemEnhancedRequest build() { return new BatchGetItemEnhancedRequest(this); } } - } diff --git a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/BatchGetResultPage.java b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/BatchGetResultPage.java index fbb5000a74b6..adec895c0cf1 100644 --- a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/BatchGetResultPage.java +++ b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/BatchGetResultPage.java @@ -33,6 +33,7 @@ import software.amazon.awssdk.enhanced.dynamodb.internal.operations.DefaultOperationContext; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; import software.amazon.awssdk.services.dynamodb.model.BatchGetItemResponse; +import software.amazon.awssdk.services.dynamodb.model.ConsumedCapacity; import software.amazon.awssdk.services.dynamodb.model.KeysAndAttributes; /** @@ -111,6 +112,10 @@ public List unprocessedKeysForTable(MappedTableResource mappedTable) { .collect(Collectors.toList()); } + public List consumedCapacity() { + return this.batchGetItemResponse.consumedCapacity(); + } + /** * A builder that is used to create a result object with the desired parameters. */ diff --git a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/GetItemEnhancedRequest.java b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/GetItemEnhancedRequest.java index acb6727288c4..88a091b8883d 100644 --- a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/GetItemEnhancedRequest.java +++ b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/GetItemEnhancedRequest.java @@ -15,6 +15,7 @@ package software.amazon.awssdk.enhanced.dynamodb.model; +import java.util.Objects; import java.util.function.Consumer; import software.amazon.awssdk.annotations.NotThreadSafe; import software.amazon.awssdk.annotations.SdkPublicApi; @@ -22,6 +23,8 @@ import software.amazon.awssdk.enhanced.dynamodb.DynamoDbAsyncTable; import software.amazon.awssdk.enhanced.dynamodb.DynamoDbTable; import software.amazon.awssdk.enhanced.dynamodb.Key; +import software.amazon.awssdk.services.dynamodb.model.GetItemRequest; +import software.amazon.awssdk.services.dynamodb.model.ReturnConsumedCapacity; /** * Defines parameters used to retrieve an item from a DynamoDb table using the getItem() operation (such as @@ -35,10 +38,12 @@ public final class GetItemEnhancedRequest { private final Key key; private final Boolean consistentRead; + private final String returnConsumedCapacity; private GetItemEnhancedRequest(Builder builder) { this.key = builder.key; this.consistentRead = builder.consistentRead; + this.returnConsumedCapacity = builder.returnConsumedCapacity; } /** @@ -53,7 +58,7 @@ public static Builder builder() { * @return a builder with all existing values set */ public Builder toBuilder() { - return builder().key(key).consistentRead(consistentRead); + return builder().key(key).consistentRead(consistentRead).returnConsumedCapacity(returnConsumedCapacity); } /** @@ -70,6 +75,25 @@ public Key key() { return this.key; } + /** + * Whether to return the capacity consumed by this operation. + * + * @see GetItemRequest#returnConsumedCapacity() + */ + public ReturnConsumedCapacity returnConsumedCapacity() { + return ReturnConsumedCapacity.fromValue(returnConsumedCapacity); + } + + /** + * Whether to return the capacity consumed by this operation. + *

      + * Similar to {@link #returnConsumedCapacity()} but return the value as a string. This is useful in situations where the + * value is not defined in {@link ReturnConsumedCapacity}. + */ + public String returnConsumedCapacityAsString() { + return returnConsumedCapacity; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -79,18 +103,18 @@ public boolean equals(Object o) { return false; } - GetItemEnhancedRequest getItem = (GetItemEnhancedRequest) o; + GetItemEnhancedRequest that = (GetItemEnhancedRequest) o; - if (key != null ? ! key.equals(getItem.key) : getItem.key != null) { - return false; - } - return consistentRead != null ? consistentRead.equals(getItem.consistentRead) : getItem.consistentRead == null; + return Objects.equals(key, that.key) + && Objects.equals(consistentRead, that.consistentRead) + && Objects.equals(returnConsumedCapacity, that.returnConsumedCapacity); } @Override public int hashCode() { int result = key != null ? key.hashCode() : 0; result = 31 * result + (consistentRead != null ? consistentRead.hashCode() : 0); + result = 31 * result + (returnConsumedCapacity != null ? returnConsumedCapacity.hashCode() : 0); return result; } @@ -103,6 +127,7 @@ public int hashCode() { public static final class Builder { private Key key; private Boolean consistentRead; + private String returnConsumedCapacity; private Builder() { } @@ -145,6 +170,26 @@ public Builder key(Consumer keyConsumer) { return key(builder.build()); } + /** + * Whether to return the capacity consumed by this operation. + * + * @see GetItemRequest.Builder#returnConsumedCapacity(ReturnConsumedCapacity) + */ + public Builder returnConsumedCapacity(ReturnConsumedCapacity returnConsumedCapacity) { + this.returnConsumedCapacity = returnConsumedCapacity == null ? null : returnConsumedCapacity.toString(); + return this; + } + + /** + * Whether to return the capacity consumed by this operation. + * + * @see GetItemRequest.Builder#returnConsumedCapacity(String) + */ + public Builder returnConsumedCapacity(String returnConsumedCapacity) { + this.returnConsumedCapacity = returnConsumedCapacity; + return this; + } + public GetItemEnhancedRequest build() { return new GetItemEnhancedRequest(this); } diff --git a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/GetItemEnhancedResponse.java b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/GetItemEnhancedResponse.java new file mode 100644 index 000000000000..3c31fb6bde55 --- /dev/null +++ b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/GetItemEnhancedResponse.java @@ -0,0 +1,104 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +package software.amazon.awssdk.enhanced.dynamodb.model; + +import java.util.Objects; +import software.amazon.awssdk.annotations.NotThreadSafe; +import software.amazon.awssdk.annotations.SdkPublicApi; +import software.amazon.awssdk.annotations.ThreadSafe; +import software.amazon.awssdk.enhanced.dynamodb.DynamoDbAsyncTable; +import software.amazon.awssdk.enhanced.dynamodb.DynamoDbTable; +import software.amazon.awssdk.services.dynamodb.model.ConsumedCapacity; +import software.amazon.awssdk.services.dynamodb.model.GetItemResponse; + +/** + * Defines the elements returned by DynamoDB from a {@code GetItem} operation, such as + * {@link DynamoDbTable#getItemWithResponse(GetItemEnhancedRequest)} and + * {@link DynamoDbAsyncTable#getItemWithResponse(GetItemEnhancedRequest)}. + * + * @param The type of the item. + */ +@SdkPublicApi +@ThreadSafe +public final class GetItemEnhancedResponse { + private final T attributes; + private final ConsumedCapacity consumedCapacity; + + private GetItemEnhancedResponse(GetItemEnhancedResponse.Builder builder) { + this.attributes = builder.attributes; + this.consumedCapacity = builder.consumedCapacity; + } + + /** + * The attribute values returned by {@code GetItem} operation. + */ + public T attributes() { + return attributes; + } + + /** + * The capacity units consumed by the {@code GetItem} operation. + * + * @see GetItemResponse#consumedCapacity() for more information. + */ + public ConsumedCapacity consumedCapacity() { + return consumedCapacity; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + + GetItemEnhancedResponse that = (GetItemEnhancedResponse) o; + return Objects.equals(attributes, that.attributes) && Objects.equals(consumedCapacity, that.consumedCapacity); + } + + @Override + public int hashCode() { + int result = Objects.hashCode(attributes); + result = 31 * result + Objects.hashCode(consumedCapacity); + return result; + } + + public static GetItemEnhancedResponse.Builder builder() { + return new GetItemEnhancedResponse.Builder<>(); + } + + @NotThreadSafe + public static final class Builder { + private T attributes; + private ConsumedCapacity consumedCapacity; + + public GetItemEnhancedResponse.Builder attributes(T attributes) { + this.attributes = attributes; + return this; + } + + public GetItemEnhancedResponse.Builder consumedCapacity(ConsumedCapacity consumedCapacity) { + this.consumedCapacity = consumedCapacity; + return this; + } + + public GetItemEnhancedResponse build() { + return new GetItemEnhancedResponse<>(this); + } + } +} diff --git a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/Page.java b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/Page.java index a10808dffa5c..f9c4ba7dcc0e 100644 --- a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/Page.java +++ b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/Page.java @@ -15,11 +15,14 @@ package software.amazon.awssdk.enhanced.dynamodb.model; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; import software.amazon.awssdk.annotations.SdkPublicApi; import software.amazon.awssdk.annotations.ThreadSafe; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; +import software.amazon.awssdk.services.dynamodb.model.ConsumedCapacity; import software.amazon.awssdk.utils.ToString; /** @@ -33,30 +36,47 @@ public final class Page { private final List items; private final Map lastEvaluatedKey; + private final Integer count; + private final Integer scannedCount; + private final ConsumedCapacity consumedCapacity; private Page(List items, Map lastEvaluatedKey) { this.items = items; this.lastEvaluatedKey = lastEvaluatedKey; + this.count = null; + this.scannedCount = null; + this.consumedCapacity = null; + } + + private Page(Builder builder) { + this.items = builder.items; + this.lastEvaluatedKey = builder.lastEvaluatedKey; + this.count = builder.count; + this.scannedCount = builder.scannedCount; + this.consumedCapacity = builder.consumedCapacity; } /** - * Static constructor for this object. + * Static constructor for this object. Deprecated in favor of using the builder() pattern to construct this object. + * * @param items A list of items to store for the page. * @param lastEvaluatedKey A 'lastEvaluatedKey' to store for the page. * @param The modelled type of the object that has been read. * @return A newly constructed {@link Page} object. */ + @Deprecated public static Page create(List items, Map lastEvaluatedKey) { return new Page<>(items, lastEvaluatedKey); } /** * Static constructor for this object that sets a null 'lastEvaluatedKey' which indicates this is the final page - * of results. + * of results. Deprecated in favor of using the builder() pattern to construct this object. * @param items A list of items to store for the page. * @param The modelled type of the object that has been read. * @return A newly constructed {@link Page} object. */ + @Deprecated public static Page create(List items) { return new Page<>(items, null); } @@ -78,6 +98,31 @@ public Map lastEvaluatedKey() { return lastEvaluatedKey; } + /** + * The count of the returned items from the last page query or scan, after any filters were applied. + */ + public Integer count() { + return count; + } + + /** + * The scanned count of the returned items from the last page query or scan, before any filters were applied. + * This number will be equal or greater than the count. + */ + public Integer scannedCount() { + return scannedCount; + } + + /** + * Returns the capacity units consumed by the last page query or scan. Will only be returned if it has been + * explicitly requested by the user when calling the operation. + * + * @return The 'consumedCapacity' from the last query or scan operation or null if it was not requested. + */ + public ConsumedCapacity consumedCapacity() { + return consumedCapacity; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -92,13 +137,25 @@ public boolean equals(Object o) { if (items != null ? ! items.equals(page.items) : page.items != null) { return false; } - return lastEvaluatedKey != null ? lastEvaluatedKey.equals(page.lastEvaluatedKey) : page.lastEvaluatedKey == null; + if (lastEvaluatedKey != null ? ! lastEvaluatedKey.equals(page.lastEvaluatedKey) : page.lastEvaluatedKey != null) { + return false; + } + if (consumedCapacity != null ? ! consumedCapacity.equals(page.consumedCapacity) : page.consumedCapacity != null) { + return false; + } + if (count != null ? ! count.equals(page.count) : page.count != null) { + return false; + } + return scannedCount != null ? scannedCount.equals(page.scannedCount) : page.scannedCount == null; } @Override public int hashCode() { int result = items != null ? items.hashCode() : 0; result = 31 * result + (lastEvaluatedKey != null ? lastEvaluatedKey.hashCode() : 0); + result = 31 * result + (consumedCapacity != null ? consumedCapacity.hashCode() : 0); + result = 31 * result + (count != null ? count.hashCode() : 0); + result = 31 * result + (scannedCount != null ? scannedCount.hashCode() : 0); return result; } @@ -109,4 +166,45 @@ public String toString() { .add("items", items) .build(); } + + public static Builder builder(Class itemClass) { + return new Builder<>(); + } + + public static final class Builder { + private List items; + private Map lastEvaluatedKey; + private Integer count; + private Integer scannedCount; + private ConsumedCapacity consumedCapacity; + + public Builder items(List items) { + this.items = new ArrayList<>(items); + return this; + } + + public Builder lastEvaluatedKey(Map lastEvaluatedKey) { + this.lastEvaluatedKey = new HashMap<>(lastEvaluatedKey); + return this; + } + + public Builder count(Integer count) { + this.count = count; + return this; + } + + public Builder scannedCount(Integer scannedCount) { + this.scannedCount = scannedCount; + return this; + } + + public Builder consumedCapacity(ConsumedCapacity consumedCapacity) { + this.consumedCapacity = consumedCapacity; + return this; + } + + public Page build() { + return new Page(this); + } + } } diff --git a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/QueryEnhancedRequest.java b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/QueryEnhancedRequest.java index fbc4736cae3c..21b81868d44f 100644 --- a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/QueryEnhancedRequest.java +++ b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/QueryEnhancedRequest.java @@ -31,6 +31,9 @@ import software.amazon.awssdk.enhanced.dynamodb.Expression; import software.amazon.awssdk.enhanced.dynamodb.NestedAttributeName; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; +import software.amazon.awssdk.services.dynamodb.model.QueryRequest; +import software.amazon.awssdk.services.dynamodb.model.ReturnConsumedCapacity; +import software.amazon.awssdk.services.dynamodb.model.ScanRequest; import software.amazon.awssdk.utils.Validate; /** @@ -53,6 +56,7 @@ public final class QueryEnhancedRequest { private final Boolean consistentRead; private final Expression filterExpression; private final List attributesToProject; + private final String returnConsumedCapacity; private QueryEnhancedRequest(Builder builder) { this.queryConditional = builder.queryConditional; @@ -61,6 +65,7 @@ private QueryEnhancedRequest(Builder builder) { this.limit = builder.limit; this.consistentRead = builder.consistentRead; this.filterExpression = builder.filterExpression; + this.returnConsumedCapacity = builder.returnConsumedCapacity; this.attributesToProject = builder.attributesToProject != null ? Collections.unmodifiableList(builder.attributesToProject) : null; @@ -78,12 +83,13 @@ public static Builder builder() { */ public Builder toBuilder() { return builder().queryConditional(queryConditional) - .exclusiveStartKey(exclusiveStartKey) - .scanIndexForward(scanIndexForward) - .limit(limit) - .consistentRead(consistentRead) - .filterExpression(filterExpression) - .addNestedAttributesToProject(attributesToProject); + .exclusiveStartKey(exclusiveStartKey) + .scanIndexForward(scanIndexForward) + .limit(limit) + .consistentRead(consistentRead) + .filterExpression(filterExpression) + .returnConsumedCapacity(returnConsumedCapacity) + .addNestedAttributesToProject(attributesToProject); } /** @@ -149,6 +155,26 @@ public List nestedAttributesToProject() { return attributesToProject; } + + /** + * Whether to return the capacity consumed by this operation. + * + * @see ScanRequest#returnConsumedCapacity() + */ + public ReturnConsumedCapacity returnConsumedCapacity() { + return ReturnConsumedCapacity.fromValue(returnConsumedCapacity); + } + + /** + * Whether to return the capacity consumed by this operation. + *

      + * Similar to {@link #returnConsumedCapacity()} but return the value as a string. This is useful in situations where the + * value is not defined in {@link ReturnConsumedCapacity}. + */ + public String returnConsumedCapacityAsString() { + return returnConsumedCapacity; + } + @Override public boolean equals(Object o) { if (this == o) { @@ -182,6 +208,10 @@ public boolean equals(Object o) { ? !attributesToProject.equals(query.attributesToProject) : query.attributesToProject != null) { return false; } + if (returnConsumedCapacity != null + ? !returnConsumedCapacity.equals(query.returnConsumedCapacity) : query.returnConsumedCapacity != null) { + return false; + } return filterExpression != null ? filterExpression.equals(query.filterExpression) : query.filterExpression == null; } @@ -194,6 +224,7 @@ public int hashCode() { result = 31 * result + (consistentRead != null ? consistentRead.hashCode() : 0); result = 31 * result + (filterExpression != null ? filterExpression.hashCode() : 0); result = 31 * result + (attributesToProject != null ? attributesToProject.hashCode() : 0); + result = 31 * result + (returnConsumedCapacity != null ? returnConsumedCapacity.hashCode() : 0); return result; } @@ -211,6 +242,7 @@ public static final class Builder { private Boolean consistentRead; private Expression filterExpression; private List attributesToProject; + private String returnConsumedCapacity; private Builder() { } @@ -419,6 +451,27 @@ public Builder addNestedAttributeToProject(NestedAttributeName nestedAttributeNa return this; } + + /** + * Whether to return the capacity consumed by this operation. + * + * @see QueryRequest.Builder#returnConsumedCapacity(ReturnConsumedCapacity) + */ + public Builder returnConsumedCapacity(ReturnConsumedCapacity returnConsumedCapacity) { + this.returnConsumedCapacity = returnConsumedCapacity == null ? null : returnConsumedCapacity.toString(); + return this; + } + + /** + * Whether to return the capacity consumed by this operation. + * + * @see QueryRequest.Builder#returnConsumedCapacity(String) + */ + public Builder returnConsumedCapacity(String returnConsumedCapacity) { + this.returnConsumedCapacity = returnConsumedCapacity; + return this; + } + public QueryEnhancedRequest build() { return new QueryEnhancedRequest(this); } diff --git a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/ReadBatch.java b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/ReadBatch.java index 1bdae4d4995c..e9d4364fec81 100644 --- a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/ReadBatch.java +++ b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/ReadBatch.java @@ -15,6 +15,8 @@ package software.amazon.awssdk.enhanced.dynamodb.model; +import static java.util.Objects.requireNonNull; + import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -211,6 +213,9 @@ private static boolean compareNullableBooleans(Boolean one, Boolean two) { @NotThreadSafe private static final class BuilderImpl implements Builder { + private static final String MAPPED_TABLE_RESOURCE_NOT_NULL_MESSAGE = String.format("A mappedTableResource (table) is " + + "required when building a %s", + ReadBatch.class.getSimpleName()); private MappedTableResource mappedTableResource; private List requests = new ArrayList<>(); @@ -243,6 +248,7 @@ public Builder addGetItem(Key key) { @Override public Builder addGetItem(T keyItem) { + requireNonNull(mappedTableResource, MAPPED_TABLE_RESOURCE_NOT_NULL_MESSAGE); return addGetItem(this.mappedTableResource.keyFrom(keyItem)); } diff --git a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/ScanEnhancedRequest.java b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/ScanEnhancedRequest.java index 09b8a55f1f19..624e9beaa9ba 100644 --- a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/ScanEnhancedRequest.java +++ b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/ScanEnhancedRequest.java @@ -30,6 +30,8 @@ import software.amazon.awssdk.enhanced.dynamodb.Expression; import software.amazon.awssdk.enhanced.dynamodb.NestedAttributeName; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; +import software.amazon.awssdk.services.dynamodb.model.ReturnConsumedCapacity; +import software.amazon.awssdk.services.dynamodb.model.ScanRequest; import software.amazon.awssdk.utils.Validate; /** @@ -49,6 +51,7 @@ public final class ScanEnhancedRequest { private final List attributesToProject; private final Integer segment; private final Integer totalSegments; + private final String returnConsumedCapacity; private ScanEnhancedRequest(Builder builder) { this.exclusiveStartKey = builder.exclusiveStartKey; @@ -57,6 +60,7 @@ private ScanEnhancedRequest(Builder builder) { this.totalSegments = builder.totalSegments; this.consistentRead = builder.consistentRead; this.filterExpression = builder.filterExpression; + this.returnConsumedCapacity = builder.returnConsumedCapacity; this.attributesToProject = builder.attributesToProject != null ? Collections.unmodifiableList(builder.attributesToProject) : null; @@ -74,10 +78,13 @@ public static Builder builder() { */ public Builder toBuilder() { return builder().exclusiveStartKey(exclusiveStartKey) - .limit(limit) - .consistentRead(consistentRead) - .filterExpression(filterExpression) - .addNestedAttributesToProject(attributesToProject); + .limit(limit) + .segment(segment) + .totalSegments(totalSegments) + .consistentRead(consistentRead) + .filterExpression(filterExpression) + .returnConsumedCapacity(returnConsumedCapacity) + .addNestedAttributesToProject(attributesToProject); } /** @@ -143,6 +150,24 @@ public List nestedAttributesToProject() { return attributesToProject; } + /** + * Whether to return the capacity consumed by this operation. + * + * @see ScanRequest#returnConsumedCapacity() + */ + public ReturnConsumedCapacity returnConsumedCapacity() { + return ReturnConsumedCapacity.fromValue(returnConsumedCapacity); + } + + /** + * Whether to return the capacity consumed by this operation. + *

      + * Similar to {@link #returnConsumedCapacity()} but return the value as a string. This is useful in situations where the + * value is not defined in {@link ReturnConsumedCapacity}. + */ + public String returnConsumedCapacityAsString() { + return returnConsumedCapacity; + } @Override public boolean equals(Object o) { @@ -175,6 +200,10 @@ public boolean equals(Object o) { ? !attributesToProject.equals(scan.attributesToProject) : scan.attributesToProject != null) { return false; } + if (returnConsumedCapacity != null + ? !returnConsumedCapacity.equals(scan.returnConsumedCapacity) : scan.returnConsumedCapacity != null) { + return false; + } return filterExpression != null ? filterExpression.equals(scan.filterExpression) : scan.filterExpression == null; } @@ -187,6 +216,7 @@ public int hashCode() { result = 31 * result + (consistentRead != null ? consistentRead.hashCode() : 0); result = 31 * result + (filterExpression != null ? filterExpression.hashCode() : 0); result = 31 * result + (attributesToProject != null ? attributesToProject.hashCode() : 0); + result = 31 * result + (returnConsumedCapacity != null ? returnConsumedCapacity.hashCode() : 0); return result; } @@ -202,6 +232,7 @@ public static final class Builder { private List attributesToProject; private Integer segment; private Integer totalSegments; + private String returnConsumedCapacity; private Builder() { } @@ -428,6 +459,26 @@ public Builder addNestedAttributeToProject(NestedAttributeName nestedAttributeNa return this; } + /** + * Whether to return the capacity consumed by this operation. + * + * @see ScanRequest.Builder#returnConsumedCapacity(ReturnConsumedCapacity) + */ + public Builder returnConsumedCapacity(ReturnConsumedCapacity returnConsumedCapacity) { + this.returnConsumedCapacity = returnConsumedCapacity == null ? null : returnConsumedCapacity.toString(); + return this; + } + + /** + * Whether to return the capacity consumed by this operation. + * + * @see ScanRequest.Builder#returnConsumedCapacity(String) + */ + public Builder returnConsumedCapacity(String returnConsumedCapacity) { + this.returnConsumedCapacity = returnConsumedCapacity; + return this; + } + public ScanEnhancedRequest build() { return new ScanEnhancedRequest(this); } diff --git a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/WriteBatch.java b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/WriteBatch.java index d8fec912ba84..d2aa68572906 100644 --- a/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/WriteBatch.java +++ b/services-custom/dynamodb-enhanced/src/main/java/software/amazon/awssdk/enhanced/dynamodb/model/WriteBatch.java @@ -15,6 +15,7 @@ package software.amazon.awssdk.enhanced.dynamodb.model; +import static java.util.Objects.requireNonNull; import static software.amazon.awssdk.enhanced.dynamodb.internal.EnhancedClientUtils.getItemsFromSupplier; import java.util.ArrayList; @@ -187,7 +188,9 @@ public interface Builder { } private static final class BuilderImpl implements Builder { - + private static final String MAPPED_TABLE_RESOURCE_NOT_NULL_MESSAGE = String.format("A mappedTableResource (table) is " + + "required when building a %s", + WriteBatch.class.getSimpleName()); private Class itemClass; private List> itemSupplierList = new ArrayList<>(); private MappedTableResource mappedTableResource; @@ -204,6 +207,7 @@ public Builder mappedTableResource(MappedTableResource mappedTableResource @Override public Builder addDeleteItem(DeleteItemEnhancedRequest request) { + requireNonNull(mappedTableResource, MAPPED_TABLE_RESOURCE_NOT_NULL_MESSAGE); itemSupplierList.add(() -> generateWriteRequest(() -> mappedTableResource, DeleteItemOperation.create(request))); return this; } @@ -222,11 +226,13 @@ public Builder addDeleteItem(Key key) { @Override public Builder addDeleteItem(T keyItem) { + requireNonNull(mappedTableResource, MAPPED_TABLE_RESOURCE_NOT_NULL_MESSAGE); return addDeleteItem(this.mappedTableResource.keyFrom(keyItem)); } @Override public Builder addPutItem(PutItemEnhancedRequest request) { + requireNonNull(mappedTableResource, MAPPED_TABLE_RESOURCE_NOT_NULL_MESSAGE); itemSupplierList.add(() -> generateWriteRequest(() -> mappedTableResource, PutItemOperation.create(request))); return this; } diff --git a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/functionaltests/AsyncBatchGetItemTest.java b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/functionaltests/AsyncBatchGetItemTest.java index 3c90d04562da..c22263f6e4e0 100644 --- a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/functionaltests/AsyncBatchGetItemTest.java +++ b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/functionaltests/AsyncBatchGetItemTest.java @@ -17,9 +17,14 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.containsInAnyOrder; +import static org.hamcrest.Matchers.empty; +import static org.hamcrest.Matchers.hasSize; import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.not; +import static org.hamcrest.Matchers.nullValue; import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.primaryPartitionKey; +import java.util.Arrays; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; @@ -37,58 +42,80 @@ import software.amazon.awssdk.enhanced.dynamodb.model.BatchGetResultPage; import software.amazon.awssdk.enhanced.dynamodb.model.BatchGetResultPagePublisher; import software.amazon.awssdk.enhanced.dynamodb.model.ReadBatch; +import software.amazon.awssdk.services.dynamodb.model.ConsumedCapacity; import software.amazon.awssdk.services.dynamodb.model.DeleteTableRequest; +import software.amazon.awssdk.services.dynamodb.model.ReturnConsumedCapacity; public class AsyncBatchGetItemTest extends LocalDynamoDbAsyncTestBase { private static class Record1 { private Integer id; + private String stringAttr; private Integer getId() { return id; } + private String getStringAttr() { + return stringAttr; + } + private Record1 setId(Integer id) { this.id = id; return this; } + private Record1 setStringAttr(String str) { + this.stringAttr = str; + return this; + } + @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Record1 record1 = (Record1) o; - return Objects.equals(id, record1.id); + return Objects.equals(id, record1.id) && Objects.equals(stringAttr, record1.stringAttr); } @Override public int hashCode() { - return Objects.hash(id); + return Objects.hash(id, stringAttr); } } private static class Record2 { private Integer id; + private String stringAttr; private Integer getId() { return id; } + private String getStringAttr() { + return stringAttr; + } + private Record2 setId(Integer id) { this.id = id; return this; } + private Record2 setStringAttr(String str) { + this.stringAttr = str; + return this; + } + @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Record2 record2 = (Record2) o; - return Objects.equals(id, record2.id); + return Objects.equals(id, record2.id) && Objects.equals(stringAttr, record2.stringAttr); } @Override public int hashCode() { - return Objects.hash(id); + return Objects.hash(id, stringAttr); } } @@ -99,6 +126,9 @@ public int hashCode() { .getter(Record1::getId) .setter(Record1::setId) .tags(primaryPartitionKey())) + .addAttribute(String.class, a -> a.name("str_1") + .getter(Record1::getStringAttr) + .setter(Record1::setStringAttr)) .build(); private static final TableSchema TABLE_SCHEMA_2 = @@ -108,26 +138,29 @@ public int hashCode() { .getter(Record2::getId) .setter(Record2::setId) .tags(primaryPartitionKey())) + .addAttribute(String.class, a -> a.name("str_1") + .getter(Record2::getStringAttr) + .setter(Record2::setStringAttr)) .build(); - private DynamoDbEnhancedAsyncClient enhancedAsyncClient = + private final DynamoDbEnhancedAsyncClient enhancedAsyncClient = DefaultDynamoDbEnhancedAsyncClient.builder() .dynamoDbClient(getDynamoDbAsyncClient()) .build(); - private DynamoDbAsyncTable mappedTable1 = enhancedAsyncClient.table(getConcreteTableName("table-name-1"), - TABLE_SCHEMA_1); - private DynamoDbAsyncTable mappedTable2 = enhancedAsyncClient.table(getConcreteTableName("table-name-2"), - TABLE_SCHEMA_2); + private final String tableName1 = getConcreteTableName("table-name-1"); + private final String tableName2 = getConcreteTableName("table-name-2"); + private final DynamoDbAsyncTable mappedTable1 = enhancedAsyncClient.table(tableName1, TABLE_SCHEMA_1); + private final DynamoDbAsyncTable mappedTable2 = enhancedAsyncClient.table(tableName2, TABLE_SCHEMA_2); private static final List RECORDS_1 = IntStream.range(0, 2) - .mapToObj(i -> new Record1().setId(i)) + .mapToObj(i -> new Record1().setId(i).setStringAttr(getStringAttrValue(80_000))) .collect(Collectors.toList()); private static final List RECORDS_2 = IntStream.range(0, 2) - .mapToObj(i -> new Record2().setId(i)) + .mapToObj(i -> new Record2().setId(i).setStringAttr(getStringAttrValue(40_000))) .collect(Collectors.toList()); @Before @@ -139,10 +172,10 @@ public void createTable() { @After public void deleteTable() { getDynamoDbAsyncClient().deleteTable(DeleteTableRequest.builder() - .tableName(getConcreteTableName("table-name-1")) + .tableName(tableName1) .build()).join(); getDynamoDbAsyncClient().deleteTable(DeleteTableRequest.builder() - .tableName(getConcreteTableName("table-name-2")) + .tableName(tableName2) .build()).join(); } @@ -160,6 +193,8 @@ public void getRecordsFromMultipleTables() { List results = drainPublisher(publisher, 1); assertThat(results.size(), is(1)); BatchGetResultPage page = results.get(0); + assertThat(page.consumedCapacity(), empty()); + List record1List = page.resultsForTable(mappedTable1); assertThat(record1List.size(), is(2)); assertThat(record1List, containsInAnyOrder(RECORDS_1.get(0), RECORDS_1.get(1))); @@ -222,6 +257,61 @@ public void notFoundRecordReturnsNull_viaFlattenedItems() { assertThat(record2List, containsInAnyOrder(RECORDS_2.toArray())); } + @Test + public void getRecordsFromMultipleTables_withReturnConsumedCapacity() { + insertRecords(); + + SdkPublisher publisher = batchGetResultPageSdkPublisherForBothTables(ReturnConsumedCapacity.TOTAL); + + List results = drainPublisher(publisher, 1); + assertThat(results.size(), is(1)); + BatchGetResultPage page = results.get(0); + assertThat(page.consumedCapacity(), not(nullValue())); + assertThat(page.consumedCapacity(), hasSize(2)); + + assertThat(page.consumedCapacity(), containsInAnyOrder( + ConsumedCapacity.builder().tableName(tableName1).capacityUnits(20.0).build(), + ConsumedCapacity.builder().tableName(tableName2).capacityUnits(10.0).build() + )); + + List record1List = page.resultsForTable(mappedTable1); + assertThat(record1List.size(), is(2)); + assertThat(record1List, containsInAnyOrder(RECORDS_1.get(0), RECORDS_1.get(1))); + + List record2List = page.resultsForTable(mappedTable2); + assertThat(record2List.size(), is(2)); + assertThat(record2List, containsInAnyOrder(RECORDS_2.get(0), RECORDS_2.get(1))); + } + + @Test + public void notFoundRecords_withReturnConsumedCapacity() { + insertRecords(); + + BatchGetItemEnhancedRequest batchGetItemEnhancedRequest = + requestWithNotFoundRecord().toBuilder() + .returnConsumedCapacity(ReturnConsumedCapacity.TOTAL) + .build(); + + SdkPublisher publisher = enhancedAsyncClient.batchGetItem(batchGetItemEnhancedRequest); + + List results = drainPublisher(publisher, 1); + assertThat(results.size(), is(1)); + BatchGetResultPage page = results.get(0); + assertThat(page.consumedCapacity(), containsInAnyOrder( + ConsumedCapacity.builder().tableName(tableName1).capacityUnits(10.0).build(), + ConsumedCapacity.builder().tableName(tableName2).capacityUnits(10.0).build() + )); + + List record1List = page.resultsForTable(mappedTable1); + assertThat(record1List.size(), is(1)); + assertThat(record1List.get(0).getId(), is(0)); + + List record2List = page.resultsForTable(mappedTable2); + assertThat(record2List.size(), is(2)); + assertThat(record2List, containsInAnyOrder(RECORDS_2.get(0), RECORDS_2.get(1))); + + } + private BatchGetItemEnhancedRequest requestWithNotFoundRecord() { return BatchGetItemEnhancedRequest.builder() .readBatches( @@ -245,23 +335,36 @@ private BatchGetItemEnhancedRequest requestWithNotFoundRecord() { } private BatchGetResultPagePublisher batchGetResultPageSdkPublisherForBothTables() { - return enhancedAsyncClient.batchGetItem(r -> r.readBatches( - ReadBatch.builder(Record1.class) - .mappedTableResource(mappedTable1) - .addGetItem(i -> i.key(k -> k.partitionValue(0))) - .build(), - ReadBatch.builder(Record2.class) - .mappedTableResource(mappedTable2) - .addGetItem(i -> i.key(k -> k.partitionValue(0))) - .build(), - ReadBatch.builder(Record2.class) - .mappedTableResource(mappedTable2) - .addGetItem(i -> i.key(k -> k.partitionValue(1))) - .build(), - ReadBatch.builder(Record1.class) - .mappedTableResource(mappedTable1) - .addGetItem(i -> i.key(k -> k.partitionValue(1))) - .build())); + return batchGetResultPageSdkPublisherForBothTables(null); + } + + private BatchGetResultPagePublisher batchGetResultPageSdkPublisherForBothTables(ReturnConsumedCapacity retConsumedCapacity) { + return enhancedAsyncClient.batchGetItem( + r -> r.returnConsumedCapacity(retConsumedCapacity) + .readBatches( + ReadBatch.builder(Record1.class) + .mappedTableResource(mappedTable1) + .addGetItem(i -> i.key(k -> k.partitionValue(0))) + .build(), + ReadBatch.builder(Record2.class) + .mappedTableResource(mappedTable2) + .addGetItem(i -> i.key(k -> k.partitionValue(0))) + .build(), + ReadBatch.builder(Record2.class) + .mappedTableResource(mappedTable2) + .addGetItem(i -> i.key(k -> k.partitionValue(1))) + .build(), + ReadBatch.builder(Record1.class) + .mappedTableResource(mappedTable1) + .addGetItem(i -> i.key(k -> k.partitionValue(1))) + .build() + ) + ); } -} + private static String getStringAttrValue(int nChars) { + char[] bytes = new char[nChars]; + Arrays.fill(bytes, 'a'); + return new String(bytes); + } +} diff --git a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/functionaltests/AsyncGetItemWithResponseTest.java b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/functionaltests/AsyncGetItemWithResponseTest.java new file mode 100644 index 000000000000..9581233810fa --- /dev/null +++ b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/functionaltests/AsyncGetItemWithResponseTest.java @@ -0,0 +1,200 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +package software.amazon.awssdk.enhanced.dynamodb.functionaltests; + +import static org.assertj.core.api.Assertions.assertThat; +import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.primaryPartitionKey; + +import java.util.Arrays; +import java.util.Objects; +import org.assertj.core.data.Offset; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import software.amazon.awssdk.enhanced.dynamodb.DynamoDbAsyncTable; +import software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedAsyncClient; +import software.amazon.awssdk.enhanced.dynamodb.TableSchema; +import software.amazon.awssdk.enhanced.dynamodb.mapper.StaticTableSchema; +import software.amazon.awssdk.enhanced.dynamodb.model.GetItemEnhancedResponse; +import software.amazon.awssdk.services.dynamodb.model.ConsumedCapacity; +import software.amazon.awssdk.services.dynamodb.model.ReturnConsumedCapacity; + + +public class AsyncGetItemWithResponseTest extends LocalDynamoDbAsyncTestBase { + + private static final String TEST_TABLE_NAME = "get-item-table-name-2"; + private static final TableSchema TABLE_SCHEMA = + StaticTableSchema.builder(Record.class) + .newItemSupplier(Record::new) + .addAttribute(Integer.class, a -> a.name("id_1") + .getter(Record::getId) + .setter(Record::setId) + .tags(primaryPartitionKey())) + .addAttribute(String.class, a -> a.name("stringAttr1") + .getter(Record::getStringAttr1) + .setter(Record::setStringAttr1)) + .build(); + + private final DynamoDbEnhancedAsyncClient enhancedClient = DynamoDbEnhancedAsyncClient.builder() + .dynamoDbClient(getDynamoDbAsyncClient()) + .build(); + + private final DynamoDbAsyncTable mappedTable1 = enhancedClient.table( + getConcreteTableName(TEST_TABLE_NAME), + TABLE_SCHEMA + ); + + @Before + public void createTable() { + mappedTable1.createTable(r -> r.provisionedThroughput(getDefaultProvisionedThroughput())).join(); + } + + @After + public void deleteTable() { + getDynamoDbAsyncClient().deleteTable(r -> r.tableName(getConcreteTableName(TEST_TABLE_NAME))).join(); + } + + @Test + public void getItemWithResponse_when_recordIsAbsent() { + GetItemEnhancedResponse response = mappedTable1.getItemWithResponse( + r -> r.key(k -> k.partitionValue(404)) + ).join(); + + assertThat(response.attributes()).isNull(); + assertThat(response.consumedCapacity()).isNull(); + } + + @Test + public void getItemWithResponse_when_recordIsPresent() { + Record original = new Record().setId(1).setStringAttr1("a"); + mappedTable1.putItem(original).join(); + + GetItemEnhancedResponse response = mappedTable1.getItemWithResponse( + r -> r.key(k -> k.partitionValue(original.getId())) + ).join(); + + assertThat(response.attributes()).isEqualTo(original); + assertThat(response.consumedCapacity()).isNull(); + } + + @Test + public void getItemWithResponse_withReturnConsumedCapacity_when_recordIsAbsent_eventuallyConsistent() { + GetItemEnhancedResponse response = mappedTable1.getItemWithResponse( + r -> r.key(k -> k.partitionValue(404)) + .returnConsumedCapacity(ReturnConsumedCapacity.TOTAL) + .consistentRead(false) + ).join(); + + assertThat(response.attributes()).isNull(); + ConsumedCapacity consumedCapacity = response.consumedCapacity(); + assertThat(consumedCapacity).isNotNull(); + assertThat(consumedCapacity.capacityUnits()).isCloseTo(0.5, Offset.offset(0.01)); + } + + @Test + public void getItemWithResponse_withReturnConsumedCapacity_when_recordIsAbsent_stronglyConsistent() { + GetItemEnhancedResponse response = mappedTable1.getItemWithResponse( + r -> r.key(k -> k.partitionValue(404)) + .returnConsumedCapacity(ReturnConsumedCapacity.TOTAL) + .consistentRead(true) + ).join(); + + assertThat(response.attributes()).isNull(); + ConsumedCapacity consumedCapacity = response.consumedCapacity(); + assertThat(consumedCapacity).isNotNull(); + assertThat(consumedCapacity.capacityUnits()).isCloseTo(1.0, Offset.offset(0.01)); + } + + @Test + public void getItemWithResponse_withReturnConsumedCapacity_when_recordIsPresent_eventuallyConsistent() { + Record original = new Record().setId(126).setStringAttr1(getStringAttrValue(100_000)); + mappedTable1.putItem(original).join(); + + GetItemEnhancedResponse response = mappedTable1.getItemWithResponse( + r -> r.key(k -> k.partitionValue(126)) + .returnConsumedCapacity(ReturnConsumedCapacity.TOTAL) + .consistentRead(false) + ).join(); + + assertThat(response.attributes()).isEqualTo(original); + ConsumedCapacity consumedCapacity = response.consumedCapacity(); + assertThat(consumedCapacity).isNotNull(); + assertThat(consumedCapacity.capacityUnits()).isCloseTo(12.5, Offset.offset(0.01)); + } + + @Test + public void getItemWithResponse_withReturnConsumedCapacity_when_recordIsPresent_stronglyConsistent() { + Record original = new Record().setId(142).setStringAttr1(getStringAttrValue(100_000)); + mappedTable1.putItem(original).join(); + + GetItemEnhancedResponse response = mappedTable1.getItemWithResponse( + r -> r.key(k -> k.partitionValue(142)) + .returnConsumedCapacity(ReturnConsumedCapacity.TOTAL) + .consistentRead(true) + ).join(); + + assertThat(response.attributes()).isEqualTo(original); + ConsumedCapacity consumedCapacity = response.consumedCapacity(); + assertThat(consumedCapacity).isNotNull(); + assertThat(consumedCapacity.capacityUnits()).isCloseTo(25.0, Offset.offset(0.01)); + } + + private static String getStringAttrValue(int numChars) { + char[] chars = new char[numChars]; + Arrays.fill(chars, 'a'); + return new String(chars); + } + + private static class Record { + private Integer id; + private String stringAttr1; + + private Integer getId() { + return id; + } + + private Record setId(Integer id) { + this.id = id; + return this; + } + + private String getStringAttr1() { + return stringAttr1; + } + + private Record setStringAttr1(String stringAttr1) { + this.stringAttr1 = stringAttr1; + return this; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Record record = (Record) o; + return Objects.equals(id, record.id) && Objects.equals(stringAttr1, record.stringAttr1); + } + + @Override + public int hashCode() { + return Objects.hash(id, stringAttr1); + } + } +} diff --git a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/functionaltests/BatchGetItemTest.java b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/functionaltests/BatchGetItemTest.java index 721739157e32..6eb92c2d4409 100644 --- a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/functionaltests/BatchGetItemTest.java +++ b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/functionaltests/BatchGetItemTest.java @@ -17,9 +17,11 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.containsInAnyOrder; +import static org.hamcrest.Matchers.empty; import static org.hamcrest.Matchers.is; import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.primaryPartitionKey; +import java.util.Arrays; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; @@ -36,58 +38,80 @@ import software.amazon.awssdk.enhanced.dynamodb.model.BatchGetResultPage; import software.amazon.awssdk.enhanced.dynamodb.model.BatchGetResultPageIterable; import software.amazon.awssdk.enhanced.dynamodb.model.ReadBatch; +import software.amazon.awssdk.services.dynamodb.model.ConsumedCapacity; import software.amazon.awssdk.services.dynamodb.model.DeleteTableRequest; +import software.amazon.awssdk.services.dynamodb.model.ReturnConsumedCapacity; public class BatchGetItemTest extends LocalDynamoDbSyncTestBase { private static class Record1 { private Integer id; + private String stringAttr; private Integer getId() { return id; } + private String getStringAttr() { + return stringAttr; + } + private Record1 setId(Integer id) { this.id = id; return this; } + private Record1 setStringAttr(String str) { + this.stringAttr = str; + return this; + } + @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Record1 record1 = (Record1) o; - return Objects.equals(id, record1.id); + return Objects.equals(id, record1.id) && Objects.equals(stringAttr, record1.stringAttr); } @Override public int hashCode() { - return Objects.hash(id); + return Objects.hash(id, stringAttr); } } private static class Record2 { private Integer id; + private String stringAttr; private Integer getId() { return id; } + private String getStringAttr() { + return stringAttr; + } + private Record2 setId(Integer id) { this.id = id; return this; } + private Record2 setStringAttr(String str) { + this.stringAttr = str; + return this; + } + @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Record2 record2 = (Record2) o; - return Objects.equals(id, record2.id); + return Objects.equals(id, record2.id) && Objects.equals(stringAttr, record2.stringAttr); } @Override public int hashCode() { - return Objects.hash(id); + return Objects.hash(id, stringAttr); } } @@ -98,6 +122,9 @@ public int hashCode() { .getter(Record1::getId) .setter(Record1::setId) .tags(primaryPartitionKey())) + .addAttribute(String.class, a -> a.name("str_1") + .getter(Record1::getStringAttr) + .setter(Record1::setStringAttr)) .build(); private static final TableSchema TABLE_SCHEMA_2 = @@ -107,23 +134,28 @@ public int hashCode() { .getter(Record2::getId) .setter(Record2::setId) .tags(primaryPartitionKey())) + .addAttribute(String.class, a -> a.name("str_1") + .getter(Record2::getStringAttr) + .setter(Record2::setStringAttr)) .build(); private DynamoDbEnhancedClient enhancedClient = DynamoDbEnhancedClient.builder() .dynamoDbClient(getDynamoDbClient()) .build(); - private DynamoDbTable mappedTable1 = enhancedClient.table(getConcreteTableName("table-name-1"), TABLE_SCHEMA_1); - private DynamoDbTable mappedTable2 = enhancedClient.table(getConcreteTableName("table-name-2"), TABLE_SCHEMA_2); + private final String tableName1 = getConcreteTableName("table-name-1"); + private final String tableName2 = getConcreteTableName("table-name-2"); + private final DynamoDbTable mappedTable1 = enhancedClient.table(tableName1, TABLE_SCHEMA_1); + private final DynamoDbTable mappedTable2 = enhancedClient.table(tableName2, TABLE_SCHEMA_2); private static final List RECORDS_1 = IntStream.range(0, 2) - .mapToObj(i -> new Record1().setId(i)) + .mapToObj(i -> new Record1().setId(i).setStringAttr(getStringAttrValue(80_000))) .collect(Collectors.toList()); private static final List RECORDS_2 = IntStream.range(0, 2) - .mapToObj(i -> new Record2().setId(i)) + .mapToObj(i -> new Record2().setId(i).setStringAttr(getStringAttrValue(40_000))) .collect(Collectors.toList()); @Before @@ -135,10 +167,10 @@ public void createTable() { @After public void deleteTable() { getDynamoDbClient().deleteTable(DeleteTableRequest.builder() - .tableName(getConcreteTableName("table-name-1")) + .tableName(tableName1) .build()); getDynamoDbClient().deleteTable(DeleteTableRequest.builder() - .tableName(getConcreteTableName("table-name-2")) + .tableName(tableName2) .build()); } @@ -153,7 +185,8 @@ public void getRecordsFromMultipleTables() { SdkIterable results = getBatchGetResultPagesForBothTables(); assertThat(results.stream().count(), is(1L)); - results.iterator().forEachRemaining((page) -> { + results.iterator().forEachRemaining(page -> { + assertThat(page.consumedCapacity(), empty()); List table1Results = page.resultsForTable(mappedTable1); assertThat(table1Results.size(), is(2)); assertThat(table1Results.get(0).id, is(0)); @@ -186,6 +219,8 @@ public void notFoundRecordIgnored() { assertThat(results.stream().count(), is(1L)); results.iterator().forEachRemaining((page) -> { + assertThat(page.consumedCapacity(), empty()); + List mappedTable1Results = page.resultsForTable(mappedTable1); assertThat(mappedTable1Results.size(), is(1)); assertThat(mappedTable1Results.get(0).id, is(0)); @@ -210,6 +245,51 @@ public void notFoundRecordIgnored_viaFlattenedItems() { assertThat(recordsList2, containsInAnyOrder(RECORDS_2.toArray())); } + @Test + public void getRecordsFromMultipleTables_withReturnConsumedCapacity() { + insertRecords(); + + SdkIterable results = getBatchGetResultPagesForBothTables(ReturnConsumedCapacity.TOTAL); + assertThat(results.stream().count(), is(1L)); + + results.iterator().forEachRemaining(page -> { + assertThat(page.consumedCapacity(), containsInAnyOrder( + ConsumedCapacity.builder().tableName(tableName1).capacityUnits(20.0).build(), + ConsumedCapacity.builder().tableName(tableName2).capacityUnits(10.0).build() + )); + + List table1Results = page.resultsForTable(mappedTable1); + assertThat(table1Results.size(), is(2)); + assertThat(table1Results.get(0).id, is(0)); + assertThat(table1Results.get(1).id, is(1)); + assertThat(page.resultsForTable(mappedTable2).size(), is(2)); + }); + } + + @Test + public void notFoundRecordIgnored_withReturnConsumedCapacity() { + insertRecords(); + + BatchGetItemEnhancedRequest batchGetItemEnhancedRequest = batchGetItemEnhancedRequestWithNotFoundRecord() + .toBuilder() + .returnConsumedCapacity(ReturnConsumedCapacity.TOTAL) + .build(); + SdkIterable results = enhancedClient.batchGetItem(batchGetItemEnhancedRequest); + assertThat(results.stream().count(), is(1L)); + + results.iterator().forEachRemaining(page -> { + assertThat(page.consumedCapacity(), containsInAnyOrder( + ConsumedCapacity.builder().tableName(tableName1).capacityUnits(10.0).build(), + ConsumedCapacity.builder().tableName(tableName2).capacityUnits(10.0).build() + )); + + List mappedTable1Results = page.resultsForTable(mappedTable1); + assertThat(mappedTable1Results.size(), is(1)); + assertThat(mappedTable1Results.get(0).id, is(0)); + assertThat(page.resultsForTable(mappedTable2).size(), is(2)); + }); + } + private BatchGetItemEnhancedRequest batchGetItemEnhancedRequestWithNotFoundRecord() { return BatchGetItemEnhancedRequest.builder() .readBatches( @@ -233,7 +313,11 @@ private BatchGetItemEnhancedRequest batchGetItemEnhancedRequestWithNotFoundRecor } private BatchGetResultPageIterable getBatchGetResultPagesForBothTables() { - return enhancedClient.batchGetItem(r -> r.readBatches( + return getBatchGetResultPagesForBothTables(null); + } + + private BatchGetResultPageIterable getBatchGetResultPagesForBothTables(ReturnConsumedCapacity returnConsumedCapacity) { + return enhancedClient.batchGetItem(r -> r.returnConsumedCapacity(returnConsumedCapacity).readBatches( ReadBatch.builder(Record1.class) .mappedTableResource(mappedTable1) .addGetItem(i -> i.key(k -> k.partitionValue(0))) @@ -251,5 +335,10 @@ private BatchGetResultPageIterable getBatchGetResultPagesForBothTables() { .addGetItem(i -> i.key(k -> k.partitionValue(1))) .build())); } -} + private static String getStringAttrValue(int nChars) { + char[] bytes = new char[nChars]; + Arrays.fill(bytes, 'a'); + return new String(bytes); + } +} diff --git a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/functionaltests/GetItemWithResponseTest.java b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/functionaltests/GetItemWithResponseTest.java new file mode 100644 index 000000000000..abce56fe3054 --- /dev/null +++ b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/functionaltests/GetItemWithResponseTest.java @@ -0,0 +1,201 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +package software.amazon.awssdk.enhanced.dynamodb.functionaltests; + +import static org.assertj.core.api.Assertions.assertThat; +import static software.amazon.awssdk.enhanced.dynamodb.mapper.StaticAttributeTags.primaryPartitionKey; + +import java.util.Arrays; +import java.util.Objects; +import org.assertj.core.data.Offset; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedClient; +import software.amazon.awssdk.enhanced.dynamodb.DynamoDbTable; +import software.amazon.awssdk.enhanced.dynamodb.TableSchema; +import software.amazon.awssdk.enhanced.dynamodb.mapper.StaticTableSchema; +import software.amazon.awssdk.enhanced.dynamodb.model.GetItemEnhancedResponse; +import software.amazon.awssdk.services.dynamodb.model.ConsumedCapacity; +import software.amazon.awssdk.services.dynamodb.model.ReturnConsumedCapacity; + + +public class GetItemWithResponseTest extends LocalDynamoDbSyncTestBase { + + private static final String TEST_TABLE_NAME = "get-item-table-name-2"; + private static final TableSchema TABLE_SCHEMA = + StaticTableSchema.builder(Record.class) + .newItemSupplier(Record::new) + .addAttribute(Integer.class, a -> a.name("id_1") + .getter(Record::getId) + .setter(Record::setId) + .tags(primaryPartitionKey())) + .addAttribute(String.class, a -> a.name("stringAttr1") + .getter(Record::getStringAttr1) + .setter(Record::setStringAttr1)) + .build(); + + private final DynamoDbEnhancedClient enhancedClient = DynamoDbEnhancedClient.builder() + .dynamoDbClient(getDynamoDbClient()) + .build(); + + private final DynamoDbTable mappedTable1 = enhancedClient.table( + getConcreteTableName(TEST_TABLE_NAME), + TABLE_SCHEMA + ); + + @Before + public void createTable() { + mappedTable1.createTable(r -> r.provisionedThroughput(getDefaultProvisionedThroughput())); + } + + @After + public void deleteTable() { + getDynamoDbClient().deleteTable(r -> r.tableName(getConcreteTableName(TEST_TABLE_NAME))); + } + + @Test + public void getItemWithResponse_when_recordIsAbsent() { + GetItemEnhancedResponse response = mappedTable1.getItemWithResponse( + r -> r.key(k -> k.partitionValue(404)) + ); + + assertThat(response.attributes()).isNull(); + assertThat(response.consumedCapacity()).isNull(); + } + + @Test + public void getItemWithResponse_when_recordIsPresent() { + Record original = new Record().setId(1).setStringAttr1("a"); + mappedTable1.putItem(original); + + GetItemEnhancedResponse response = mappedTable1.getItemWithResponse( + r -> r.key(k -> k.partitionValue(original.getId())) + ); + + assertThat(response.attributes()).isNotNull(); + assertThat(response.attributes()).isEqualTo(original); + assertThat(response.consumedCapacity()).isNull(); + } + + @Test + public void getItemWithResponse_withReturnConsumedCapacity_when_recordIsAbsent_eventuallyConsistent() { + GetItemEnhancedResponse response = mappedTable1.getItemWithResponse( + r -> r.key(k -> k.partitionValue(404)) + .returnConsumedCapacity(ReturnConsumedCapacity.TOTAL) + .consistentRead(false) + ); + + assertThat(response.attributes()).isNull(); + ConsumedCapacity consumedCapacity = response.consumedCapacity(); + assertThat(consumedCapacity).isNotNull(); + assertThat(consumedCapacity.capacityUnits()).isCloseTo(0.5, Offset.offset(0.01)); + } + + @Test + public void getItemWithResponse_withReturnConsumedCapacity_when_recordIsAbsent_stronglyConsistent() { + GetItemEnhancedResponse response = mappedTable1.getItemWithResponse( + r -> r.key(k -> k.partitionValue(404)) + .returnConsumedCapacity(ReturnConsumedCapacity.TOTAL) + .consistentRead(true) + ); + + assertThat(response.attributes()).isNull(); + ConsumedCapacity consumedCapacity = response.consumedCapacity(); + assertThat(consumedCapacity).isNotNull(); + assertThat(consumedCapacity.capacityUnits()).isCloseTo(1.0, Offset.offset(0.01)); + } + + @Test + public void getItemWithResponse_withReturnConsumedCapacity_when_recordIsPresent_eventuallyConsistent() { + Record original = new Record().setId(126).setStringAttr1(getStringAttrValue(100_000)); + mappedTable1.putItem(original); + + GetItemEnhancedResponse response = mappedTable1.getItemWithResponse( + r -> r.key(k -> k.partitionValue(126)) + .returnConsumedCapacity(ReturnConsumedCapacity.TOTAL) + .consistentRead(false) + ); + + assertThat(response.attributes()).isEqualTo(original); + ConsumedCapacity consumedCapacity = response.consumedCapacity(); + assertThat(consumedCapacity).isNotNull(); + assertThat(consumedCapacity.capacityUnits()).isCloseTo(12.5, Offset.offset(0.01)); + } + + @Test + public void getItemWithResponse_withReturnConsumedCapacity_when_recordIsPresent_stronglyConsistent() { + Record original = new Record().setId(142).setStringAttr1(getStringAttrValue(100_000)); + mappedTable1.putItem(original); + + GetItemEnhancedResponse response = mappedTable1.getItemWithResponse( + r -> r.key(k -> k.partitionValue(142)) + .returnConsumedCapacity(ReturnConsumedCapacity.TOTAL) + .consistentRead(true) + ); + + assertThat(response.attributes()).isEqualTo(original); + ConsumedCapacity consumedCapacity = response.consumedCapacity(); + assertThat(consumedCapacity).isNotNull(); + assertThat(consumedCapacity.capacityUnits()).isCloseTo(25.0, Offset.offset(0.01)); + } + + private static String getStringAttrValue(int numChars) { + char[] chars = new char[numChars]; + Arrays.fill(chars, 'a'); + return new String(chars); + } + + private static class Record { + private Integer id; + private String stringAttr1; + + private Integer getId() { + return id; + } + + private Record setId(Integer id) { + this.id = id; + return this; + } + + private String getStringAttr1() { + return stringAttr1; + } + + private Record setStringAttr1(String stringAttr1) { + this.stringAttr1 = stringAttr1; + return this; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Record record = (Record) o; + return Objects.equals(id, record.id) && Objects.equals(stringAttr1, record.stringAttr1); + } + + @Override + public int hashCode() { + return Objects.hash(id, stringAttr1); + } + } +} diff --git a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/functionaltests/IndexQueryTest.java b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/functionaltests/IndexQueryTest.java index e82e340e90ac..82182ffad4e4 100644 --- a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/functionaltests/IndexQueryTest.java +++ b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/functionaltests/IndexQueryTest.java @@ -17,7 +17,9 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.empty; +import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.notNullValue; import static org.hamcrest.Matchers.nullValue; import static software.amazon.awssdk.enhanced.dynamodb.internal.AttributeValues.numberValue; import static software.amazon.awssdk.enhanced.dynamodb.internal.AttributeValues.stringValue; @@ -51,6 +53,7 @@ import software.amazon.awssdk.services.dynamodb.model.AttributeValue; import software.amazon.awssdk.services.dynamodb.model.DeleteTableRequest; import software.amazon.awssdk.services.dynamodb.model.ProjectionType; +import software.amazon.awssdk.services.dynamodb.model.ReturnConsumedCapacity; public class IndexQueryTest extends LocalDynamoDbSyncTestBase { private static class Record { @@ -211,6 +214,7 @@ public void queryAllRecordsDefaultSettings_usingShortcutForm() { assertThat(page.items(), is(KEYS_ONLY_RECORDS)); assertThat(page.lastEvaluatedKey(), is(nullValue())); + assertThat(page.consumedCapacity(), is(nullValue())); } @Test @@ -219,7 +223,9 @@ public void queryBetween() { Key fromKey = Key.builder().partitionValue("gsi-id-value").sortValue(3).build(); Key toKey = Key.builder().partitionValue("gsi-id-value").sortValue(5).build(); Iterator> results = - keysOnlyMappedIndex.query(r -> r.queryConditional(QueryConditional.sortBetween(fromKey, toKey))).iterator(); + keysOnlyMappedIndex.query(r -> r.queryConditional(QueryConditional.sortBetween(fromKey, toKey)) + .returnConsumedCapacity(ReturnConsumedCapacity.INDEXES)) + .iterator(); assertThat(results.hasNext(), is(true)); Page page = results.next(); @@ -228,6 +234,13 @@ public void queryBetween() { assertThat(page.items(), is(KEYS_ONLY_RECORDS.stream().filter(r -> r.sort >= 3 && r.sort <= 5).collect(Collectors.toList()))); assertThat(page.lastEvaluatedKey(), is(nullValue())); + + assertThat(page.consumedCapacity(), is(notNullValue())); + assertThat(page.consumedCapacity().capacityUnits(), is(notNullValue())); + assertThat(page.consumedCapacity().globalSecondaryIndexes(), is(notNullValue())); + + assertThat(page.count(), equalTo(3)); + assertThat(page.scannedCount(), equalTo(3)); } @Test @@ -261,10 +274,18 @@ public void queryLimit() { assertThat(page1.items(), is(KEYS_ONLY_RECORDS.subList(0, 5))); assertThat(page1.lastEvaluatedKey(), is(expectedLastEvaluatedKey1)); + assertThat(page1.count(), equalTo(5)); + assertThat(page1.scannedCount(), equalTo(5)); + assertThat(page2.items(), is(KEYS_ONLY_RECORDS.subList(5, 10))); assertThat(page2.lastEvaluatedKey(), is(expectedLastEvaluatedKey2)); + assertThat(page2.count(), equalTo(5)); + assertThat(page2.scannedCount(), equalTo(5)); + assertThat(page3.items(), is(empty())); assertThat(page3.lastEvaluatedKey(), is(nullValue())); + assertThat(page3.count(), equalTo(0)); + assertThat(page3.scannedCount(), equalTo(0)); } @Test @@ -276,6 +297,8 @@ public void queryEmpty() { assertThat(results.hasNext(), is(false)); assertThat(page.items(), is(empty())); assertThat(page.lastEvaluatedKey(), is(nullValue())); + assertThat(page.count(), equalTo(0)); + assertThat(page.scannedCount(), equalTo(0)); } @Test @@ -297,5 +320,7 @@ public void queryExclusiveStartKey() { assertThat(results.hasNext(), is(false)); assertThat(page.items(), is(KEYS_ONLY_RECORDS.subList(8, 10))); assertThat(page.lastEvaluatedKey(), is(nullValue())); + assertThat(page.count(), equalTo(2)); + assertThat(page.scannedCount(), equalTo(2)); } } diff --git a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/functionaltests/IndexScanTest.java b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/functionaltests/IndexScanTest.java index 9cc674ed489a..90205bfc6f75 100644 --- a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/functionaltests/IndexScanTest.java +++ b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/functionaltests/IndexScanTest.java @@ -17,7 +17,9 @@ import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.empty; +import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.notNullValue; import static org.hamcrest.Matchers.nullValue; import static software.amazon.awssdk.enhanced.dynamodb.internal.AttributeValues.numberValue; import static software.amazon.awssdk.enhanced.dynamodb.internal.AttributeValues.stringValue; @@ -49,6 +51,7 @@ import software.amazon.awssdk.services.dynamodb.model.AttributeValue; import software.amazon.awssdk.services.dynamodb.model.DeleteTableRequest; import software.amazon.awssdk.services.dynamodb.model.ProjectionType; +import software.amazon.awssdk.services.dynamodb.model.ReturnConsumedCapacity; public class IndexScanTest extends LocalDynamoDbSyncTestBase { private static class Record { @@ -198,7 +201,8 @@ public void deleteTable() { public void scanAllRecordsDefaultSettings() { insertRecords(); - Iterator> results = keysOnlyMappedIndex.scan(ScanEnhancedRequest.builder().build()).iterator(); + Iterator> results = keysOnlyMappedIndex.scan(r -> r.returnConsumedCapacity(ReturnConsumedCapacity.INDEXES)) + .iterator(); assertThat(results.hasNext(), is(true)); Page page = results.next(); @@ -206,6 +210,13 @@ public void scanAllRecordsDefaultSettings() { assertThat(page.items(), is(KEYS_ONLY_RECORDS)); assertThat(page.lastEvaluatedKey(), is(nullValue())); + + assertThat(page.consumedCapacity(), is(notNullValue())); + assertThat(page.consumedCapacity().capacityUnits(), is(notNullValue())); + assertThat(page.consumedCapacity().globalSecondaryIndexes(), is(notNullValue())); + + assertThat(page.count(), equalTo(10)); + assertThat(page.scannedCount(), equalTo(10)); } @Test @@ -220,7 +231,9 @@ public void scanAllRecordsWithFilter() { .build(); Iterator> results = - keysOnlyMappedIndex.scan(ScanEnhancedRequest.builder().filterExpression(expression).build()).iterator(); + keysOnlyMappedIndex.scan(ScanEnhancedRequest.builder().filterExpression(expression) + .returnConsumedCapacity(ReturnConsumedCapacity.INDEXES).build()) + .iterator(); assertThat(results.hasNext(), is(true)); Page page = results.next(); @@ -229,6 +242,13 @@ public void scanAllRecordsWithFilter() { assertThat(page.items(), is(KEYS_ONLY_RECORDS.stream().filter(r -> r.sort >= 3 && r.sort <= 5).collect(Collectors.toList()))); assertThat(page.lastEvaluatedKey(), is(nullValue())); + + assertThat(page.consumedCapacity(), is(notNullValue())); + assertThat(page.consumedCapacity().capacityUnits(), is(notNullValue())); + assertThat(page.consumedCapacity().globalSecondaryIndexes(), is(notNullValue())); + + assertThat(page.count(), equalTo(3)); + assertThat(page.scannedCount(), equalTo(10)); } @Test @@ -244,11 +264,20 @@ public void scanLimit() { assertThat(results.hasNext(), is(false)); assertThat(page1.items(), is(KEYS_ONLY_RECORDS.subList(0, 5))); + assertThat(page1.consumedCapacity(), is(nullValue())); assertThat(page1.lastEvaluatedKey(), is(getKeyMap(4))); + assertThat(page1.count(), equalTo(5)); + assertThat(page1.scannedCount(), equalTo(5)); + assertThat(page2.items(), is(KEYS_ONLY_RECORDS.subList(5, 10))); assertThat(page2.lastEvaluatedKey(), is(getKeyMap(9))); + assertThat(page2.count(), equalTo(5)); + assertThat(page2.scannedCount(), equalTo(5)); + assertThat(page3.items(), is(empty())); assertThat(page3.lastEvaluatedKey(), is(nullValue())); + assertThat(page3.count(), equalTo(0)); + assertThat(page3.scannedCount(), equalTo(0)); } @Test @@ -259,6 +288,8 @@ public void scanEmpty() { assertThat(results.hasNext(), is(false)); assertThat(page.items(), is(empty())); assertThat(page.lastEvaluatedKey(), is(nullValue())); + assertThat(page.count(), equalTo(0)); + assertThat(page.scannedCount(), equalTo(0)); } @Test @@ -272,6 +303,8 @@ public void scanExclusiveStartKey() { assertThat(results.hasNext(), is(false)); assertThat(page.items(), is(KEYS_ONLY_RECORDS.subList(8, 10))); assertThat(page.lastEvaluatedKey(), is(nullValue())); + assertThat(page.count(), equalTo(2)); + assertThat(page.scannedCount(), equalTo(2)); } private Map getKeyMap(int sort) { diff --git a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/internal/client/DefaultDynamoDbTableTest.java b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/internal/client/DefaultDynamoDbTableTest.java index e78c4ea36207..069380956a8e 100644 --- a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/internal/client/DefaultDynamoDbTableTest.java +++ b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/internal/client/DefaultDynamoDbTableTest.java @@ -34,9 +34,12 @@ import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedClientExtension; import software.amazon.awssdk.enhanced.dynamodb.Key; +import software.amazon.awssdk.enhanced.dynamodb.TableSchema; import software.amazon.awssdk.enhanced.dynamodb.functionaltests.models.FakeItem; import software.amazon.awssdk.enhanced.dynamodb.functionaltests.models.FakeItemWithIndices; import software.amazon.awssdk.enhanced.dynamodb.functionaltests.models.FakeItemWithSort; +import software.amazon.awssdk.enhanced.dynamodb.mapper.testbeans.SecondaryIndexBean; +import software.amazon.awssdk.enhanced.dynamodb.mapper.testbeans.SecondaryIndexMatchingTableKeyBean; import software.amazon.awssdk.enhanced.dynamodb.model.CreateTableEnhancedRequest; import software.amazon.awssdk.enhanced.dynamodb.model.EnhancedGlobalSecondaryIndex; import software.amazon.awssdk.enhanced.dynamodb.model.EnhancedLocalSecondaryIndex; @@ -163,6 +166,42 @@ public void createTable_groupsSecondaryIndexesExistingInTableSchema() { assertThat(globalIndicesNames, containsInAnyOrder("gsi_1", "gsi_2")); } + @Test + public void createTable_groupsSecondaryIndexesExistingInTableSchema_fromBeanTableSchema() { + DefaultDynamoDbTable dynamoDbMappedIndex = + Mockito.spy(new DefaultDynamoDbTable<>(mockDynamoDbClient, + mockDynamoDbEnhancedClientExtension, + TableSchema.fromBean(SecondaryIndexBean.class), + "test_table")); + + dynamoDbMappedIndex.createTable(); + + CreateTableEnhancedRequest request = captureCreateTableRequest(dynamoDbMappedIndex); + + assertThat(request.localSecondaryIndices().size(), is(1)); + assertThat(request.localSecondaryIndices().iterator().next().indexName(), is("lsi")); + + assertThat(request.globalSecondaryIndices().size(), is(1)); + assertThat(request.globalSecondaryIndices().iterator().next().indexName(), is("gsi")); + } + + @Test + public void createTable_allowsGsiWithSamePartitionKeyAsDefaultPartitionKey_fromBeanTableSchema() { + DefaultDynamoDbTable dynamoDbMappedIndex = + Mockito.spy(new DefaultDynamoDbTable<>(mockDynamoDbClient, + mockDynamoDbEnhancedClientExtension, + TableSchema.fromBean(SecondaryIndexMatchingTableKeyBean.class), + "test_table")); + + dynamoDbMappedIndex.createTable(); + + CreateTableEnhancedRequest request = captureCreateTableRequest(dynamoDbMappedIndex); + + assertThat(request.localSecondaryIndices().size(), is(0)); + assertThat(request.globalSecondaryIndices().size(), is(1)); + assertThat(request.globalSecondaryIndices().iterator().next().indexName(), is("gsi")); + } + private static CreateTableEnhancedRequest captureCreateTableRequest(DefaultDynamoDbTable index) { ArgumentCaptor createTableOperationCaptor = ArgumentCaptor.forClass(CreateTableEnhancedRequest.class); diff --git a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/GetItemOperationTest.java b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/GetItemOperationTest.java index 9c582ae1b0dd..ec213dfe6852 100644 --- a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/GetItemOperationTest.java +++ b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/internal/operations/GetItemOperationTest.java @@ -20,6 +20,7 @@ import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.nullValue; import static org.hamcrest.Matchers.sameInstance; +import static org.junit.Assert.assertEquals; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; @@ -29,12 +30,14 @@ import java.util.HashMap; import java.util.Map; +import java.util.UUID; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedClientExtension; import software.amazon.awssdk.enhanced.dynamodb.DynamoDbExtensionContext; +import software.amazon.awssdk.enhanced.dynamodb.Key; import software.amazon.awssdk.enhanced.dynamodb.OperationContext; import software.amazon.awssdk.enhanced.dynamodb.TableMetadata; import software.amazon.awssdk.enhanced.dynamodb.extensions.ReadModification; @@ -43,10 +46,12 @@ import software.amazon.awssdk.enhanced.dynamodb.functionaltests.models.FakeItemWithSort; import software.amazon.awssdk.enhanced.dynamodb.internal.extensions.DefaultDynamoDbExtensionContext; import software.amazon.awssdk.enhanced.dynamodb.model.GetItemEnhancedRequest; +import software.amazon.awssdk.enhanced.dynamodb.model.GetItemEnhancedResponse; import software.amazon.awssdk.services.dynamodb.DynamoDbClient; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; import software.amazon.awssdk.services.dynamodb.model.GetItemRequest; import software.amazon.awssdk.services.dynamodb.model.GetItemResponse; +import software.amazon.awssdk.services.dynamodb.model.ReturnConsumedCapacity; @RunWith(MockitoJUnitRunner.class) public class GetItemOperationTest { @@ -150,6 +155,37 @@ public void generateRequest_partitionAndSortKey() { assertThat(request, is(expectedRequest)); } + @Test + public void generateRequest_withReturnConsumedCapacity_unknownValue_generatesCorrectRequest() { + FakeItem fakeItem = createUniqueFakeItem(); + + String returnConsumedCapacity = UUID.randomUUID().toString(); + GetItemOperation getItemOperation = GetItemOperation.create(GetItemEnhancedRequest.builder() + .key(Key.builder().partitionValue(fakeItem.getId()).build()) + .returnConsumedCapacity(returnConsumedCapacity) + .build()); + + GetItemRequest request = getItemOperation.generateRequest(FakeItem.getTableSchema(), PRIMARY_CONTEXT, null); + + assertEquals(returnConsumedCapacity, request.returnConsumedCapacityAsString()); + } + + @Test + public void generateRequest_withReturnConsumedCapacity_knownValue_generatesCorrectRequest() { + FakeItem fakeItem = createUniqueFakeItem(); + + ReturnConsumedCapacity returnConsumedCapacity = ReturnConsumedCapacity.TOTAL; + GetItemOperation getItemOperation = GetItemOperation.create( + GetItemEnhancedRequest.builder() + .key(Key.builder().partitionValue(fakeItem.getId()).build()) + .returnConsumedCapacity(returnConsumedCapacity) + .build() + ); + + GetItemRequest request = getItemOperation.generateRequest(FakeItem.getTableSchema(), PRIMARY_CONTEXT, null); + assertEquals(returnConsumedCapacity, request.returnConsumedCapacity()); + } + @Test(expected = IllegalArgumentException.class) public void generateRequest_noPartitionKey_throwsIllegalArgumentException() { GetItemOperation getItemOperation = @@ -165,10 +201,10 @@ public void transformResponse_noItem() { GetItemOperation.create(GetItemEnhancedRequest.builder().key(k -> k.partitionValue(keyItem.getId())).build()); GetItemResponse response = GetItemResponse.builder().build(); - FakeItem result = getItemOperation.transformResponse(response, FakeItem.getTableSchema(), PRIMARY_CONTEXT, - null); + GetItemEnhancedResponse result = getItemOperation.transformResponse(response, FakeItem.getTableSchema(), + PRIMARY_CONTEXT, null); - assertThat(result, is(nullValue())); + assertThat(result.attributes(), is(nullValue())); } @Test @@ -183,11 +219,11 @@ public void transformResponse_correctlyTransformsIntoAnItem() { .item(responseMap) .build(); - FakeItem result = getItemOperation.transformResponse(response, FakeItem.getTableSchema(), PRIMARY_CONTEXT, - null); + GetItemEnhancedResponse result = getItemOperation.transformResponse(response, FakeItem.getTableSchema(), + PRIMARY_CONTEXT, null); - assertThat(result.getId(), is(keyItem.getId())); - assertThat(result.getSubclassAttribute(), is("test-value")); + assertThat(result.attributes().getId(), is(keyItem.getId())); + assertThat(result.attributes().getSubclassAttribute(), is("test-value")); } @Test @@ -219,14 +255,15 @@ public void transformResponse_withExtension_appliesItemModification() { when(mockDynamoDbEnhancedClientExtension.afterRead(any(DynamoDbExtensionContext.AfterRead.class))) .thenReturn(ReadModification.builder().transformedItem(fakeItemMap).build()); - FakeItem resultItem = getItemOperation.transformResponse(response, FakeItem.getTableSchema(), + GetItemEnhancedResponse resultItem = getItemOperation.transformResponse(response, FakeItem.getTableSchema(), PRIMARY_CONTEXT, mockDynamoDbEnhancedClientExtension); - assertThat(resultItem, is(fakeItem)); + assertThat(resultItem.attributes(), is(fakeItem)); verify(mockDynamoDbEnhancedClientExtension).afterRead(DefaultDynamoDbExtensionContext.builder() .tableMetadata(FakeItem.getTableMetadata()) .operationContext(PRIMARY_CONTEXT) .tableSchema(FakeItem.getTableSchema()) .items(baseFakeItemMap).build()); } + } diff --git a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/mapper/testbeans/SecondaryIndexBean.java b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/mapper/testbeans/SecondaryIndexBean.java index dc7cee1f0a9e..b98b9f1c4140 100644 --- a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/mapper/testbeans/SecondaryIndexBean.java +++ b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/mapper/testbeans/SecondaryIndexBean.java @@ -21,6 +21,9 @@ import software.amazon.awssdk.enhanced.dynamodb.mapper.annotations.DynamoDbSecondarySortKey; import software.amazon.awssdk.enhanced.dynamodb.mapper.annotations.DynamoDbSortKey; +/** + * A bean with a local secondary index and a global secondary index. + */ @DynamoDbBean public class SecondaryIndexBean { private String id; diff --git a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/mapper/testbeans/SecondaryIndexMatchingTableKeyBean.java b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/mapper/testbeans/SecondaryIndexMatchingTableKeyBean.java new file mode 100644 index 000000000000..c0529b809dc1 --- /dev/null +++ b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/mapper/testbeans/SecondaryIndexMatchingTableKeyBean.java @@ -0,0 +1,60 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +package software.amazon.awssdk.enhanced.dynamodb.mapper.testbeans; + +import software.amazon.awssdk.enhanced.dynamodb.mapper.annotations.DynamoDbBean; +import software.amazon.awssdk.enhanced.dynamodb.mapper.annotations.DynamoDbPartitionKey; +import software.amazon.awssdk.enhanced.dynamodb.mapper.annotations.DynamoDbSecondaryPartitionKey; +import software.amazon.awssdk.enhanced.dynamodb.mapper.annotations.DynamoDbSecondarySortKey; +import software.amazon.awssdk.enhanced.dynamodb.mapper.annotations.DynamoDbSortKey; + +/** + * A bean with a global secondary index that uses the same partition key as the table. + */ +@DynamoDbBean +public class SecondaryIndexMatchingTableKeyBean { + private String id; + private Integer sort; + private String attribute; + + @DynamoDbPartitionKey + @DynamoDbSecondaryPartitionKey(indexNames = "gsi") + public String getId() { + return this.id; + } + + public void setId(String id) { + this.id = id; + } + + @DynamoDbSortKey + public Integer getSort() { + return sort; + } + + public void setSort(Integer sort) { + this.sort = sort; + } + + @DynamoDbSecondarySortKey(indexNames = "gsi") + public String getAttribute() { + return attribute; + } + + public void setAttribute(String attribute) { + this.attribute = attribute; + } +} diff --git a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/model/BatchGetItemEnhancedRequestTest.java b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/model/BatchGetItemEnhancedRequestTest.java index 4fdbc413d7c4..c424363d8465 100644 --- a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/model/BatchGetItemEnhancedRequestTest.java +++ b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/model/BatchGetItemEnhancedRequestTest.java @@ -16,7 +16,9 @@ package software.amazon.awssdk.enhanced.dynamodb.model; import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.nullValue; import java.util.Collections; @@ -29,6 +31,8 @@ import software.amazon.awssdk.enhanced.dynamodb.DynamoDbTable; import software.amazon.awssdk.enhanced.dynamodb.functionaltests.models.FakeItem; import software.amazon.awssdk.services.dynamodb.DynamoDbClient; +import software.amazon.awssdk.services.dynamodb.model.ConsumedCapacity; +import software.amazon.awssdk.services.dynamodb.model.ReturnConsumedCapacity; @RunWith(MockitoJUnitRunner.class) public class BatchGetItemEnhancedRequestTest { @@ -53,6 +57,8 @@ public void builder_minimal() { BatchGetItemEnhancedRequest builtObject = BatchGetItemEnhancedRequest.builder().build(); assertThat(builtObject.readBatches(), is(nullValue())); + assertThat(builtObject.returnConsumedCapacity(), is(nullValue())); + assertThat(builtObject.returnConsumedCapacityAsString(), is(nullValue())); } @Test @@ -64,9 +70,12 @@ public void builder_maximal() { BatchGetItemEnhancedRequest builtObject = BatchGetItemEnhancedRequest.builder() .readBatches(readBatch) + .returnConsumedCapacity(ReturnConsumedCapacity.TOTAL) .build(); assertThat(builtObject.readBatches(), is(Collections.singletonList(readBatch))); + assertThat(builtObject.returnConsumedCapacity(), equalTo(ReturnConsumedCapacity.TOTAL)); + assertThat(builtObject.returnConsumedCapacityAsString(), equalTo(ReturnConsumedCapacity.TOTAL.toString())); } @Test @@ -90,6 +99,60 @@ public void toBuilder() { BatchGetItemEnhancedRequest copiedObject = builtObject.toBuilder().build(); assertThat(copiedObject, is(builtObject)); + assertThat(copiedObject.hashCode(), equalTo(builtObject.hashCode())); + } + + @Test + public void toBuilder_maximal() { + ReadBatch readBatch = ReadBatch.builder(FakeItem.class) + .mappedTableResource(fakeItemMappedTable) + .addGetItem(r -> r.key(k -> k.partitionValue("key"))) + .build(); + + BatchGetItemEnhancedRequest builtObject = BatchGetItemEnhancedRequest.builder() + .readBatches(readBatch) + .returnConsumedCapacity(ReturnConsumedCapacity.TOTAL) + .build(); + + BatchGetItemEnhancedRequest copiedObject = builtObject.toBuilder().build(); + assertThat(copiedObject, is(builtObject)); + assertThat(copiedObject.hashCode(), equalTo(builtObject.hashCode())); + } + + @Test + public void hashCode_includes_readBatches() { + BatchGetItemEnhancedRequest request1 = BatchGetItemEnhancedRequest.builder().build(); + + ReadBatch readBatch = ReadBatch.builder(FakeItem.class) + .mappedTableResource(fakeItemMappedTable) + .addGetItem(r -> r.key(k -> k.partitionValue("key"))) + .build(); + BatchGetItemEnhancedRequest request2 = BatchGetItemEnhancedRequest.builder() + .readBatches(readBatch) + .build(); + + assertThat(request1, not(equalTo(request2))); + assertThat(request1.hashCode(), not(equalTo(request2))); + } + + @Test + public void hashCode_includes_consumedCapacity() { + BatchGetItemEnhancedRequest request1 = BatchGetItemEnhancedRequest.builder().build(); + BatchGetItemEnhancedRequest request2 = BatchGetItemEnhancedRequest.builder() + .returnConsumedCapacity(ReturnConsumedCapacity.INDEXES) + .build(); + + assertThat(request1, not(equalTo(request2))); + assertThat(request1.hashCode(), not(equalTo(request2))); + } + + @Test + public void returnConsumedCapacity_unknownToSdkVersion() { + BatchGetItemEnhancedRequest builtObject = BatchGetItemEnhancedRequest.builder() + .returnConsumedCapacity("abcdefg") + .build(); + assertThat(builtObject.returnConsumedCapacity(), is(ReturnConsumedCapacity.UNKNOWN_TO_SDK_VERSION)); + assertThat(builtObject.returnConsumedCapacityAsString(), equalTo("abcdefg")); } } diff --git a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/model/GetItemEnhancedRequestTest.java b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/model/GetItemEnhancedRequestTest.java index d952e1219418..d745382deb5c 100644 --- a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/model/GetItemEnhancedRequestTest.java +++ b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/model/GetItemEnhancedRequestTest.java @@ -16,13 +16,17 @@ package software.amazon.awssdk.enhanced.dynamodb.model; import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.nullValue; +import java.util.UUID; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.enhanced.dynamodb.Key; +import software.amazon.awssdk.services.dynamodb.model.ReturnConsumedCapacity; @RunWith(MockitoJUnitRunner.class) public class GetItemEnhancedRequestTest { @@ -33,6 +37,8 @@ public void builder_minimal() { assertThat(builtObject.key(), is(nullValue())); assertThat(builtObject.consistentRead(), is(nullValue())); + assertThat(builtObject.returnConsumedCapacityAsString(), is(nullValue())); + assertThat(builtObject.returnConsumedCapacity(), is(nullValue())); } @Test @@ -42,23 +48,108 @@ public void builder_maximal() { GetItemEnhancedRequest builtObject = GetItemEnhancedRequest.builder() .key(key) .consistentRead(true) + .returnConsumedCapacity(ReturnConsumedCapacity.TOTAL) .build(); assertThat(builtObject.key(), is(key)); assertThat(builtObject.consistentRead(), is(true)); + assertThat(builtObject.returnConsumedCapacityAsString(), equalTo(ReturnConsumedCapacity.TOTAL.toString())); + assertThat(builtObject.returnConsumedCapacity(), equalTo(ReturnConsumedCapacity.TOTAL)); } + @Test + public void test_equalsAndHashCode_when_returnConsumedCapacityIsDifferent() { + Key key = Key.builder().partitionValue("key").build(); + GetItemEnhancedRequest builtObject1 = GetItemEnhancedRequest.builder() + .key(key) + .returnConsumedCapacity(ReturnConsumedCapacity.TOTAL) + .build(); + + GetItemEnhancedRequest builtObject2 = GetItemEnhancedRequest.builder() + .key(key) + .returnConsumedCapacity(ReturnConsumedCapacity.INDEXES) + .build(); + + assertThat(builtObject1, not(equalTo(builtObject2))); + assertThat(builtObject1.hashCode(), not(equalTo(builtObject2.hashCode()))); + } + + @Test + public void test_equalsAndHashCode_when_keyIsDifferent() { + GetItemEnhancedRequest builtObject1 = GetItemEnhancedRequest.builder() + .key(k -> k.partitionValue("key1")) + .returnConsumedCapacity(ReturnConsumedCapacity.TOTAL) + .build(); + + GetItemEnhancedRequest builtObject2 = GetItemEnhancedRequest.builder() + .key(k -> k.partitionValue("key2")) + .returnConsumedCapacity(ReturnConsumedCapacity.TOTAL) + .build(); + + assertThat(builtObject1, not(equalTo(builtObject2))); + assertThat(builtObject1.hashCode(), not(equalTo(builtObject2.hashCode()))); + } + + @Test + public void test_equalsAndHashCode_when_allValuesAreSame() { + Key key = Key.builder().partitionValue("key").build(); + GetItemEnhancedRequest builtObject1 = GetItemEnhancedRequest.builder() + .key(key) + .returnConsumedCapacity(ReturnConsumedCapacity.INDEXES) + .consistentRead(true) + .build(); + + GetItemEnhancedRequest builtObject2 = GetItemEnhancedRequest.builder() + .key(key) + .returnConsumedCapacity(ReturnConsumedCapacity.INDEXES) + .consistentRead(true) + .build(); + + assertThat(builtObject1, equalTo(builtObject2)); + assertThat(builtObject1.hashCode(), equalTo(builtObject2.hashCode())); + } + + + @Test + public void test_hashCode_includes_returnConsumedCapacity() { + GetItemEnhancedRequest emptyRequest = GetItemEnhancedRequest.builder().build(); + GetItemEnhancedRequest requestWithCC1 = GetItemEnhancedRequest.builder() + .returnConsumedCapacity(ReturnConsumedCapacity.INDEXES) + .build(); + GetItemEnhancedRequest requestWithCC2 = GetItemEnhancedRequest.builder() + .returnConsumedCapacity(ReturnConsumedCapacity.TOTAL) + .build(); + // Assert hashCode is different when returnConsumedCapacity is non-null, and all other fields are same + assertThat(emptyRequest.hashCode(), not(equalTo(requestWithCC1.hashCode()))); + + // Assert hashCode is different when returnConsumedCapacity is different, and all other fields are same + assertThat(requestWithCC1.hashCode(), not(equalTo(requestWithCC2.hashCode()))); + } + + + @Test + public void test_returnConsumedCapacity_unknownToSdkVersion() { + String newValue = UUID.randomUUID().toString(); + GetItemEnhancedRequest request = GetItemEnhancedRequest.builder().returnConsumedCapacity(newValue).build(); + + // Assert that string getter returns the same value + assertThat(request.returnConsumedCapacityAsString(), equalTo(newValue)); + + // Assert that new value resolves to correct enum value + assertThat(request.returnConsumedCapacity(), equalTo(ReturnConsumedCapacity.UNKNOWN_TO_SDK_VERSION)); + } + + @Test public void toBuilder() { Key key = Key.builder().partitionValue("key").build(); GetItemEnhancedRequest builtObject = GetItemEnhancedRequest.builder() .key(key) + .returnConsumedCapacity(ReturnConsumedCapacity.TOTAL) .build(); GetItemEnhancedRequest copiedObject = builtObject.toBuilder().build(); - assertThat(copiedObject, is(builtObject)); } - } diff --git a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/model/GetItemEnhancedResponseTest.java b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/model/GetItemEnhancedResponseTest.java new file mode 100644 index 000000000000..43ea3e969976 --- /dev/null +++ b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/model/GetItemEnhancedResponseTest.java @@ -0,0 +1,121 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +package software.amazon.awssdk.enhanced.dynamodb.model; + +import static org.hamcrest.CoreMatchers.equalTo; +import static org.hamcrest.CoreMatchers.not; +import static org.hamcrest.CoreMatchers.nullValue; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; +import static software.amazon.awssdk.enhanced.dynamodb.functionaltests.models.FakeItem.createUniqueFakeItem; + +import org.assertj.core.api.Assertions; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.junit.MockitoJUnitRunner; +import software.amazon.awssdk.enhanced.dynamodb.functionaltests.models.FakeItem; +import software.amazon.awssdk.services.dynamodb.model.ConsumedCapacity; + +@RunWith(MockitoJUnitRunner.class) +public class GetItemEnhancedResponseTest { + + @Test + public void builder_minimal() { + GetItemEnhancedResponse response = GetItemEnhancedResponse.builder().build(); + assertThat(response.attributes(), is(nullValue())); + assertThat(response.consumedCapacity(), is(nullValue())); + } + + @Test + public void builder_maximal() { + FakeItem item = createUniqueFakeItem(); + ConsumedCapacity consumedCapacity = ConsumedCapacity.builder() + .capacityUnits(10.0) + .build(); + GetItemEnhancedResponse response = GetItemEnhancedResponse.builder() + .attributes(item) + .consumedCapacity(consumedCapacity) + .build(); + + assertThat(response.attributes(), is(item)); + assertThat(response.consumedCapacity(), is(consumedCapacity)); + } + + @Test + public void equals_self() { + GetItemEnhancedResponse builtObject1 = GetItemEnhancedResponse.builder().build(); + assertThat(builtObject1, equalTo(builtObject1)); + + ConsumedCapacity consumedCapacity = ConsumedCapacity.builder() + .capacityUnits(10.0) + .build(); + GetItemEnhancedResponse builtObject2 = GetItemEnhancedResponse.builder() + .attributes(createUniqueFakeItem()) + .consumedCapacity(consumedCapacity) + .build(); + assertThat(builtObject2, equalTo(builtObject2)); + } + + @Test + public void equals_differentType() { + GetItemEnhancedResponse response = GetItemEnhancedResponse.builder().build(); + assertThat(response, not(equalTo(new Object()))); + } + + @Test + public void equals_attributesNotEqual() { + FakeItem fakeItem1 = createUniqueFakeItem(); + FakeItem fakeItem2 = createUniqueFakeItem(); + + GetItemEnhancedResponse builtObject1 = GetItemEnhancedResponse.builder() + .attributes(fakeItem1) + .build(); + GetItemEnhancedResponse builtObject2 = GetItemEnhancedResponse.builder() + .attributes(fakeItem2) + .build(); + + Assertions.assertThat(builtObject1).isNotEqualTo(builtObject2); + } + + @Test + public void hashCode_minimal() { + GetItemEnhancedResponse response = GetItemEnhancedResponse.builder().build(); + assertThat(response.hashCode(), equalTo(0)); + } + + @Test + public void hashCode_includesAttributes() { + GetItemEnhancedResponse builtObject1 = GetItemEnhancedResponse.builder().build(); + GetItemEnhancedResponse builtObject2 = GetItemEnhancedResponse.builder() + .attributes(createUniqueFakeItem()) + .build(); + + assertThat(builtObject1.hashCode(), not(equalTo(builtObject2.hashCode()))); + } + + @Test + public void hashCode_includesConsumedCapacity() { + GetItemEnhancedResponse builtObject1 = GetItemEnhancedResponse.builder().build(); + + ConsumedCapacity consumedCapacity = ConsumedCapacity.builder().capacityUnits(12.5).build(); + GetItemEnhancedResponse builtObject2 = GetItemEnhancedResponse.builder() + .consumedCapacity(consumedCapacity) + .build(); + + assertThat(builtObject1.hashCode(), not(equalTo(builtObject2.hashCode()))); + } + +} diff --git a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/model/ReadBatchTest.java b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/model/ReadBatchTest.java index b5c2c8265d19..2e9547b119d6 100644 --- a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/model/ReadBatchTest.java +++ b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/model/ReadBatchTest.java @@ -19,6 +19,7 @@ import static org.hamcrest.Matchers.containsInAnyOrder; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.nullValue; +import static org.junit.Assert.assertThrows; import static software.amazon.awssdk.enhanced.dynamodb.functionaltests.models.FakeItem.createUniqueFakeItem; import java.util.Collections; @@ -95,4 +96,13 @@ public void builder_maximal_builder_style() { assertThat(builtObject.keysAndAttributes().keys(), containsInAnyOrder(Collections.singletonList(fakeItemMap).toArray())); } + @Test + public void builder_missing_mapped_table_resource_error_message() { + FakeItem fakeItem = createUniqueFakeItem(); + + ReadBatch.Builder builder = ReadBatch.builder(FakeItem.class); + + NullPointerException exception = assertThrows(NullPointerException.class, () -> builder.addGetItem(fakeItem)); + assertThat(exception.getMessage(), is("A mappedTableResource (table) is required when building a ReadBatch")); + } } diff --git a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/model/WriteBatchTest.java b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/model/WriteBatchTest.java index 793d83eacddf..b3f49b03926e 100644 --- a/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/model/WriteBatchTest.java +++ b/services-custom/dynamodb-enhanced/src/test/java/software/amazon/awssdk/enhanced/dynamodb/model/WriteBatchTest.java @@ -19,16 +19,21 @@ import static org.hamcrest.Matchers.containsInAnyOrder; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.nullValue; +import static org.junit.Assert.assertThrows; import static software.amazon.awssdk.enhanced.dynamodb.functionaltests.models.FakeItem.createUniqueFakeItem; import java.util.Map; import org.junit.Before; +import org.junit.Rule; import org.junit.Test; +import org.junit.function.ThrowingRunnable; +import org.junit.rules.ExpectedException; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.junit.MockitoJUnitRunner; import software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedClient; import software.amazon.awssdk.enhanced.dynamodb.DynamoDbTable; +import software.amazon.awssdk.enhanced.dynamodb.Key; import software.amazon.awssdk.enhanced.dynamodb.functionaltests.models.FakeItem; import software.amazon.awssdk.services.dynamodb.DynamoDbClient; import software.amazon.awssdk.services.dynamodb.model.AttributeValue; @@ -100,6 +105,31 @@ public void builder_maximal_builder_style() { assertThat(builtObject.writeRequests(), containsInAnyOrder(putRequest(fakeItemMap), deleteRequest(fakeItemMap))); } + @Test + public void builder_missing_mapped_table_resource_error_message() { + FakeItem fakeItem = createUniqueFakeItem(); + PutItemEnhancedRequest putItemRequest = PutItemEnhancedRequest.builder(FakeItem.class).item(fakeItem).build(); + + Key partitionKey = Key.builder().partitionValue(fakeItem.getId()).build(); + DeleteItemEnhancedRequest deleteItemRequest = DeleteItemEnhancedRequest.builder() + .key(partitionKey) + .build(); + + WriteBatch.Builder builder = WriteBatch.builder(FakeItem.class); + + assertThrowsMappedTableResourceNullException(() -> builder.addPutItem(putItemRequest)); + assertThrowsMappedTableResourceNullException(() -> builder.addPutItem(fakeItem)); + assertThrowsMappedTableResourceNullException(() -> builder.addPutItem(r -> r.item(fakeItem))); + assertThrowsMappedTableResourceNullException(() -> builder.addDeleteItem(deleteItemRequest)); + assertThrowsMappedTableResourceNullException(() -> builder.addDeleteItem(fakeItem)); + assertThrowsMappedTableResourceNullException(() -> builder.addDeleteItem(r -> r.key(partitionKey))); + } + + private static void assertThrowsMappedTableResourceNullException(ThrowingRunnable runnable) { + NullPointerException exception = assertThrows(NullPointerException.class, runnable); + assertThat(exception.getMessage(), is("A mappedTableResource (table) is required when building a WriteBatch")); + } + private static WriteRequest putRequest(Map itemMap) { return WriteRequest.builder().putRequest(PutRequest.builder().item(itemMap).build()).build(); } diff --git a/services-custom/iam-policy-builder/pom.xml b/services-custom/iam-policy-builder/pom.xml index 41088e47f0b2..3ce559d005c9 100644 --- a/services-custom/iam-policy-builder/pom.xml +++ b/services-custom/iam-policy-builder/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk aws-sdk-java-pom - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ../../pom.xml iam-policy-builder @@ -113,6 +113,11 @@ equalsverifier test + + net.bytebuddy + byte-buddy + test + diff --git a/services-custom/iam-policy-builder/src/main/java/software/amazon/awssdk/policybuilder/iam/internal/DefaultIamPolicyReader.java b/services-custom/iam-policy-builder/src/main/java/software/amazon/awssdk/policybuilder/iam/internal/DefaultIamPolicyReader.java index aafdeaeffd4c..51f217ad7dfb 100644 --- a/services-custom/iam-policy-builder/src/main/java/software/amazon/awssdk/policybuilder/iam/internal/DefaultIamPolicyReader.java +++ b/services-custom/iam-policy-builder/src/main/java/software/amazon/awssdk/policybuilder/iam/internal/DefaultIamPolicyReader.java @@ -111,10 +111,10 @@ private IamStatement readStatement(Map statementObject) { .effect(getString(statementObject, "Effect")) .principals(readPrincipals(statementObject, "Principal")) .notPrincipals(readPrincipals(statementObject, "NotPrincipal")) - .actionIds(readStringArray(statementObject, "Action")) - .notActionIds(readStringArray(statementObject, "NotAction")) - .resourceIds(readStringArray(statementObject, "Resource")) - .notResourceIds(readStringArray(statementObject, "NotResource")) + .actionIds(readStringOrArrayAsList(statementObject, "Action")) + .notActionIds(readStringOrArrayAsList(statementObject, "NotAction")) + .resourceIds(readStringOrArrayAsList(statementObject, "Resource")) + .notResourceIds(readStringOrArrayAsList(statementObject, "NotResource")) .conditions(readConditions(statementObject.get("Condition"))) .build(); } @@ -132,9 +132,10 @@ private List readPrincipals(Map statementObject, if (principalsNode.isObject()) { List result = new ArrayList<>(); - principalsNode.asObject().forEach((id, value) -> { - result.add(IamPrincipal.create(id, expectString(value, name + " entry value"))); - }); + Map principalsNodeObject = principalsNode.asObject(); + principalsNodeObject.keySet().forEach( + k -> result.addAll(IamPrincipal.createAll(k, readStringOrArrayAsList(principalsNodeObject, k))) + ); return result; } @@ -170,7 +171,7 @@ private List readConditions(JsonNode conditionNode) { return result; } - private List readStringArray(Map statementObject, String nodeKey) { + private List readStringOrArrayAsList(Map statementObject, String nodeKey) { JsonNode node = statementObject.get(nodeKey); if (node == null) { diff --git a/services-custom/iam-policy-builder/src/test/java/software/amazon/awssdk/policybuilder/iam/IamPolicyReaderTest.java b/services-custom/iam-policy-builder/src/test/java/software/amazon/awssdk/policybuilder/iam/IamPolicyReaderTest.java index 89112452d641..27ff0cd3544a 100644 --- a/services-custom/iam-policy-builder/src/test/java/software/amazon/awssdk/policybuilder/iam/IamPolicyReaderTest.java +++ b/services-custom/iam-policy-builder/src/test/java/software/amazon/awssdk/policybuilder/iam/IamPolicyReaderTest.java @@ -24,8 +24,10 @@ class IamPolicyReaderTest { private static final IamPrincipal PRINCIPAL_1 = IamPrincipal.create("P1", "*"); + private static final IamPrincipal PRINCIPAL_1B = IamPrincipal.create("P1", "B"); private static final IamPrincipal PRINCIPAL_2 = IamPrincipal.create("P2", "*"); private static final IamPrincipal NOT_PRINCIPAL_1 = IamPrincipal.create("NP1", "*"); + private static final IamPrincipal NOT_PRINCIPAL_1B = IamPrincipal.create("NP1", "B"); private static final IamPrincipal NOT_PRINCIPAL_2 = IamPrincipal.create("NP2", "*"); private static final IamResource RESOURCE_1 = IamResource.create("R1"); private static final IamResource RESOURCE_2 = IamResource.create("R2"); @@ -87,6 +89,20 @@ class IamPolicyReaderTest { .statements(singletonList(ONE_ELEMENT_LISTS_STATEMENT)) .build(); + private static final IamStatement COMPOUND_PRINCIPAL_STATEMENT = + IamStatement.builder() + .effect(ALLOW) + .sid("Sid") + .principals(asList(PRINCIPAL_1, PRINCIPAL_1B)) + .notPrincipals(asList(NOT_PRINCIPAL_1, NOT_PRINCIPAL_1B)) + .build(); + + private static final IamPolicy COMPOUND_PRINCIPAL_POLICY = + IamPolicy.builder() + .version("Version") + .statements(singletonList(COMPOUND_PRINCIPAL_STATEMENT)) + .build(); + private static final IamPolicyReader READER = IamPolicyReader.create(); @Test @@ -158,6 +174,31 @@ public void readMinimalPolicyWorks() { .isEqualTo(MINIMAL_POLICY); } + @Test + public void readCompoundPrincipalsWorks() { + assertThat(READER.read("{\n" + + " \"Version\": \"Version\",\n" + + " \"Statement\": [\n" + + " {\n" + + " \"Sid\": \"Sid\",\n" + + " \"Effect\": \"Allow\",\n" + + " \"Principal\": {\n" + + " \"P1\": [\n" + + " \"*\",\n" + + " \"B\"\n" + + " ]\n" + + " },\n" + + " \"NotPrincipal\": {\n" + + " \"NP1\": [\n" + + " \"*\",\n" + + " \"B\"\n" + + " ]\n" + + " }\n" + + " }\n" + + " ]\n" + + "}")).isEqualTo(COMPOUND_PRINCIPAL_POLICY); + } + @Test public void singleElementListsAreSupported() { assertThat(READER.read("{\n" diff --git a/services-custom/pom.xml b/services-custom/pom.xml index fdf097dc855e..15b7f7c575df 100644 --- a/services-custom/pom.xml +++ b/services-custom/pom.xml @@ -19,7 +19,7 @@ software.amazon.awssdk aws-sdk-java-pom - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT services-custom AWS Java SDK :: Custom Services diff --git a/services-custom/s3-transfer-manager/pom.xml b/services-custom/s3-transfer-manager/pom.xml index 6c1728ecd178..b7b82c00dc3f 100644 --- a/services-custom/s3-transfer-manager/pom.xml +++ b/services-custom/s3-transfer-manager/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk aws-sdk-java-pom - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ../../pom.xml s3-transfer-manager @@ -206,12 +206,22 @@ equalsverifier test + + net.bytebuddy + byte-buddy + test + commons-codec commons-codec ${commons-codec.verion} test + + wiremock-jre8 + com.github.tomakehurst + test + diff --git a/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/CaptureTransferListener.java b/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/CaptureTransferListener.java new file mode 100644 index 000000000000..ae26096efe9a --- /dev/null +++ b/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/CaptureTransferListener.java @@ -0,0 +1,75 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +package software.amazon.awssdk.transfer.s3; + +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.CompletableFuture; +import software.amazon.awssdk.transfer.s3.progress.TransferListener; + +public class CaptureTransferListener implements TransferListener { + public Boolean isTransferInitiated() { + return transferInitiated; + } + + public Boolean isTransferComplete() { + return transferComplete; + } + + public List getRatioTransferredList() { + return ratioTransferredList; + } + + public CompletableFuture getCompletionFuture() { + return completionFuture; + } + + public Throwable getExceptionCaught() { + return exceptionCaught; + } + + private Boolean transferInitiated = false; + private Boolean transferComplete = false; + CompletableFuture completionFuture = new CompletableFuture<>(); + + private List ratioTransferredList = new ArrayList<>(); + private Throwable exceptionCaught; + + @Override + public void transferInitiated(Context.TransferInitiated context) { + transferInitiated = true; + context.progressSnapshot().ratioTransferred().ifPresent(ratioTransferredList::add); + + } + + @Override + public void bytesTransferred(Context.BytesTransferred context) { + context.progressSnapshot().ratioTransferred().ifPresent(ratioTransferredList::add); + } + + @Override + public void transferComplete(Context.TransferComplete context) { + context.progressSnapshot().ratioTransferred().ifPresent(ratioTransferredList::add); + transferComplete = true; + completionFuture.complete(null); + } + + @Override + public void transferFailed(Context.TransferFailed context) { + exceptionCaught = context.exception(); + completionFuture.completeExceptionally(exceptionCaught); + } +} diff --git a/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3IntegrationTestBase.java b/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3IntegrationTestBase.java index 94aaaf03b6dc..98f81b731014 100644 --- a/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3IntegrationTestBase.java +++ b/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3IntegrationTestBase.java @@ -56,7 +56,8 @@ public class S3IntegrationTestBase extends AwsTestBase { protected static S3AsyncClient s3CrtAsync; - protected static S3TransferManager tm; + protected static S3TransferManager tmCrt; + protected static S3TransferManager tmJava; /** * Loads the AWS account info for the integration tests and creates an S3 @@ -72,9 +73,13 @@ public static void setUpForAllIntegTests() throws Exception { .credentialsProvider(CREDENTIALS_PROVIDER_CHAIN) .region(DEFAULT_REGION) .build(); - tm = S3TransferManager.builder() + tmCrt = S3TransferManager.builder() .s3Client(s3CrtAsync) .build(); + tmJava = S3TransferManager.builder() + .s3Client(s3Async) + .build(); + } @AfterAll @@ -82,7 +87,7 @@ public static void cleanUpForAllIntegTests() { s3.close(); s3Async.close(); s3CrtAsync.close(); - tm.close(); + tmCrt.close(); CrtResource.waitForNoResources(); } diff --git a/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3TransferManagerCopyIntegrationTest.java b/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3TransferManagerCopyIntegrationTest.java index 30a9ef78e296..fdb0439a590a 100644 --- a/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3TransferManagerCopyIntegrationTest.java +++ b/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3TransferManagerCopyIntegrationTest.java @@ -73,7 +73,7 @@ private void createOriginalObject(byte[] originalContent, String originalKey) { } private void copyObject(String original, String destination) { - Copy copy = tm.copy(c -> c + Copy copy = tmCrt.copy(c -> c .copyObjectRequest(r -> r .sourceBucket(BUCKET) .sourceKey(original) diff --git a/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3TransferManagerDownloadDirectoryIntegrationTest.java b/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3TransferManagerDownloadDirectoryIntegrationTest.java index 28fa6cd24beb..14eaf72cbe92 100644 --- a/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3TransferManagerDownloadDirectoryIntegrationTest.java +++ b/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3TransferManagerDownloadDirectoryIntegrationTest.java @@ -58,12 +58,12 @@ public static void setUp() throws Exception { createBucket(TEST_BUCKET_CUSTOM_DELIMITER); sourceDirectory = createLocalTestDirectory(); - tm.uploadDirectory(u -> u.source(sourceDirectory).bucket(TEST_BUCKET)).completionFuture().join(); + tmCrt.uploadDirectory(u -> u.source(sourceDirectory).bucket(TEST_BUCKET)).completionFuture().join(); - tm.uploadDirectory(u -> u.source(sourceDirectory) - .s3Delimiter(CUSTOM_DELIMITER) - .bucket(TEST_BUCKET_CUSTOM_DELIMITER)) - .completionFuture().join(); + tmCrt.uploadDirectory(u -> u.source(sourceDirectory) + .s3Delimiter(CUSTOM_DELIMITER) + .bucket(TEST_BUCKET_CUSTOM_DELIMITER)) + .completionFuture().join(); } @BeforeEach @@ -96,7 +96,7 @@ public static void teardown() { log.warn(() -> "Failed to delete s3 bucket " + TEST_BUCKET_CUSTOM_DELIMITER, exception); } - closeQuietly(tm, log.logger()); + closeQuietly(tmCrt, log.logger()); } /** @@ -118,8 +118,8 @@ public static void teardown() { */ @Test public void downloadDirectory() throws Exception { - DirectoryDownload downloadDirectory = tm.downloadDirectory(u -> u.destination(directory) - .bucket(TEST_BUCKET)); + DirectoryDownload downloadDirectory = tmCrt.downloadDirectory(u -> u.destination(directory) + .bucket(TEST_BUCKET)); CompletedDirectoryDownload completedDirectoryDownload = downloadDirectory.completionFuture().get(5, TimeUnit.SECONDS); assertThat(completedDirectoryDownload.failedTransfers()).isEmpty(); assertTwoDirectoriesHaveSameStructure(sourceDirectory, directory); @@ -128,9 +128,9 @@ public void downloadDirectory() throws Exception { @ParameterizedTest @ValueSource(strings = {"notes/2021", "notes/2021/"}) void downloadDirectory_withPrefix(String prefix) throws Exception { - DirectoryDownload downloadDirectory = tm.downloadDirectory(u -> u.destination(directory) - .listObjectsV2RequestTransformer(r -> r.prefix(prefix)) - .bucket(TEST_BUCKET)); + DirectoryDownload downloadDirectory = tmCrt.downloadDirectory(u -> u.destination(directory) + .listObjectsV2RequestTransformer(r -> r.prefix(prefix)) + .bucket(TEST_BUCKET)); CompletedDirectoryDownload completedDirectoryDownload = downloadDirectory.completionFuture().get(5, TimeUnit.SECONDS); assertThat(completedDirectoryDownload.failedTransfers()).isEmpty(); @@ -155,9 +155,9 @@ void downloadDirectory_withPrefix(String prefix) throws Exception { @Test void downloadDirectory_containsObjectWithPrefixInTheKey_shouldResolveCorrectly() throws Exception { String prefix = "notes"; - DirectoryDownload downloadDirectory = tm.downloadDirectory(u -> u.destination(directory) - .listObjectsV2RequestTransformer(r -> r.prefix(prefix)) - .bucket(TEST_BUCKET)); + DirectoryDownload downloadDirectory = tmCrt.downloadDirectory(u -> u.destination(directory) + .listObjectsV2RequestTransformer(r -> r.prefix(prefix)) + .bucket(TEST_BUCKET)); CompletedDirectoryDownload completedDirectoryDownload = downloadDirectory.completionFuture().get(5, TimeUnit.SECONDS); assertThat(completedDirectoryDownload.failedTransfers()).isEmpty(); @@ -186,10 +186,10 @@ void downloadDirectory_containsObjectWithPrefixInTheKey_shouldResolveCorrectly() public void downloadDirectory_withPrefixAndDelimiter() throws Exception { String prefix = "notes-2021"; DirectoryDownload downloadDirectory = - tm.downloadDirectory(u -> u.destination(directory) - .listObjectsV2RequestTransformer(r -> r.delimiter(CUSTOM_DELIMITER) + tmCrt.downloadDirectory(u -> u.destination(directory) + .listObjectsV2RequestTransformer(r -> r.delimiter(CUSTOM_DELIMITER) .prefix(prefix)) - .bucket(TEST_BUCKET_CUSTOM_DELIMITER)); + .bucket(TEST_BUCKET_CUSTOM_DELIMITER)); CompletedDirectoryDownload completedDirectoryDownload = downloadDirectory.completionFuture().get(5, TimeUnit.SECONDS); assertThat(completedDirectoryDownload.failedTransfers()).isEmpty(); assertTwoDirectoriesHaveSameStructure(sourceDirectory.resolve("notes").resolve("2021"), directory); @@ -208,7 +208,7 @@ public void downloadDirectory_withPrefixAndDelimiter() throws Exception { */ @Test public void downloadDirectory_withFilter() throws Exception { - DirectoryDownload downloadDirectory = tm.downloadDirectory(u -> u + DirectoryDownload downloadDirectory = tmCrt.downloadDirectory(u -> u .destination(directory) .bucket(TEST_BUCKET) .filter(s3Object -> s3Object.key().startsWith("notes/2021/2"))); diff --git a/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3TransferManagerDownloadIntegrationTest.java b/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3TransferManagerDownloadIntegrationTest.java index 38a9aa75c372..0aa4d5484131 100644 --- a/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3TransferManagerDownloadIntegrationTest.java +++ b/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3TransferManagerDownloadIntegrationTest.java @@ -70,7 +70,7 @@ public static void cleanup() { void download_toFile() throws Exception { Path path = RandomTempFile.randomUncreatedFile().toPath(); FileDownload download = - tm.downloadFile(DownloadFileRequest.builder() + tmCrt.downloadFile(DownloadFileRequest.builder() .getObjectRequest(b -> b.bucket(BUCKET).key(KEY)) .destination(path) .addTransferListener(LoggingTransferListener.create()) @@ -86,11 +86,11 @@ void download_toFile_shouldReplaceExisting() throws IOException { Files.write(path, RandomStringUtils.random(1024).getBytes(StandardCharsets.UTF_8)); assertThat(path).exists(); FileDownload download = - tm.downloadFile(DownloadFileRequest.builder() - .getObjectRequest(b -> b.bucket(BUCKET).key(KEY)) - .destination(path) - .addTransferListener(LoggingTransferListener.create()) - .build()); + tmCrt.downloadFile(DownloadFileRequest.builder() + .getObjectRequest(b -> b.bucket(BUCKET).key(KEY)) + .destination(path) + .addTransferListener(LoggingTransferListener.create()) + .build()); CompletedFileDownload completedFileDownload = download.completionFuture().join(); assertThat(Md5Utils.md5AsBase64(path.toFile())).isEqualTo(Md5Utils.md5AsBase64(file)); assertThat(completedFileDownload.response().responseMetadata().requestId()).isNotNull(); @@ -99,11 +99,11 @@ void download_toFile_shouldReplaceExisting() throws IOException { @Test void download_toBytes() throws Exception { Download> download = - tm.download(DownloadRequest.builder() - .getObjectRequest(b -> b.bucket(BUCKET).key(KEY)) - .responseTransformer(AsyncResponseTransformer.toBytes()) - .addTransferListener(LoggingTransferListener.create()) - .build()); + tmCrt.download(DownloadRequest.builder() + .getObjectRequest(b -> b.bucket(BUCKET).key(KEY)) + .responseTransformer(AsyncResponseTransformer.toBytes()) + .addTransferListener(LoggingTransferListener.create()) + .build()); CompletedDownload> completedDownload = download.completionFuture().join(); ResponseBytes result = completedDownload.result(); assertThat(Md5Utils.md5AsBase64(result.asByteArray())).isEqualTo(Md5Utils.md5AsBase64(file)); @@ -113,11 +113,11 @@ void download_toBytes() throws Exception { @Test void download_toPublisher() throws Exception { Download> download = - tm.download(DownloadRequest.builder() - .getObjectRequest(b -> b.bucket(BUCKET).key(KEY)) - .responseTransformer(AsyncResponseTransformer.toPublisher()) - .addTransferListener(LoggingTransferListener.create()) - .build()); + tmCrt.download(DownloadRequest.builder() + .getObjectRequest(b -> b.bucket(BUCKET).key(KEY)) + .responseTransformer(AsyncResponseTransformer.toPublisher()) + .addTransferListener(LoggingTransferListener.create()) + .build()); CompletedDownload> completedDownload = download.completionFuture().join(); ResponsePublisher responsePublisher = completedDownload.result(); ByteBuffer buf = ByteBuffer.allocate(Math.toIntExact(responsePublisher.response().contentLength())); diff --git a/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3TransferManagerDownloadPauseResumeIntegrationTest.java b/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3TransferManagerDownloadPauseResumeIntegrationTest.java index 4349aafc0fd6..ec39139a7a50 100644 --- a/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3TransferManagerDownloadPauseResumeIntegrationTest.java +++ b/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3TransferManagerDownloadPauseResumeIntegrationTest.java @@ -34,7 +34,6 @@ import software.amazon.awssdk.core.sync.RequestBody; import software.amazon.awssdk.core.waiters.Waiter; import software.amazon.awssdk.core.waiters.WaiterAcceptor; -import software.amazon.awssdk.services.s3.S3AsyncClient; import software.amazon.awssdk.services.s3.model.GetObjectResponse; import software.amazon.awssdk.services.s3.model.PutObjectRequest; import software.amazon.awssdk.testutils.RandomTempFile; @@ -78,7 +77,7 @@ void pauseAndResume_ObjectNotChanged_shouldResumeDownload() { .destination(path) .addTransferListener(testDownloadListener) .build(); - FileDownload download = tm.downloadFile(request); + FileDownload download = tmCrt.downloadFile(request); waitUntilFirstByteBufferDelivered(download); ResumableFileDownload resumableFileDownload = download.pause(); @@ -105,7 +104,7 @@ void pauseAndResume_objectChanged_shouldStartFromBeginning() { .getObjectRequest(b -> b.bucket(BUCKET).key(KEY)) .destination(path) .build(); - FileDownload download = tm.downloadFile(request); + FileDownload download = tmCrt.downloadFile(request); waitUntilFirstByteBufferDelivered(download); ResumableFileDownload resumableFileDownload = download.pause(); @@ -119,7 +118,7 @@ void pauseAndResume_objectChanged_shouldStartFromBeginning() { .build(), RequestBody.fromString(newObject)); log.debug(() -> "Resuming download "); - FileDownload resumedFileDownload = tm.resumeDownloadFile(resumableFileDownload); + FileDownload resumedFileDownload = tmCrt.resumeDownloadFile(resumableFileDownload); resumedFileDownload.progress().snapshot(); resumedFileDownload.completionFuture().join(); assertThat(path.toFile()).hasContent(newObject); @@ -139,7 +138,7 @@ void pauseAndResume_fileChanged_shouldStartFromBeginning() throws Exception { .getObjectRequest(b -> b.bucket(BUCKET).key(KEY)) .destination(path) .build(); - FileDownload download = tm.downloadFile(request); + FileDownload download = tmCrt.downloadFile(request); waitUntilFirstByteBufferDelivered(download); ResumableFileDownload resumableFileDownload = download.pause(); @@ -149,7 +148,7 @@ void pauseAndResume_fileChanged_shouldStartFromBeginning() throws Exception { } private static void verifyFileDownload(Path path, ResumableFileDownload resumableFileDownload, long expectedBytesTransferred) { - FileDownload resumedFileDownload = tm.resumeDownloadFile(resumableFileDownload); + FileDownload resumedFileDownload = tmCrt.resumeDownloadFile(resumableFileDownload); resumedFileDownload.completionFuture().join(); assertThat(resumedFileDownload.progress().snapshot().totalBytes()).hasValue(expectedBytesTransferred); assertThat(path.toFile()).hasSameBinaryContentAs(sourceFile); diff --git a/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3TransferManagerUploadDirectoryIntegrationTest.java b/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3TransferManagerUploadDirectoryIntegrationTest.java index 5c39876a38bf..cfd8155853b9 100644 --- a/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3TransferManagerUploadDirectoryIntegrationTest.java +++ b/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3TransferManagerUploadDirectoryIntegrationTest.java @@ -80,9 +80,9 @@ public static void teardown() { @Test void uploadDirectory_filesSentCorrectly() { String prefix = "yolo"; - DirectoryUpload uploadDirectory = tm.uploadDirectory(u -> u.source(directory) - .bucket(TEST_BUCKET) - .s3Prefix(prefix)); + DirectoryUpload uploadDirectory = tmCrt.uploadDirectory(u -> u.source(directory) + .bucket(TEST_BUCKET) + .s3Prefix(prefix)); CompletedDirectoryUpload completedDirectoryUpload = uploadDirectory.completionFuture().join(); assertThat(completedDirectoryUpload.failedTransfers()).isEmpty(); @@ -98,9 +98,9 @@ void uploadDirectory_filesSentCorrectly() { @Test void uploadDirectory_nonExistsBucket_shouldAddFailedRequest() { String prefix = "yolo"; - DirectoryUpload uploadDirectory = tm.uploadDirectory(u -> u.source(directory) - .bucket("nonExistingTestBucket" + UUID.randomUUID()) - .s3Prefix(prefix)); + DirectoryUpload uploadDirectory = tmCrt.uploadDirectory(u -> u.source(directory) + .bucket("nonExistingTestBucket" + UUID.randomUUID()) + .s3Prefix(prefix)); CompletedDirectoryUpload completedDirectoryUpload = uploadDirectory.completionFuture().join(); assertThat(completedDirectoryUpload.failedTransfers()).hasSize(3).allSatisfy(f -> assertThat(f.exception()).isInstanceOf(NoSuchBucketException.class)); @@ -110,10 +110,10 @@ void uploadDirectory_nonExistsBucket_shouldAddFailedRequest() { void uploadDirectory_withDelimiter_filesSentCorrectly() { String prefix = "hello"; String delimiter = "0"; - DirectoryUpload uploadDirectory = tm.uploadDirectory(u -> u.source(directory) - .bucket(TEST_BUCKET) - .s3Delimiter(delimiter) - .s3Prefix(prefix)); + DirectoryUpload uploadDirectory = tmCrt.uploadDirectory(u -> u.source(directory) + .bucket(TEST_BUCKET) + .s3Delimiter(delimiter) + .s3Prefix(prefix)); CompletedDirectoryUpload completedDirectoryUpload = uploadDirectory.completionFuture().join(); assertThat(completedDirectoryUpload.failedTransfers()).isEmpty(); @@ -134,12 +134,12 @@ void uploadDirectory_withRequestTransformer_usesRequestTransformer() throws Exce Path newSourceForEachUpload = Paths.get(directory.toString(), "bar.txt"); CompletedDirectoryUpload result = - tm.uploadDirectory(r -> r.source(directory) - .bucket(TEST_BUCKET) - .s3Prefix(prefix) - .uploadFileRequestTransformer(f -> f.source(newSourceForEachUpload))) - .completionFuture() - .get(10, TimeUnit.SECONDS); + tmCrt.uploadDirectory(r -> r.source(directory) + .bucket(TEST_BUCKET) + .s3Prefix(prefix) + .uploadFileRequestTransformer(f -> f.source(newSourceForEachUpload))) + .completionFuture() + .get(10, TimeUnit.SECONDS); assertThat(result.failedTransfers()).isEmpty(); s3.listObjectsV2Paginator(b -> b.bucket(TEST_BUCKET).prefix(prefix)).contents().forEach(object -> { @@ -179,8 +179,8 @@ void uploadDirectory_fileNameWithUnicode_traversedCorrectly(String directoryPref testDirectory = createLocalTestDirectory(directoryPrefix); Path finalTestDirectory = testDirectory; - DirectoryUpload uploadDirectory = tm.uploadDirectory(u -> u.source(finalTestDirectory) - .bucket(TEST_BUCKET)); + DirectoryUpload uploadDirectory = tmCrt.uploadDirectory(u -> u.source(finalTestDirectory) + .bucket(TEST_BUCKET)); CompletedDirectoryUpload completedDirectoryUpload = uploadDirectory.completionFuture().join(); assertThat(completedDirectoryUpload.failedTransfers()).isEmpty(); diff --git a/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3TransferManagerUploadIntegrationTest.java b/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3TransferManagerUploadIntegrationTest.java index a1211b2f9f0b..2966a2bff8a1 100644 --- a/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3TransferManagerUploadIntegrationTest.java +++ b/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3TransferManagerUploadIntegrationTest.java @@ -24,11 +24,16 @@ import java.util.HashMap; import java.util.Map; import java.util.UUID; +import java.util.concurrent.CancellationException; +import java.util.stream.Stream; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; import software.amazon.awssdk.core.ResponseInputStream; import software.amazon.awssdk.core.async.AsyncRequestBody; +import software.amazon.awssdk.core.internal.async.FileAsyncRequestBody; import software.amazon.awssdk.core.sync.ResponseTransformer; import software.amazon.awssdk.services.s3.model.ChecksumAlgorithm; import software.amazon.awssdk.services.s3.model.GetObjectResponse; @@ -61,15 +66,24 @@ public static void teardown() throws IOException { deleteBucketAndAllContents(TEST_BUCKET); } - @Test - void upload_file_SentCorrectly() throws IOException { + private static Stream transferManagers() { + return Stream.of( + Arguments.of(tmCrt), + Arguments.of(tmJava)); + } + + @ParameterizedTest + @MethodSource("transferManagers") + void upload_file_SentCorrectly(S3TransferManager transferManager) throws IOException { Map metadata = new HashMap<>(); - metadata.put("x-amz-meta-foobar", "FOO BAR"); + CaptureTransferListener transferListener = new CaptureTransferListener(); + metadata.put("x-amz-meta-foobar", "FOO BAR"); FileUpload fileUpload = - tm.uploadFile(u -> u.putObjectRequest(p -> p.bucket(TEST_BUCKET).key(TEST_KEY).metadata(metadata).checksumAlgorithm(ChecksumAlgorithm.CRC32)) - .source(testFile.toPath()) - .addTransferListener(LoggingTransferListener.create()) - .build()); + transferManager.uploadFile(u -> u.putObjectRequest(p -> p.bucket(TEST_BUCKET).key(TEST_KEY).metadata(metadata).checksumAlgorithm(ChecksumAlgorithm.CRC32)) + .source(testFile.toPath()) + .addTransferListener(LoggingTransferListener.create()) + .addTransferListener(transferListener) + .build()); CompletedFileUpload completedFileUpload = fileUpload.completionFuture().join(); assertThat(completedFileUpload.response().responseMetadata().requestId()).isNotNull(); @@ -83,18 +97,31 @@ void upload_file_SentCorrectly() throws IOException { assertThat(obj.response().responseMetadata().requestId()).isNotNull(); assertThat(obj.response().metadata()).containsEntry("foobar", "FOO BAR"); assertThat(fileUpload.progress().snapshot().sdkResponse()).isPresent(); + assertListenerForSuccessfulTransferComplete(transferListener); + } + + private static void assertListenerForSuccessfulTransferComplete(CaptureTransferListener transferListener) { + assertThat(transferListener.isTransferInitiated()).isTrue(); + assertThat(transferListener.isTransferComplete()).isTrue(); + assertThat(transferListener.getRatioTransferredList()).isNotEmpty(); + assertThat(transferListener.getRatioTransferredList().contains(0.0)); + assertThat(transferListener.getRatioTransferredList().contains(100.0)); + assertThat(transferListener.getExceptionCaught()).isNull(); } - @Test - void upload_asyncRequestBody_SentCorrectly() throws IOException { + @ParameterizedTest + @MethodSource("transferManagers") + void upload_asyncRequestBodyFromString_SentCorrectly(S3TransferManager transferManager) throws IOException { String content = UUID.randomUUID().toString(); + CaptureTransferListener transferListener = new CaptureTransferListener(); Upload upload = - tm.upload(UploadRequest.builder() - .putObjectRequest(b -> b.bucket(TEST_BUCKET).key(TEST_KEY)) - .requestBody(AsyncRequestBody.fromString(content)) - .addTransferListener(LoggingTransferListener.create()) - .build()); + transferManager.upload(UploadRequest.builder() + .putObjectRequest(b -> b.bucket(TEST_BUCKET).key(TEST_KEY)) + .requestBody(AsyncRequestBody.fromString(content)) + .addTransferListener(LoggingTransferListener.create()) + .addTransferListener(transferListener) + .build()); CompletedUpload completedUpload = upload.completionFuture().join(); assertThat(completedUpload.response().responseMetadata().requestId()).isNotNull(); @@ -107,5 +134,57 @@ void upload_asyncRequestBody_SentCorrectly() throws IOException { .isEqualTo(ChecksumUtils.computeCheckSum(obj)); assertThat(obj.response().responseMetadata().requestId()).isNotNull(); assertThat(upload.progress().snapshot().sdkResponse()).isPresent(); + assertListenerForSuccessfulTransferComplete(transferListener); + + } + + @ParameterizedTest + @MethodSource("transferManagers") + void upload_asyncRequestBodyFromFile_SentCorrectly(S3TransferManager transferManager) throws IOException { + CaptureTransferListener transferListener = new CaptureTransferListener(); + + Upload upload = + transferManager.upload(UploadRequest.builder() + .putObjectRequest(b -> b.bucket(TEST_BUCKET).key(TEST_KEY)) + .requestBody(FileAsyncRequestBody.builder().chunkSizeInBytes(1024).path(testFile.toPath()).build()) + .addTransferListener(LoggingTransferListener.create()) + .addTransferListener(transferListener) + .build()); + + CompletedUpload completedUpload = upload.completionFuture().join(); + assertThat(completedUpload.response().responseMetadata().requestId()).isNotNull(); + assertThat(completedUpload.response().sdkHttpResponse()).isNotNull(); + + ResponseInputStream obj = s3.getObject(r -> r.bucket(TEST_BUCKET).key(TEST_KEY), + ResponseTransformer.toInputStream()); + + assertThat(ChecksumUtils.computeCheckSum(Files.newInputStream(testFile.toPath()))) + .isEqualTo(ChecksumUtils.computeCheckSum(obj)); + assertThat(obj.response().responseMetadata().requestId()).isNotNull(); + assertThat(upload.progress().snapshot().sdkResponse()).isPresent(); + assertListenerForSuccessfulTransferComplete(transferListener); + + } + + + @ParameterizedTest + @MethodSource("transferManagers") + void upload_file_Interupted_CancelsTheListener(S3TransferManager transferManager) throws IOException, InterruptedException { + Map metadata = new HashMap<>(); + CaptureTransferListener transferListener = new CaptureTransferListener(); + metadata.put("x-amz-meta-foobar", "FOO BAR"); + FileUpload fileUpload = + transferManager.uploadFile(u -> u.putObjectRequest(p -> p.bucket(TEST_BUCKET).key(TEST_KEY).metadata(metadata).checksumAlgorithm(ChecksumAlgorithm.CRC32)) + .source(testFile.toPath()) + .addTransferListener(LoggingTransferListener.create()) + .addTransferListener(transferListener) + .build()); + + fileUpload.completionFuture().cancel(true); + assertThat(transferListener.isTransferInitiated()).isTrue(); + assertThat(transferListener.isTransferComplete()).isFalse(); + assertThat(transferListener.getExceptionCaught()).isInstanceOf(CancellationException.class); + assertThat(transferListener.getRatioTransferredList().get(transferListener.getRatioTransferredList().size() - 1)) + .isNotEqualTo(100.0); } } diff --git a/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3TransferManagerUploadPauseResumeIntegrationTest.java b/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3TransferManagerUploadPauseResumeIntegrationTest.java index b6afca397565..23705c6bc5bf 100644 --- a/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3TransferManagerUploadPauseResumeIntegrationTest.java +++ b/services-custom/s3-transfer-manager/src/it/java/software/amazon/awssdk/transfer/s3/S3TransferManagerUploadPauseResumeIntegrationTest.java @@ -24,7 +24,6 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.time.Duration; -import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import org.junit.jupiter.api.AfterAll; @@ -76,13 +75,13 @@ void pause_singlePart_shouldResume() { .putObjectRequest(b -> b.bucket(BUCKET).key(KEY)) .source(smallFile) .build(); - FileUpload fileUpload = tm.uploadFile(request); + FileUpload fileUpload = tmCrt.uploadFile(request); ResumableFileUpload resumableFileUpload = fileUpload.pause(); log.debug(() -> "Paused: " + resumableFileUpload); validateEmptyResumeToken(resumableFileUpload); - FileUpload resumedUpload = tm.resumeUploadFile(resumableFileUpload); + FileUpload resumedUpload = tmCrt.resumeUploadFile(resumableFileUpload); resumedUpload.completionFuture().join(); } @@ -93,7 +92,7 @@ void pause_fileNotChanged_shouldResume() { .addTransferListener(LoggingTransferListener.create()) .source(largeFile) .build(); - FileUpload fileUpload = tm.uploadFile(request); + FileUpload fileUpload = tmCrt.uploadFile(request); waitUntilMultipartUploadExists(); ResumableFileUpload resumableFileUpload = fileUpload.pause(); log.debug(() -> "Paused: " + resumableFileUpload); @@ -104,7 +103,7 @@ void pause_fileNotChanged_shouldResume() { verifyMultipartUploadIdExists(resumableFileUpload); - FileUpload resumedUpload = tm.resumeUploadFile(resumableFileUpload); + FileUpload resumedUpload = tmCrt.resumeUploadFile(resumableFileUpload); resumedUpload.completionFuture().join(); } @@ -114,13 +113,13 @@ void pauseImmediately_resume_shouldStartFromBeginning() { .putObjectRequest(b -> b.bucket(BUCKET).key(KEY)) .source(largeFile) .build(); - FileUpload fileUpload = tm.uploadFile(request); + FileUpload fileUpload = tmCrt.uploadFile(request); ResumableFileUpload resumableFileUpload = fileUpload.pause(); log.debug(() -> "Paused: " + resumableFileUpload); validateEmptyResumeToken(resumableFileUpload); - FileUpload resumedUpload = tm.resumeUploadFile(resumableFileUpload); + FileUpload resumedUpload = tmCrt.resumeUploadFile(resumableFileUpload); resumedUpload.completionFuture().join(); } @@ -130,7 +129,7 @@ void pause_fileChanged_resumeShouldStartFromBeginning() throws Exception { .putObjectRequest(b -> b.bucket(BUCKET).key(KEY)) .source(largeFile) .build(); - FileUpload fileUpload = tm.uploadFile(request); + FileUpload fileUpload = tmCrt.uploadFile(request); waitUntilMultipartUploadExists(); ResumableFileUpload resumableFileUpload = fileUpload.pause(); log.debug(() -> "Paused: " + resumableFileUpload); @@ -143,7 +142,7 @@ void pause_fileChanged_resumeShouldStartFromBeginning() throws Exception { byte[] bytes = "helloworld".getBytes(StandardCharsets.UTF_8); Files.write(largeFile.toPath(), bytes); - FileUpload resumedUpload = tm.resumeUploadFile(resumableFileUpload); + FileUpload resumedUpload = tmCrt.resumeUploadFile(resumableFileUpload); resumedUpload.completionFuture().join(); verifyMultipartUploadIdNotExist(resumableFileUpload); assertThat(resumedUpload.progress().snapshot().totalBytes()).hasValue(bytes.length); diff --git a/services-custom/s3-transfer-manager/src/main/java/software/amazon/awssdk/transfer/s3/internal/CrtS3TransferManager.java b/services-custom/s3-transfer-manager/src/main/java/software/amazon/awssdk/transfer/s3/internal/CrtS3TransferManager.java index f118c84693f2..eef9205be1c7 100644 --- a/services-custom/s3-transfer-manager/src/main/java/software/amazon/awssdk/transfer/s3/internal/CrtS3TransferManager.java +++ b/services-custom/s3-transfer-manager/src/main/java/software/amazon/awssdk/transfer/s3/internal/CrtS3TransferManager.java @@ -16,9 +16,9 @@ package software.amazon.awssdk.transfer.s3.internal; import static software.amazon.awssdk.core.interceptor.SdkInternalExecutionAttribute.SDK_HTTP_EXECUTION_ATTRIBUTES; +import static software.amazon.awssdk.services.s3.crt.S3CrtSdkHttpExecutionAttribute.CRT_PROGRESS_LISTENER; +import static software.amazon.awssdk.services.s3.crt.S3CrtSdkHttpExecutionAttribute.METAREQUEST_PAUSE_OBSERVABLE; import static software.amazon.awssdk.services.s3.internal.crt.S3InternalSdkHttpExecutionAttribute.CRT_PAUSE_RESUME_TOKEN; -import static software.amazon.awssdk.services.s3.internal.crt.S3InternalSdkHttpExecutionAttribute.METAREQUEST_PAUSE_OBSERVABLE; -import static software.amazon.awssdk.transfer.s3.internal.GenericS3TransferManager.DEFAULT_FILE_UPLOAD_CHUNK_SIZE; import static software.amazon.awssdk.transfer.s3.internal.GenericS3TransferManager.assertNotUnsupportedArn; import static software.amazon.awssdk.transfer.s3.internal.utils.FileUtils.fileNotModified; @@ -27,7 +27,6 @@ import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.awscore.AwsRequestOverrideConfiguration; import software.amazon.awssdk.core.async.AsyncRequestBody; -import software.amazon.awssdk.core.internal.async.FileAsyncRequestBody; import software.amazon.awssdk.crt.s3.ResumeToken; import software.amazon.awssdk.http.SdkHttpExecutionAttributes; import software.amazon.awssdk.services.s3.S3AsyncClient; @@ -65,29 +64,25 @@ public FileUpload uploadFile(UploadFileRequest uploadFileRequest) { Validate.paramNotNull(uploadFileRequest, "uploadFileRequest"); S3MetaRequestPauseObservable observable = new S3MetaRequestPauseObservable(); - AsyncRequestBody requestBody = - FileAsyncRequestBody.builder() - .path(uploadFileRequest.source()) - .chunkSizeInBytes(DEFAULT_FILE_UPLOAD_CHUNK_SIZE) - .build(); + Long fileContentLength = AsyncRequestBody.fromFile(uploadFileRequest.source()).contentLength().orElse(null); + TransferProgressUpdater progressUpdater = new TransferProgressUpdater(uploadFileRequest, fileContentLength); Consumer attachObservable = - b -> b.put(METAREQUEST_PAUSE_OBSERVABLE, observable); + b -> b.put(METAREQUEST_PAUSE_OBSERVABLE, observable) + .put(CRT_PROGRESS_LISTENER, progressUpdater.crtProgressListener()); PutObjectRequest putObjectRequest = attachSdkAttribute(uploadFileRequest.putObjectRequest(), attachObservable); CompletableFuture returnFuture = new CompletableFuture<>(); - TransferProgressUpdater progressUpdater = new TransferProgressUpdater(uploadFileRequest, requestBody); progressUpdater.transferInitiated(); - requestBody = progressUpdater.wrapRequestBody(requestBody); progressUpdater.registerCompletion(returnFuture); try { assertNotUnsupportedArn(putObjectRequest.bucket(), "upload"); CompletableFuture crtFuture = - s3AsyncClient.putObject(putObjectRequest, requestBody); + s3AsyncClient.putObject(putObjectRequest, uploadFileRequest.source()); // Forward upload cancellation to CRT future CompletableFutureUtils.forwardExceptionTo(returnFuture, crtFuture); diff --git a/services-custom/s3-transfer-manager/src/main/java/software/amazon/awssdk/transfer/s3/internal/GenericS3TransferManager.java b/services-custom/s3-transfer-manager/src/main/java/software/amazon/awssdk/transfer/s3/internal/GenericS3TransferManager.java index 83d63a2a48ff..b06d0824b709 100644 --- a/services-custom/s3-transfer-manager/src/main/java/software/amazon/awssdk/transfer/s3/internal/GenericS3TransferManager.java +++ b/services-custom/s3-transfer-manager/src/main/java/software/amazon/awssdk/transfer/s3/internal/GenericS3TransferManager.java @@ -120,7 +120,8 @@ public Upload upload(UploadRequest uploadRequest) { CompletableFuture returnFuture = new CompletableFuture<>(); - TransferProgressUpdater progressUpdater = new TransferProgressUpdater(uploadRequest, requestBody); + TransferProgressUpdater progressUpdater = new TransferProgressUpdater(uploadRequest, + requestBody.contentLength().orElse(null)); progressUpdater.transferInitiated(); requestBody = progressUpdater.wrapRequestBody(requestBody); progressUpdater.registerCompletion(returnFuture); @@ -159,7 +160,8 @@ public FileUpload uploadFile(UploadFileRequest uploadFileRequest) { CompletableFuture returnFuture = new CompletableFuture<>(); - TransferProgressUpdater progressUpdater = new TransferProgressUpdater(uploadFileRequest, requestBody); + TransferProgressUpdater progressUpdater = new TransferProgressUpdater(uploadFileRequest, + requestBody.contentLength().orElse(null)); progressUpdater.transferInitiated(); requestBody = progressUpdater.wrapRequestBody(requestBody); progressUpdater.registerCompletion(returnFuture); diff --git a/services-custom/s3-transfer-manager/src/main/java/software/amazon/awssdk/transfer/s3/internal/progress/TransferProgressUpdater.java b/services-custom/s3-transfer-manager/src/main/java/software/amazon/awssdk/transfer/s3/internal/progress/TransferProgressUpdater.java index 64be49a92388..0c0c9f0d65d8 100644 --- a/services-custom/s3-transfer-manager/src/main/java/software/amazon/awssdk/transfer/s3/internal/progress/TransferProgressUpdater.java +++ b/services-custom/s3-transfer-manager/src/main/java/software/amazon/awssdk/transfer/s3/internal/progress/TransferProgressUpdater.java @@ -19,12 +19,15 @@ import java.util.Collections; import java.util.Optional; import java.util.concurrent.CompletableFuture; +import java.util.concurrent.atomic.AtomicBoolean; import org.reactivestreams.Subscriber; import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.core.async.AsyncRequestBody; import software.amazon.awssdk.core.async.AsyncResponseTransformer; import software.amazon.awssdk.core.async.listener.AsyncRequestBodyListener; import software.amazon.awssdk.core.async.listener.AsyncResponseTransformerListener; +import software.amazon.awssdk.core.async.listener.PublisherListener; +import software.amazon.awssdk.crt.s3.S3MetaRequestProgress; import software.amazon.awssdk.services.s3.model.GetObjectResponse; import software.amazon.awssdk.transfer.s3.model.CompletedObjectTransfer; import software.amazon.awssdk.transfer.s3.model.TransferObjectRequest; @@ -43,10 +46,10 @@ public class TransferProgressUpdater { private final CompletableFuture endOfStreamFuture; public TransferProgressUpdater(TransferObjectRequest request, - AsyncRequestBody requestBody) { + Long contentLength) { DefaultTransferProgressSnapshot.Builder snapshotBuilder = DefaultTransferProgressSnapshot.builder(); snapshotBuilder.transferredBytes(0L); - getContentLengthSafe(requestBody).ifPresent(snapshotBuilder::totalBytes); + Optional.ofNullable(contentLength).ifPresent(snapshotBuilder::totalBytes); TransferProgressSnapshot snapshot = snapshotBuilder.build(); progress = new DefaultTransferProgress(snapshot); context = TransferListenerContext.builder() @@ -73,6 +76,8 @@ public AsyncRequestBody wrapRequestBody(AsyncRequestBody requestBody) { return AsyncRequestBodyListener.wrap( requestBody, new AsyncRequestBodyListener() { + final AtomicBoolean done = new AtomicBoolean(false); + @Override public void publisherSubscribe(Subscriber subscriber) { resetBytesTransferred(); @@ -81,6 +86,11 @@ public void publisherSubscribe(Subscriber subscriber) { @Override public void subscriberOnNext(ByteBuffer byteBuffer) { incrementBytesTransferred(byteBuffer.limit()); + progress.snapshot().ratioTransferred().ifPresent(ratioTransferred -> { + if (Double.compare(ratioTransferred, 1.0) == 0) { + endOfStreamFutureCompleted(); + } + }); } @Override @@ -90,11 +100,42 @@ public void subscriberOnError(Throwable t) { @Override public void subscriberOnComplete() { - endOfStreamFuture.complete(null); + endOfStreamFutureCompleted(); + } + + private void endOfStreamFutureCompleted() { + if (done.compareAndSet(false, true)) { + endOfStreamFuture.complete(null); + } } }); } + public PublisherListener crtProgressListener() { + + return new PublisherListener() { + @Override + public void publisherSubscribe(Subscriber subscriber) { + resetBytesTransferred(); + } + + @Override + public void subscriberOnNext(S3MetaRequestProgress s3MetaRequestProgress) { + incrementBytesTransferred(s3MetaRequestProgress.getBytesTransferred()); + } + + @Override + public void subscriberOnError(Throwable t) { + transferFailed(t); + } + + @Override + public void subscriberOnComplete() { + endOfStreamFuture.complete(null); + } + }; + } + public AsyncResponseTransformer wrapResponseTransformer( AsyncResponseTransformer responseTransformer) { return AsyncResponseTransformerListener.wrap( @@ -138,7 +179,7 @@ private void resetBytesTransferred() { progress.updateAndGet(b -> b.transferredBytes(0L)); } - private void incrementBytesTransferred(int numBytes) { + private void incrementBytesTransferred(long numBytes) { TransferProgressSnapshot snapshot = progress.updateAndGet(b -> { b.transferredBytes(b.getTransferredBytes() + numBytes); }); @@ -181,18 +222,4 @@ private void transferFailed(Throwable t) { .exception(t) .build()); } - - private static Optional getContentLengthSafe(AsyncRequestBody requestBody) { - if (requestBody == null) { - return Optional.empty(); - } - // requestBody.contentLength() may throw if the file does not exist. - // We ignore any potential exception here to defer failure - // to the s3CrtAsyncClient call and its associated future. - try { - return requestBody.contentLength(); - } catch (Exception ignored) { - return Optional.empty(); - } - } } diff --git a/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/S3CrtTransferProgressListenerTest.java b/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/S3CrtTransferProgressListenerTest.java new file mode 100644 index 000000000000..580cced1808a --- /dev/null +++ b/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/S3CrtTransferProgressListenerTest.java @@ -0,0 +1,196 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +package software.amazon.awssdk.transfer.s3.internal; + + +import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; +import static com.github.tomakehurst.wiremock.client.WireMock.any; +import static com.github.tomakehurst.wiremock.client.WireMock.anyUrl; +import static com.github.tomakehurst.wiremock.client.WireMock.stubFor; +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatExceptionOfType; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.times; + +import com.github.tomakehurst.wiremock.junit5.WireMockRuntimeInfo; +import com.github.tomakehurst.wiremock.junit5.WireMockTest; +import java.io.IOException; +import java.net.URI; +import java.util.concurrent.CancellationException; +import java.util.concurrent.CompletionException; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.mockito.ArgumentMatchers; +import org.mockito.Mockito; +import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; +import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; +import software.amazon.awssdk.regions.Region; +import software.amazon.awssdk.services.s3.S3AsyncClient; +import software.amazon.awssdk.services.s3.S3CrtAsyncClientBuilder; +import software.amazon.awssdk.services.s3.model.NoSuchBucketException; +import software.amazon.awssdk.services.s3.model.S3Exception; +import software.amazon.awssdk.testutils.RandomTempFile; +import software.amazon.awssdk.transfer.s3.CaptureTransferListener; +import software.amazon.awssdk.transfer.s3.S3TransferManager; +import software.amazon.awssdk.transfer.s3.model.FileUpload; +import software.amazon.awssdk.transfer.s3.progress.LoggingTransferListener; +import software.amazon.awssdk.transfer.s3.progress.TransferListener; + +@WireMockTest +public class S3CrtTransferProgressListenerTest { + public static final String ERROR_CODE = "NoSuchBucket"; + public static final String ERROR_MESSAGE = "We encountered an internal error. Please try again."; + public static final String ERROR_BODY = "\n" + + "\n" + + " " + ERROR_CODE + "\n" + + " " + ERROR_MESSAGE + "\n" + + ""; + private static final String EXAMPLE_BUCKET = "Example-Bucket"; + private static final String TEST_KEY = "16mib_file.dat"; + private static final int OBJ_SIZE = 16 * 1024; + private RandomTempFile testFile; + + + @BeforeEach + public void setUp() throws IOException { + testFile = new RandomTempFile(TEST_KEY, OBJ_SIZE); + } + + private static void assertMockOnFailure(TransferListener transferListenerMock) { + Mockito.verify(transferListenerMock, times(1)).bytesTransferred(ArgumentMatchers.any()); + Mockito.verify(transferListenerMock, times(1)).transferFailed(ArgumentMatchers.any()); + Mockito.verify(transferListenerMock, times(1)).transferInitiated(ArgumentMatchers.any()); + Mockito.verify(transferListenerMock, times(0)).transferComplete(ArgumentMatchers.any()); + } + + private S3CrtAsyncClientBuilder getAsyncClientBuilder(WireMockRuntimeInfo wm) { + return S3AsyncClient.crtBuilder() + .region(Region.US_EAST_1) + .endpointOverride(URI.create(wm.getHttpBaseUrl())) + .credentialsProvider( + StaticCredentialsProvider.create(AwsBasicCredentials.create("key", "secret"))); + + } + + @Test + void listeners_reports_ErrorsWithValidPayload(WireMockRuntimeInfo wm) throws InterruptedException { + TransferListener transferListenerMock = mock(TransferListener.class); + stubFor(any(anyUrl()).willReturn(aResponse().withStatus(404).withBody(ERROR_BODY))); + S3TransferManager tm = new GenericS3TransferManager(getAsyncClientBuilder(wm).build(), mock(UploadDirectoryHelper.class), + mock(TransferManagerConfiguration.class), + mock(DownloadDirectoryHelper.class)); + CaptureTransferListener transferListener = new CaptureTransferListener(); + FileUpload fileUpload = + tm.uploadFile(u -> u.putObjectRequest(p -> p.bucket(EXAMPLE_BUCKET).key("KEY")) + .source(testFile) + .addTransferListener(LoggingTransferListener.create()) + .addTransferListener(transferListener) + .addTransferListener(transferListenerMock) + .build()); + + assertThatExceptionOfType(CompletionException.class).isThrownBy(() -> fileUpload.completionFuture().join()); + Thread.sleep(500); + assertThat(transferListener.getExceptionCaught()).isInstanceOf(NoSuchBucketException.class); + assertThat(transferListener.isTransferComplete()).isFalse(); + assertThat(transferListener.isTransferInitiated()).isTrue(); + + assertMockOnFailure(transferListenerMock); + } + + @Test + void listeners_reports_ErrorsWithValidInValidPayload(WireMockRuntimeInfo wm) throws InterruptedException { + TransferListener transferListenerMock = mock(TransferListener.class); + + stubFor(any(anyUrl()).willReturn(aResponse().withStatus(404).withBody("?"))); + S3TransferManager tm = new GenericS3TransferManager(getAsyncClientBuilder(wm).build(), mock(UploadDirectoryHelper.class), + mock(TransferManagerConfiguration.class), + mock(DownloadDirectoryHelper.class)); + CaptureTransferListener transferListener = new CaptureTransferListener(); + FileUpload fileUpload = + tm.uploadFile(u -> u.putObjectRequest(p -> p.bucket(EXAMPLE_BUCKET).key("KEY")) + .source(testFile) + .addTransferListener(LoggingTransferListener.create()) + .addTransferListener(transferListener) + .addTransferListener(transferListenerMock) + .build()); + + assertThatExceptionOfType(CompletionException.class).isThrownBy(() -> fileUpload.completionFuture().join()); + Thread.sleep(500); + + assertThat(transferListener.getExceptionCaught()).isInstanceOf(S3Exception.class); + assertThat(transferListener.isTransferComplete()).isFalse(); + assertThat(transferListener.isTransferInitiated()).isTrue(); + assertMockOnFailure(transferListenerMock); + + } + + + @Test + void listeners_reports_ErrorsWhenCancelled(WireMockRuntimeInfo wm) throws InterruptedException { + TransferListener transferListenerMock = mock(TransferListener.class); + + stubFor(any(anyUrl()).willReturn(aResponse().withStatus(200).withBody("{}"))); + S3TransferManager tm = new GenericS3TransferManager(getAsyncClientBuilder(wm).build(), mock(UploadDirectoryHelper.class), + mock(TransferManagerConfiguration.class), + mock(DownloadDirectoryHelper.class)); + CaptureTransferListener transferListener = new CaptureTransferListener(); + + tm.uploadFile(u -> u.putObjectRequest(p -> p.bucket(EXAMPLE_BUCKET).key("KEY")) + .source(testFile) + .addTransferListener(LoggingTransferListener.create()) + .addTransferListener(transferListener) + .addTransferListener(transferListenerMock) + .build()).completionFuture().cancel(true); + + Thread.sleep(500); + + assertThat(transferListener.getExceptionCaught()).isInstanceOf(CancellationException.class); + assertThat(transferListener.isTransferComplete()).isFalse(); + assertThat(transferListener.isTransferInitiated()).isTrue(); + assertMockOnFailure(transferListenerMock); + + } + + @Test + void listeners_reports_ProgressWhenSuccess(WireMockRuntimeInfo wm) throws InterruptedException { + TransferListener transferListenerMock = mock(TransferListener.class); + + stubFor(any(anyUrl()).willReturn(aResponse().withStatus(200).withBody("{}"))); + S3TransferManager tm = new GenericS3TransferManager(getAsyncClientBuilder(wm).build(), mock(UploadDirectoryHelper.class), + mock(TransferManagerConfiguration.class), + mock(DownloadDirectoryHelper.class)); + + CaptureTransferListener transferListener = new CaptureTransferListener(); + + tm.uploadFile(u -> u.putObjectRequest(p -> p.bucket(EXAMPLE_BUCKET).key("KEY")) + .source(testFile) + .addTransferListener(LoggingTransferListener.create()) + .addTransferListener(transferListener) + .addTransferListener(transferListenerMock) + .build()).completionFuture().join(); + + Thread.sleep(500); + assertThat(transferListener.getExceptionCaught()).isNull(); + assertThat(transferListener.isTransferComplete()).isTrue(); + assertThat(transferListener.isTransferInitiated()).isTrue(); + Mockito.verify(transferListenerMock, times(1)).bytesTransferred(ArgumentMatchers.any()); + Mockito.verify(transferListenerMock, times(0)).transferFailed(ArgumentMatchers.any()); + Mockito.verify(transferListenerMock, times(1)).transferInitiated(ArgumentMatchers.any()); + Mockito.verify(transferListenerMock, times(1)).transferComplete(ArgumentMatchers.any()); + } + + +} diff --git a/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/S3TransferManagerUploadPauseAndResumeTest.java b/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/S3TransferManagerUploadPauseAndResumeTest.java index d1d998c055d8..351fd03f7495 100644 --- a/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/S3TransferManagerUploadPauseAndResumeTest.java +++ b/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/S3TransferManagerUploadPauseAndResumeTest.java @@ -28,6 +28,7 @@ import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; +import java.nio.file.Path; import java.time.Instant; import java.util.UUID; import java.util.concurrent.CompletableFuture; @@ -87,7 +88,7 @@ void resumeUploadFile_noResumeToken_shouldUploadFromBeginning() { .build(); - when(mockS3Crt.putObject(any(PutObjectRequest.class), any(AsyncRequestBody.class))) + when(mockS3Crt.putObject(any(PutObjectRequest.class), any(Path.class))) .thenReturn(CompletableFuture.completedFuture(response)); CompletedFileUpload completedFileUpload = tm.resumeUploadFile(r -> r.fileLength(fileLength) @@ -112,7 +113,7 @@ void resumeUploadFile_fileModified_shouldAbortExistingAndUploadFromBeginning() { .build(); - when(mockS3Crt.putObject(any(PutObjectRequest.class), any(AsyncRequestBody.class))) + when(mockS3Crt.putObject(any(PutObjectRequest.class), any(Path.class))) .thenReturn(CompletableFuture.completedFuture(response)); when(mockS3Crt.abortMultipartUpload(any(AbortMultipartUploadRequest.class))) @@ -151,9 +152,10 @@ void resumeUploadFile_hasValidResumeToken_shouldResumeUpload() { .build(); - when(mockS3Crt.putObject(any(PutObjectRequest.class), any(AsyncRequestBody.class))) + when(mockS3Crt.putObject(any(PutObjectRequest.class), any(Path.class))) .thenReturn(CompletableFuture.completedFuture(response)); + String multipartId = "someId"; long totalParts = 10L; long partSizeInBytes = 8 * MB; @@ -169,7 +171,7 @@ void resumeUploadFile_hasValidResumeToken_shouldResumeUpload() { ArgumentCaptor putObjectRequestArgumentCaptor = ArgumentCaptor.forClass(PutObjectRequest.class); - verify(mockS3Crt).putObject(putObjectRequestArgumentCaptor.capture(), any(AsyncRequestBody.class)); + verify(mockS3Crt).putObject(putObjectRequestArgumentCaptor.capture(), any(Path.class)); PutObjectRequest actualRequest = putObjectRequestArgumentCaptor.getValue(); AwsRequestOverrideConfiguration awsRequestOverrideConfiguration = actualRequest.overrideConfiguration().get(); SdkHttpExecutionAttributes attribute = @@ -185,7 +187,7 @@ void resumeUploadFile_hasValidResumeToken_shouldResumeUpload() { private void verifyActualPutObjectRequestNotResumed() { ArgumentCaptor putObjectRequestArgumentCaptor = ArgumentCaptor.forClass(PutObjectRequest.class); - verify(mockS3Crt).putObject(putObjectRequestArgumentCaptor.capture(), any(AsyncRequestBody.class)); + verify(mockS3Crt).putObject(putObjectRequestArgumentCaptor.capture(), any(Path.class)); PutObjectRequest actualRequest = putObjectRequestArgumentCaptor.getValue(); AwsRequestOverrideConfiguration awsRequestOverrideConfiguration = actualRequest.overrideConfiguration().get(); SdkHttpExecutionAttributes attribute = diff --git a/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/TransferProgressUpdaterTest.java b/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/TransferProgressUpdaterTest.java new file mode 100644 index 000000000000..efb681167f3e --- /dev/null +++ b/services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/internal/TransferProgressUpdaterTest.java @@ -0,0 +1,185 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +package software.amazon.awssdk.transfer.s3.internal; + +import static org.assertj.core.api.AssertionsForClassTypes.assertThatExceptionOfType; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.when; +import static software.amazon.awssdk.transfer.s3.SizeConstant.MB; + +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.IOException; +import java.nio.ByteBuffer; +import java.util.Arrays; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; +import java.util.concurrent.atomic.AtomicReference; +import java.util.stream.Stream; +import org.apache.commons.lang3.RandomStringUtils; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; +import org.mockito.ArgumentMatchers; +import org.mockito.Mockito; +import org.reactivestreams.Subscriber; +import software.amazon.awssdk.core.SdkResponse; +import software.amazon.awssdk.core.async.AsyncRequestBody; +import software.amazon.awssdk.http.async.SimpleSubscriber; +import software.amazon.awssdk.services.s3.model.PutObjectResponse; +import software.amazon.awssdk.testutils.RandomTempFile; +import software.amazon.awssdk.transfer.s3.CaptureTransferListener; +import software.amazon.awssdk.transfer.s3.internal.progress.TransferProgressUpdater; +import software.amazon.awssdk.transfer.s3.model.CompletedObjectTransfer; +import software.amazon.awssdk.transfer.s3.model.TransferObjectRequest; +import software.amazon.awssdk.transfer.s3.progress.LoggingTransferListener; +import software.amazon.awssdk.transfer.s3.progress.TransferListener; + +class TransferProgressUpdaterTest { + private static final long OBJ_SIZE = 16 * MB; + private static File sourceFile; + private CaptureTransferListener captureTransferListener; + + private static Stream contentLength() { + return Stream.of( + Arguments.of(OBJ_SIZE, "Total bytes equals transferred, future complete through subscriberOnNext()"), + Arguments.of(OBJ_SIZE / 2, "Total bytes less than transferred, future complete through subscriberOnNext()"), + Arguments.of(OBJ_SIZE * 2, "Total bytes more than transferred, future complete through subscriberOnComplete()")); + } + + private static CompletableFuture completedObjectResponse(long millis) { + return CompletableFuture.supplyAsync(() -> { + quietSleep(millis); + return new CompletedObjectTransfer() { + @Override + public SdkResponse response() { + return PutObjectResponse.builder().eTag("ABCD").build(); + } + }; + }); + } + + private static void quietSleep(long millis) { + try { + Thread.sleep(millis); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); // Restore interrupted status + throw new RuntimeException(e); + } + } + + @BeforeEach + void initiate() { + captureTransferListener = new CaptureTransferListener(); + } + + @ParameterizedTest(name = "{index} - {1}, total bytes = {0}") + @MethodSource("contentLength") + void registerCompletion_differentTransferredByteRatios_alwaysCompletesOnce(Long givenContentLength, String description) + throws Exception { + TransferObjectRequest transferRequest = Mockito.mock(TransferObjectRequest.class); + CaptureTransferListener mockListener = Mockito.mock(CaptureTransferListener.class); + when(transferRequest.transferListeners()).thenReturn(Arrays.asList(LoggingTransferListener.create(), mockListener, + captureTransferListener)); + + sourceFile = new RandomTempFile(OBJ_SIZE); + AsyncRequestBody requestBody = AsyncRequestBody.fromFile(sourceFile); + TransferProgressUpdater transferProgressUpdater = new TransferProgressUpdater(transferRequest, givenContentLength); + AsyncRequestBody asyncRequestBody = transferProgressUpdater.wrapRequestBody(requestBody); + + CompletableFuture completionFuture = completedObjectResponse(10); + transferProgressUpdater.registerCompletion(completionFuture); + + AtomicReference publishedBuffer = new AtomicReference<>(); + Subscriber subscriber = new SimpleSubscriber(publishedBuffer::set); + asyncRequestBody.subscribe(subscriber); + + captureTransferListener.getCompletionFuture().get(5, TimeUnit.SECONDS); + + Mockito.verify(mockListener, never()).transferFailed(ArgumentMatchers.any(TransferListener.Context.TransferFailed.class)); + Mockito.verify(mockListener, times(1)).transferComplete(ArgumentMatchers.any(TransferListener.Context.TransferComplete.class)); + } + + + @Test + void transferFailedWhenSubscriptionErrors() throws Exception { + Long contentLength = 51L; + String inputString = RandomStringUtils.randomAlphanumeric(contentLength.intValue()); + + TransferObjectRequest transferRequest = Mockito.mock(TransferObjectRequest.class); + CaptureTransferListener mockListener = Mockito.mock(CaptureTransferListener.class); + when(transferRequest.transferListeners()).thenReturn(Arrays.asList(LoggingTransferListener.create(), + mockListener, + captureTransferListener)); + + sourceFile = new RandomTempFile(OBJ_SIZE); + AsyncRequestBody requestFileBody = AsyncRequestBody.fromInputStream( + new ExceptionThrowingByteArrayInputStream(inputString.getBytes(), 3), contentLength, + Executors.newSingleThreadExecutor()); + + TransferProgressUpdater transferProgressUpdater = new TransferProgressUpdater(transferRequest, contentLength); + AsyncRequestBody asyncRequestBody = transferProgressUpdater.wrapRequestBody(requestFileBody); + + CompletableFuture future = completedObjectResponse(10); + transferProgressUpdater.registerCompletion(future); + + AtomicReference publishedBuffer = new AtomicReference<>(); + Subscriber subscriber = new SimpleSubscriber(publishedBuffer::set); + asyncRequestBody.subscribe(subscriber); + + assertThatExceptionOfType(ExecutionException.class).isThrownBy( + () -> captureTransferListener.getCompletionFuture().get(5, TimeUnit.SECONDS)); + + Mockito.verify(mockListener, times(1)).transferFailed(ArgumentMatchers.any(TransferListener.Context.TransferFailed.class)); + Mockito.verify(mockListener, never()).transferComplete(ArgumentMatchers.any(TransferListener.Context.TransferComplete.class)); + } + + + private static class ExceptionThrowingByteArrayInputStream extends ByteArrayInputStream { + private final int exceptionPosition; + + public ExceptionThrowingByteArrayInputStream(byte[] buf, int exceptionPosition) { + super(buf); + this.exceptionPosition = exceptionPosition; + } + + @Override + public int read() { + return (exceptionPosition == pos + 1) ? exceptionThrowingRead() : super.read(); + } + + @Override + public int read(byte[] b, int off, int len) { + return (exceptionPosition >= pos && exceptionPosition < (pos + len)) ? + exceptionThrowingReadByteArr(b, off, len) : super.read(b, off, len); + } + + private int exceptionThrowingRead() { + throw new RuntimeException("Exception occurred at position " + (pos + 1)); + } + + private int exceptionThrowingReadByteArr(byte[] b, int off, int len) { + throw new RuntimeException("Exception occurred in read(byte[]) at position " + exceptionPosition); + } + } + +} \ No newline at end of file diff --git a/services/accessanalyzer/pom.xml b/services/accessanalyzer/pom.xml index c6570f3895d9..37fe5449c7f5 100644 --- a/services/accessanalyzer/pom.xml +++ b/services/accessanalyzer/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT accessanalyzer AWS Java SDK :: Services :: AccessAnalyzer diff --git a/services/accessanalyzer/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/accessanalyzer/src/main/resources/codegen-resources/endpoint-rule-set.json index ace8724275f9..40a509ec2776 100644 --- a/services/accessanalyzer/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/accessanalyzer/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,64 +45,17 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "ref": "UseFIPS" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + true ] } - ] + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" }, { "conditions": [ @@ -111,19 +63,51 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "booleanEquals", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "UseDualStack" - }, - true - ] + "ref": "Region" + } + ], + "assign": "PartitionResult" } ], "type": "tree", @@ -133,38 +117,57 @@ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] }, { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -177,52 +180,46 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -260,52 +257,46 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -318,57 +309,13 @@ "type": "endpoint" } ] - } - ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ] - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-east-1" - ] - } - ], - "endpoint": { - "url": "https://access-analyzer.us-gov-east-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ + }, { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-west-1" - ] + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } - ], - "endpoint": { - "url": "https://access-analyzer.us-gov-west-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + ] }, { "conditions": [], @@ -382,6 +329,11 @@ ] } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/accessanalyzer/src/main/resources/codegen-resources/endpoint-tests.json b/services/accessanalyzer/src/main/resources/codegen-resources/endpoint-tests.json index cb6f22f56f85..dfcf8fb31409 100644 --- a/services/accessanalyzer/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/accessanalyzer/src/main/resources/codegen-resources/endpoint-tests.json @@ -8,9 +8,9 @@ } }, "params": { + "Region": "af-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "af-south-1" + "UseDualStack": false } }, { @@ -21,9 +21,9 @@ } }, "params": { + "Region": "ap-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-east-1" + "UseDualStack": false } }, { @@ -34,9 +34,9 @@ } }, "params": { + "Region": "ap-northeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { @@ -47,9 +47,9 @@ } }, "params": { + "Region": "ap-northeast-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { @@ -60,9 +60,9 @@ } }, "params": { + "Region": "ap-northeast-3", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-3" + "UseDualStack": false } }, { @@ -73,9 +73,9 @@ } }, "params": { + "Region": "ap-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-south-1" + "UseDualStack": false } }, { @@ -86,9 +86,9 @@ } }, "params": { + "Region": "ap-southeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { @@ -99,9 +99,9 @@ } }, "params": { + "Region": "ap-southeast-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { @@ -112,9 +112,9 @@ } }, "params": { + "Region": "ap-southeast-3", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-3" + "UseDualStack": false } }, { @@ -125,9 +125,9 @@ } }, "params": { + "Region": "ca-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ca-central-1" + "UseDualStack": false } }, { @@ -138,9 +138,9 @@ } }, "params": { + "Region": "ca-central-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "ca-central-1" + "UseDualStack": false } }, { @@ -151,9 +151,9 @@ } }, "params": { + "Region": "eu-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { @@ -164,9 +164,9 @@ } }, "params": { + "Region": "eu-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-north-1" + "UseDualStack": false } }, { @@ -177,9 +177,9 @@ } }, "params": { + "Region": "eu-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-south-1" + "UseDualStack": false } }, { @@ -190,9 +190,9 @@ } }, "params": { + "Region": "eu-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { @@ -203,9 +203,9 @@ } }, "params": { + "Region": "eu-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-2" + "UseDualStack": false } }, { @@ -216,9 +216,9 @@ } }, "params": { + "Region": "eu-west-3", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-3" + "UseDualStack": false } }, { @@ -229,9 +229,9 @@ } }, "params": { + "Region": "me-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "me-south-1" + "UseDualStack": false } }, { @@ -242,9 +242,9 @@ } }, "params": { + "Region": "sa-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { @@ -255,9 +255,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -268,9 +268,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -281,9 +281,9 @@ } }, "params": { + "Region": "us-east-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-2" + "UseDualStack": false } }, { @@ -294,9 +294,9 @@ } }, "params": { + "Region": "us-east-2", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-2" + "UseDualStack": false } }, { @@ -307,9 +307,9 @@ } }, "params": { + "Region": "us-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-1" + "UseDualStack": false } }, { @@ -320,9 +320,9 @@ } }, "params": { + "Region": "us-west-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-west-1" + "UseDualStack": false } }, { @@ -333,9 +333,9 @@ } }, "params": { + "Region": "us-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -346,9 +346,9 @@ } }, "params": { + "Region": "us-west-2", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -359,9 +359,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -372,9 +372,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -385,9 +385,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -398,9 +398,9 @@ } }, "params": { + "Region": "cn-northwest-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "cn-northwest-1" + "UseDualStack": false } }, { @@ -411,9 +411,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -424,9 +424,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -437,9 +437,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -450,9 +450,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -463,9 +463,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -476,9 +476,9 @@ } }, "params": { + "Region": "us-gov-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { @@ -489,9 +489,9 @@ } }, "params": { + "Region": "us-gov-west-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { @@ -502,9 +502,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -515,9 +515,20 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -528,9 +539,20 @@ } }, "params": { + "Region": "us-iso-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", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -541,9 +563,20 @@ } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -554,9 +587,20 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -567,13 +611,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" @@ -582,7 +640,6 @@ "params": { "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -592,9 +649,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" } }, @@ -604,11 +661,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/services/account/pom.xml b/services/account/pom.xml index 130bdd72fdf0..8dc79fc31988 100644 --- a/services/account/pom.xml +++ b/services/account/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT account AWS Java SDK :: Services :: Account diff --git a/services/account/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/account/src/main/resources/codegen-resources/endpoint-rule-set.json index e9b05bd2c3f8..88e9002a1f6a 100644 --- a/services/account/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/account/src/main/resources/codegen-resources/endpoint-rule-set.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://account.us-east-1.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "account", - "signingRegion": "us-east-1" - } - ] + "ref": "UseDualStack" }, - "headers": {} - }, - "type": "endpoint" + false + ] + } + ], + "endpoint": { + "url": "https://account.us-east-1.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "account", + "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://account.cn-northwest-1.amazonaws.com.cn", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "account", + "signingRegion": "cn-northwest-1" } - ], - "endpoint": { - "url": "https://account.cn-northwest-1.amazonaws.com.cn", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "account", - "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://account-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://account-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://account-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://account-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://account.{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://account.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://account.{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://account.{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/services/acm/pom.xml b/services/acm/pom.xml index 1002556c3636..63a8de15cd34 100644 --- a/services/acm/pom.xml +++ b/services/acm/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT acm AWS Java SDK :: Services :: AWS Certificate Manager diff --git a/services/acm/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/acm/src/main/resources/codegen-resources/endpoint-rule-set.json index b176674f5482..671234b4f5c0 100644 --- a/services/acm/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/acm/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://acm-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://acm-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -247,7 +241,7 @@ } ], "endpoint": { - "url": "https://acm.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://acm.{Region}.amazonaws.com", "properties": {}, "headers": {} }, @@ -263,78 +257,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://acm.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://acm.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://acm.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://acm.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/acm/src/main/resources/codegen-resources/endpoint-tests.json b/services/acm/src/main/resources/codegen-resources/endpoint-tests.json index 4104b65d8be4..b232e72ae640 100644 --- a/services/acm/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/acm/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,1028 +1,31 @@ { "testCases": [ { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.ap-south-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-south-2", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.ap-south-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-south-2", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm.ap-south-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-south-2", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm.ap-south-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-south-2", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-south-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm.ap-south-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-south-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.eu-south-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-south-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm.eu-south-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-south-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.eu-south-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-south-2", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.eu-south-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-south-2", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm.eu-south-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-south-2", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm.eu-south-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-south-2", - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-gov-east-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-gov-east-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm.us-gov-east-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-gov-east-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-gov-east-1", - "UseDualStack": false - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.me-central-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "me-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.me-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "me-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm.me-central-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "me-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm.me-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "me-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ca-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ca-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm.ca-central-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ca-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "ca-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm.eu-central-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "UseFIPS": true, - "Region": "us-iso-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.us-iso-west-1.c2s.ic.gov" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-iso-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "UseFIPS": false, - "Region": "us-iso-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm.us-iso-west-1.c2s.ic.gov" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-iso-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.eu-central-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-central-2", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.eu-central-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-central-2", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm.eu-central-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-central-2", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm.eu-central-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-central-2", - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.us-west-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm.us-west-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm.us-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.us-west-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-west-2", - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm.us-west-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-west-2", - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm.us-west-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.af-south-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "af-south-1", - "UseDualStack": true - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "af-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm.af-south-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "af-south-1", - "UseDualStack": true - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm.af-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "af-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-north-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-north-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm.eu-north-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-north-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-north-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-3", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-3", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm.eu-west-3.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-3", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-3", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-2", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm.eu-west-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-2", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm.eu-west-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-3", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-3", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm.ap-northeast-3.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-northeast-3", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://acm.ap-northeast-3.amazonaws.com" + "url": "https://acm.af-south-1.amazonaws.com" } }, "params": { + "Region": "af-south-1", "UseFIPS": false, - "Region": "ap-northeast-3", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-2", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-2", "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm.ap-northeast-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-northeast-2", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://acm.ap-northeast-2.amazonaws.com" + "url": "https://acm.ap-east-1.amazonaws.com" } }, "params": { + "Region": "ap-east-1", "UseFIPS": false, - "Region": "ap-northeast-2", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-1", "UseDualStack": false } }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm.ap-northeast-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-northeast-1", - "UseDualStack": true - } - }, { "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { @@ -1031,680 +34,524 @@ } }, "params": { - "UseFIPS": false, "Region": "ap-northeast-1", - "UseDualStack": false - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.me-south-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "me-south-1", - "UseDualStack": true - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.me-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "me-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm.me-south-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "me-south-1", - "UseDualStack": true - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm.me-south-1.amazonaws.com" - } - }, - "params": { "UseFIPS": false, - "Region": "me-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.sa-east-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "sa-east-1", - "UseDualStack": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "sa-east-1", "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm.sa-east-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "sa-east-1", - "UseDualStack": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://acm.sa-east-1.amazonaws.com" + "url": "https://acm.ap-northeast-2.amazonaws.com" } }, "params": { + "Region": "ap-northeast-2", "UseFIPS": false, - "Region": "sa-east-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.ap-east-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-east-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.ap-east-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-east-1", "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm.ap-east-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-east-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://acm.ap-east-1.amazonaws.com" + "url": "https://acm.ap-northeast-3.amazonaws.com" } }, "params": { + "Region": "ap-northeast-3", "UseFIPS": false, - "Region": "ap-east-1", "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseFIPS": true, - "Region": "cn-north-1", - "UseDualStack": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://acm-fips.cn-north-1.amazonaws.com.cn" + "url": "https://acm.ap-south-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "cn-north-1", + "Region": "ap-south-1", + "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://acm.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://acm.ap-southeast-1.amazonaws.com" } }, "params": { + "Region": "ap-southeast-1", "UseFIPS": false, - "Region": "cn-north-1", - "UseDualStack": true + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://acm.cn-north-1.amazonaws.com.cn" + "url": "https://acm.ap-southeast-2.amazonaws.com" } }, "params": { + "Region": "ap-southeast-2", "UseFIPS": false, - "Region": "cn-north-1", "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://acm-fips.us-gov-west-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-gov-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://acm.us-gov-west-1.amazonaws.com" + "url": "https://acm.ap-southeast-3.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "us-gov-west-1", + "Region": "ap-southeast-3", + "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://acm.us-gov-west-1.api.aws" + "url": "https://acm.ca-central-1.amazonaws.com" } }, "params": { + "Region": "ca-central-1", "UseFIPS": false, - "Region": "us-gov-west-1", - "UseDualStack": true + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://acm.us-gov-west-1.amazonaws.com" + "url": "https://acm-fips.ca-central-1.amazonaws.com" } }, "params": { - "UseFIPS": false, - "Region": "us-gov-west-1", + "Region": "ca-central-1", + "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://acm-fips.ap-southeast-1.api.aws" + "url": "https://acm.eu-central-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "ap-southeast-1", - "UseDualStack": true + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://acm-fips.ap-southeast-1.amazonaws.com" + "url": "https://acm.eu-north-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "ap-southeast-1", + "Region": "eu-north-1", + "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://acm.ap-southeast-1.api.aws" + "url": "https://acm.eu-south-1.amazonaws.com" } }, "params": { + "Region": "eu-south-1", "UseFIPS": false, - "Region": "ap-southeast-1", - "UseDualStack": true + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://acm.ap-southeast-1.amazonaws.com" + "url": "https://acm.eu-west-1.amazonaws.com" } }, "params": { + "Region": "eu-west-1", "UseFIPS": false, - "Region": "ap-southeast-1", "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://acm-fips.ap-southeast-2.api.aws" + "url": "https://acm.eu-west-2.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "ap-southeast-2", - "UseDualStack": true + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://acm-fips.ap-southeast-2.amazonaws.com" + "url": "https://acm.eu-west-3.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "ap-southeast-2", + "Region": "eu-west-3", + "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://acm.ap-southeast-2.api.aws" + "url": "https://acm.me-south-1.amazonaws.com" } }, "params": { + "Region": "me-south-1", "UseFIPS": false, - "Region": "ap-southeast-2", - "UseDualStack": true + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://acm.ap-southeast-2.amazonaws.com" + "url": "https://acm.sa-east-1.amazonaws.com" } }, "params": { + "Region": "sa-east-1", "UseFIPS": false, - "Region": "ap-southeast-2", "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + "endpoint": { + "url": "https://acm.us-east-1.amazonaws.com" + } }, "params": { - "UseFIPS": true, - "Region": "us-iso-east-1", - "UseDualStack": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://acm-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://acm-fips.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "Region": "us-iso-east-1", "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" + "endpoint": { + "url": "https://acm.us-east-2.amazonaws.com" + } }, "params": { + "Region": "us-east-2", "UseFIPS": false, - "Region": "us-iso-east-1", - "UseDualStack": true + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://acm.us-iso-east-1.c2s.ic.gov" + "url": "https://acm-fips.us-east-2.amazonaws.com" } }, "params": { - "UseFIPS": false, - "Region": "us-iso-east-1", + "Region": "us-east-2", + "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://acm-fips.ap-southeast-3.api.aws" + "url": "https://acm.us-west-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "ap-southeast-3", - "UseDualStack": true + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://acm-fips.ap-southeast-3.amazonaws.com" + "url": "https://acm-fips.us-west-1.amazonaws.com" } }, "params": { + "Region": "us-west-1", "UseFIPS": true, - "Region": "ap-southeast-3", "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://acm.ap-southeast-3.api.aws" + "url": "https://acm.us-west-2.amazonaws.com" } }, "params": { + "Region": "us-west-2", "UseFIPS": false, - "Region": "ap-southeast-3", - "UseDualStack": true + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://acm.ap-southeast-3.amazonaws.com" + "url": "https://acm-fips.us-west-2.amazonaws.com" } }, "params": { - "UseFIPS": false, - "Region": "ap-southeast-3", + "Region": "us-west-2", + "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://acm-fips.ap-southeast-4.api.aws" + "url": "https://acm-fips.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "Region": "ap-southeast-4", "UseDualStack": true } }, { - "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://acm-fips.ap-southeast-4.amazonaws.com" + "url": "https://acm.us-east-1.api.aws" } }, "params": { - "UseFIPS": true, - "Region": "ap-southeast-4", - "UseDualStack": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://acm.ap-southeast-4.api.aws" + "url": "https://acm.cn-north-1.amazonaws.com.cn" } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "Region": "ap-southeast-4", - "UseDualStack": true + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://acm.ap-southeast-4.amazonaws.com" + "url": "https://acm.cn-northwest-1.amazonaws.com.cn" } }, "params": { + "Region": "cn-northwest-1", "UseFIPS": false, - "Region": "ap-southeast-4", "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://acm-fips.us-east-1.api.aws" + "url": "https://acm-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "Region": "us-east-1", "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://acm-fips.us-east-1.amazonaws.com" + "url": "https://acm-fips.cn-north-1.amazonaws.com.cn" } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "Region": "us-east-1", "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://acm.us-east-1.api.aws" + "url": "https://acm.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "Region": "us-east-1", "UseDualStack": true } }, { - "documentation": "For region us-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://acm.us-east-1.amazonaws.com" + "url": "https://acm.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-east-1", "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://acm-fips.us-east-2.api.aws" + "url": "https://acm.us-gov-west-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "us-east-2", - "UseDualStack": true + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://acm-fips.us-east-2.amazonaws.com" + "url": "https://acm-fips.us-gov-east-1.api.aws" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-east-2", - "UseDualStack": false + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://acm.us-east-2.api.aws" + "url": "https://acm.us-gov-east-1.amazonaws.com" } }, "params": { - "UseFIPS": false, - "Region": "us-east-2", - "UseDualStack": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://acm.us-east-2.amazonaws.com" + "url": "https://acm.us-gov-east-1.api.aws" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-east-2", - "UseDualStack": false + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://acm-fips.cn-northwest-1.api.amazonwebservices.com.cn" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "cn-northwest-1", "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://acm-fips.cn-northwest-1.amazonaws.com.cn" + "url": "https://acm-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "cn-northwest-1", "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://acm.cn-northwest-1.api.amazonwebservices.com.cn" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "cn-northwest-1", "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://acm.cn-northwest-1.amazonaws.com.cn" + "url": "https://acm.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "cn-northwest-1", "UseDualStack": false } }, @@ -1714,8 +561,8 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseFIPS": true, "Region": "us-isob-east-1", + "UseFIPS": true, "UseDualStack": true } }, @@ -1727,8 +574,8 @@ } }, "params": { - "UseFIPS": true, "Region": "us-isob-east-1", + "UseFIPS": true, "UseDualStack": false } }, @@ -1738,8 +585,8 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseFIPS": false, "Region": "us-isob-east-1", + "UseFIPS": false, "UseDualStack": true } }, @@ -1751,21 +598,34 @@ } }, "params": { - "UseFIPS": false, "Region": "us-isob-east-1", + "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, "UseDualStack": false, "Endpoint": "https://example.com" } @@ -1776,8 +636,8 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, "UseDualStack": false, "Endpoint": "https://example.com" } @@ -1788,11 +648,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/acmpca/pom.xml b/services/acmpca/pom.xml index d70b9efd9dac..7edecce8ea4a 100644 --- a/services/acmpca/pom.xml +++ b/services/acmpca/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT acmpca AWS Java SDK :: Services :: ACM PCA diff --git a/services/acmpca/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/acmpca/src/main/resources/codegen-resources/endpoint-rule-set.json index ad3be5fe1b49..32fd04c4617b 100644 --- a/services/acmpca/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/acmpca/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,92 +140,83 @@ { "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://acm-pca-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://acm-pca-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 + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], @@ -221,155 +225,115 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, + "aws-us-gov", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] } ] } ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - "aws-us-gov", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://acm-pca.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://acm-pca-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] + "endpoint": { + "url": "https://acm-pca.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://acm-pca-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://acm-pca.{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://acm-pca.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://acm-pca.{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://acm-pca.{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/services/alexaforbusiness/pom.xml b/services/alexaforbusiness/pom.xml index c4403b8a3885..3a6c2c4efb3c 100644 --- a/services/alexaforbusiness/pom.xml +++ b/services/alexaforbusiness/pom.xml @@ -20,7 +20,7 @@ services software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 alexaforbusiness diff --git a/services/alexaforbusiness/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/alexaforbusiness/src/main/resources/codegen-resources/endpoint-rule-set.json index da4c0c1adabd..d8065b9dc0df 100644 --- a/services/alexaforbusiness/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/alexaforbusiness/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://a4b-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://a4b-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://a4b-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://a4b-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://a4b.{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://a4b.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://a4b.{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://a4b.{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/services/amp/pom.xml b/services/amp/pom.xml index c6f491a50b4d..ae4872e49cfd 100644 --- a/services/amp/pom.xml +++ b/services/amp/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT amp AWS Java SDK :: Services :: Amp diff --git a/services/amp/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/amp/src/main/resources/codegen-resources/endpoint-rule-set.json index 08690bafa0c8..680cfa26fdb1 100644 --- a/services/amp/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/amp/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://aps-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://aps-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://aps-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://aps-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://aps.{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://aps.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://aps.{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://aps.{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/services/amplify/pom.xml b/services/amplify/pom.xml index a9c3d32b9ee1..ba0b1d445018 100644 --- a/services/amplify/pom.xml +++ b/services/amplify/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT amplify AWS Java SDK :: Services :: Amplify diff --git a/services/amplify/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/amplify/src/main/resources/codegen-resources/endpoint-rule-set.json index e682b46ce076..768604d35e61 100644 --- a/services/amplify/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/amplify/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://amplify-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://amplify-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://amplify.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://amplify.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://amplify.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://amplify.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/amplify/src/main/resources/codegen-resources/endpoint-tests.json b/services/amplify/src/main/resources/codegen-resources/endpoint-tests.json index 5511080471e3..4e703f6268d1 100644 --- a/services/amplify/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/amplify/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,42 +1,42 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://amplify-fips.ap-south-1.api.aws" + "url": "https://amplify.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-south-1" + "Region": "ap-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://amplify-fips.ap-south-1.amazonaws.com" + "url": "https://amplify.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-south-1" + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://amplify.ap-south-1.api.aws" + "url": "https://amplify.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "ap-northeast-2", "UseFIPS": false, - "Region": "ap-south-1" + "UseDualStack": false } }, { @@ -47,100 +47,35 @@ } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-south-1" - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://amplify-fips.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-south-1" - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://amplify-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-south-1" - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://amplify.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, + "Region": "ap-south-1", "UseFIPS": false, - "Region": "eu-south-1" + "UseDualStack": false } }, { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://amplify.eu-south-1.amazonaws.com" + "url": "https://amplify.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-southeast-1", "UseFIPS": false, - "Region": "eu-south-1" - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://amplify-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ca-central-1" - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://amplify-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ca-central-1" + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://amplify.ca-central-1.api.aws" + "url": "https://amplify.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "ap-southeast-2", "UseFIPS": false, - "Region": "ca-central-1" + "UseDualStack": false } }, { @@ -151,48 +86,9 @@ } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ca-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://amplify-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://amplify-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://amplify.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, + "Region": "ca-central-1", "UseFIPS": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { @@ -203,152 +99,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "eu-central-1", "UseFIPS": false, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://amplify-fips.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-west-1" - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://amplify-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-west-1" - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://amplify.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-west-1" - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://amplify.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-west-1" - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://amplify-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-west-2" - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://amplify-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-west-2" - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://amplify.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-west-2" - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://amplify.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-west-2" - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://amplify-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-north-1" - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://amplify-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-north-1" - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://amplify.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-north-1" + "UseDualStack": false } }, { @@ -359,100 +112,35 @@ } }, "params": { - "UseDualStack": false, + "Region": "eu-north-1", "UseFIPS": false, - "Region": "eu-north-1" + "UseDualStack": false } }, { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://amplify-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://amplify-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://amplify.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://amplify.eu-west-3.amazonaws.com" + "url": "https://amplify.eu-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-south-1", "UseFIPS": false, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://amplify-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-west-2" - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://amplify-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-west-2" + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://amplify.eu-west-2.api.aws" + "url": "https://amplify.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "eu-west-1", "UseFIPS": false, - "Region": "eu-west-2" + "UseDualStack": false } }, { @@ -463,542 +151,365 @@ } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-west-2" - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://amplify-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-west-1" - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://amplify-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-west-1" - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://amplify.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, + "Region": "eu-west-2", "UseFIPS": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://amplify.eu-west-1.amazonaws.com" + "url": "https://amplify.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-west-3", "UseFIPS": false, - "Region": "eu-west-1" - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://amplify-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-northeast-2" - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://amplify-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://amplify.ap-northeast-2.api.aws" + "url": "https://amplify.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "me-south-1", "UseFIPS": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://amplify.ap-northeast-2.amazonaws.com" + "url": "https://amplify.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "sa-east-1", "UseFIPS": false, - "Region": "ap-northeast-2" - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://amplify-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://amplify-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-northeast-1" - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://amplify.ap-northeast-1.api.aws" + "url": "https://amplify.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://amplify.ap-northeast-1.amazonaws.com" + "url": "https://amplify.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-2", "UseFIPS": false, - "Region": "ap-northeast-1" - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://amplify-fips.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "me-south-1" + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://amplify-fips.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "me-south-1" - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://amplify.me-south-1.api.aws" + "url": "https://amplify.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "us-west-1", "UseFIPS": false, - "Region": "me-south-1" + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://amplify.me-south-1.amazonaws.com" + "url": "https://amplify.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-west-2", "UseFIPS": false, - "Region": "me-south-1" + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://amplify-fips.sa-east-1.api.aws" + "url": "https://amplify-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": true, - "Region": "sa-east-1" + "UseDualStack": true } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://amplify-fips.sa-east-1.amazonaws.com" + "url": "https://amplify-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": true, - "Region": "sa-east-1" - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://amplify.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://amplify.sa-east-1.amazonaws.com" + "url": "https://amplify.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "sa-east-1" + "UseDualStack": true } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://amplify-fips.ap-east-1.api.aws" + "url": "https://amplify-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "ap-east-1" + "UseDualStack": true } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://amplify-fips.ap-east-1.amazonaws.com" + "url": "https://amplify-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "ap-east-1" + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://amplify.ap-east-1.api.aws" + "url": "https://amplify.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "ap-east-1" + "UseDualStack": true } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://amplify.ap-east-1.amazonaws.com" + "url": "https://amplify.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "ap-east-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://amplify-fips.ap-southeast-1.api.aws" + "url": "https://amplify-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "ap-southeast-1" + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://amplify-fips.ap-southeast-1.amazonaws.com" + "url": "https://amplify-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://amplify.ap-southeast-1.api.aws" + "url": "https://amplify.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "ap-southeast-1" + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://amplify.ap-southeast-1.amazonaws.com" + "url": "https://amplify.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://amplify-fips.ap-southeast-2.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "ap-southeast-2" + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://amplify-fips.ap-southeast-2.amazonaws.com" + "url": "https://amplify-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://amplify.ap-southeast-2.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "ap-southeast-2" + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://amplify.ap-southeast-2.amazonaws.com" + "url": "https://amplify.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://amplify-fips.us-east-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://amplify-fips.us-east-1.amazonaws.com" + "url": "https://amplify-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://amplify.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://amplify.us-east-1.amazonaws.com" + "url": "https://amplify.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "us-east-1" - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://amplify-fips.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-east-2" + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://amplify-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-east-2" - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://amplify.us-east-2.api.aws" + "url": "https://example.com" } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-east-2" - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://amplify.us-east-2.amazonaws.com" - } - }, - "params": { "UseDualStack": false, - "UseFIPS": false, - "Region": "us-east-2" + "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" } }, "params": { - "UseDualStack": false, "UseFIPS": false, - "Region": "us-east-1", + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1008,9 +519,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1020,11 +531,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/amplifybackend/pom.xml b/services/amplifybackend/pom.xml index 1fc646f46476..c00d4faeb309 100644 --- a/services/amplifybackend/pom.xml +++ b/services/amplifybackend/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT amplifybackend AWS Java SDK :: Services :: Amplify Backend diff --git a/services/amplifyuibuilder/pom.xml b/services/amplifyuibuilder/pom.xml index 6207c667c313..db53e5c41126 100644 --- a/services/amplifyuibuilder/pom.xml +++ b/services/amplifyuibuilder/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT amplifyuibuilder AWS Java SDK :: Services :: Amplify UI Builder diff --git a/services/amplifyuibuilder/src/main/resources/codegen-resources/service-2.json b/services/amplifyuibuilder/src/main/resources/codegen-resources/service-2.json index 6f659c6178d7..2036bd84d663 100644 --- a/services/amplifyuibuilder/src/main/resources/codegen-resources/service-2.json +++ b/services/amplifyuibuilder/src/main/resources/codegen-resources/service-2.json @@ -126,7 +126,7 @@ "errors":[ {"shape":"InvalidParameterException"} ], - "documentation":"

      Exchanges an access code for a token.

      " + "documentation":"

      This is for internal use.

      Amplify uses this action to exchange an access code for a token.

      " }, "ExportComponents":{ "name":"ExportComponents", @@ -340,7 +340,7 @@ "errors":[ {"shape":"InvalidParameterException"} ], - "documentation":"

      Refreshes a previously issued access token that might have expired.

      " + "documentation":"

      This is for internal use.

      Amplify uses this action to refresh a previously issued access token that might have expired.

      " }, "StartCodegenJob":{ "name":"StartCodegenJob", @@ -486,6 +486,32 @@ "type":"boolean", "box":true }, + "CodegenDependencies":{ + "type":"list", + "member":{"shape":"CodegenDependency"} + }, + "CodegenDependency":{ + "type":"structure", + "members":{ + "name":{ + "shape":"String", + "documentation":"

      Name of the dependency package.

      " + }, + "supportedVersion":{ + "shape":"String", + "documentation":"

      Indicates the version of the supported dependency package.

      " + }, + "isSemVer":{ + "shape":"Boolean", + "documentation":"

      Determines if the dependency package is using Semantic versioning. If set to true, it indicates that the dependency package uses Semantic versioning.

      " + }, + "reason":{ + "shape":"String", + "documentation":"

      Indicates the reason to include the dependency package in your project code.

      " + } + }, + "documentation":"

      Dependency package that may be required for the project code to run.

      " + }, "CodegenFeatureFlags":{ "type":"structure", "members":{ @@ -728,6 +754,10 @@ "modifiedAt":{ "shape":"SyntheticTimestamp_date_time", "documentation":"

      The time that the code generation job was modified.

      " + }, + "dependencies":{ + "shape":"CodegenDependencies", + "documentation":"

      Lists the dependency packages that may be required for the project code to run.

      " } }, "documentation":"

      Describes the configuration for a code generation job that is associated with an Amplify app.

      " @@ -2952,6 +2982,12 @@ }, "payload":"body" }, + "ReactCodegenDependencies":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"}, + "documentation":"

      Indicates the dependency version of the project code to be generated by Amazon Web Services Amplify. The version of the generated code output is determined by the version number contained in aws-amplify.

      " + }, "ReactStartCodegenJobData":{ "type":"structure", "members":{ @@ -2978,6 +3014,10 @@ "apiConfiguration":{ "shape":"ApiConfiguration", "documentation":"

      The API configuration for the code generation job.

      " + }, + "dependencies":{ + "shape":"ReactCodegenDependencies", + "documentation":"

      Lists the dependency packages that may be required for the project code to run.

      " } }, "documentation":"

      Describes the code generation job configuration for a React project.

      " diff --git a/services/apigateway/pom.xml b/services/apigateway/pom.xml index bb919900cb82..cc3c0e1163be 100644 --- a/services/apigateway/pom.xml +++ b/services/apigateway/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT apigateway AWS Java SDK :: Services :: Amazon API Gateway diff --git a/services/apigatewaymanagementapi/pom.xml b/services/apigatewaymanagementapi/pom.xml index 3df19dab349e..bf283d3e2cff 100644 --- a/services/apigatewaymanagementapi/pom.xml +++ b/services/apigatewaymanagementapi/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT apigatewaymanagementapi AWS Java SDK :: Services :: ApiGatewayManagementApi diff --git a/services/apigatewaymanagementapi/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/apigatewaymanagementapi/src/main/resources/codegen-resources/endpoint-rule-set.json index 86b1601dab1a..50250cd0720c 100644 --- a/services/apigatewaymanagementapi/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/apigatewaymanagementapi/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "parseURL", + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,221 +140,175 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://execute-api-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] }, { "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] - }, + } + ], + "type": "tree", + "rules": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://execute-api-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://execute-api-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://execute-api-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://execute-api.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://execute-api.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://execute-api.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://execute-api.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/apigatewaymanagementapi/src/main/resources/codegen-resources/endpoint-tests.json b/services/apigatewaymanagementapi/src/main/resources/codegen-resources/endpoint-tests.json index ac0750521cf5..60e09580503a 100644 --- a/services/apigatewaymanagementapi/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/apigatewaymanagementapi/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,1299 +1,159 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.eu-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.eu-south-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api.eu-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api.eu-south-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.me-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.me-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api.me-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api.me-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "UseDualStack": true, - "Region": "us-iso-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.us-iso-west-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-iso-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "UseDualStack": true, - "Region": "us-iso-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api.us-iso-west-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-iso-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.ap-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.ap-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api.ap-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api.ap-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://execute-api-fips.us-gov-west-1.api.aws" + "url": "https://execute-api-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://execute-api-fips.us-gov-west-1.amazonaws.com" + "url": "https://execute-api-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://execute-api.us-gov-west-1.api.aws" + "url": "https://execute-api.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://execute-api.us-gov-west-1.amazonaws.com" + "url": "https://execute-api.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://execute-api-fips.ap-southeast-1.api.aws" + "url": "https://execute-api-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://execute-api-fips.ap-southeast-1.amazonaws.com" + "url": "https://execute-api-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://execute-api.ap-southeast-1.api.aws" + "url": "https://execute-api.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://execute-api.ap-southeast-1.amazonaws.com" + "url": "https://execute-api.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://execute-api-fips.ap-southeast-2.api.aws" + "url": "https://execute-api-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://execute-api-fips.ap-southeast-2.amazonaws.com" + "url": "https://execute-api-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://execute-api.ap-southeast-2.api.aws" + "url": "https://execute-api.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://execute-api.ap-southeast-2.amazonaws.com" + "url": "https://execute-api.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1302,9 +162,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, "Region": "us-iso-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -1315,9 +175,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-iso-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -1326,9 +186,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, "Region": "us-iso-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -1339,165 +199,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-iso-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.us-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.us-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api.us-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api.us-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api.us-east-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.cn-northwest-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api-fips.cn-northwest-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://execute-api.cn-northwest-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://execute-api.cn-northwest-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1506,9 +210,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -1519,9 +223,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -1530,9 +234,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -1543,22 +247,35 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1568,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1580,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/apigatewayv2/pom.xml b/services/apigatewayv2/pom.xml index c1734462eff1..dc42b5d1ff91 100644 --- a/services/apigatewayv2/pom.xml +++ b/services/apigatewayv2/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT apigatewayv2 AWS Java SDK :: Services :: ApiGatewayV2 diff --git a/services/apigatewayv2/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/apigatewayv2/src/main/resources/codegen-resources/endpoint-rule-set.json index 620ab96f2a3e..618041523568 100644 --- a/services/apigatewayv2/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/apigatewayv2/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://apigateway-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://apigateway-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://apigateway-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://apigateway-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://apigateway.{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://apigateway.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://apigateway.{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://apigateway.{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/services/appconfig/pom.xml b/services/appconfig/pom.xml index 8ae4ca30b4b4..186b7e9966ca 100644 --- a/services/appconfig/pom.xml +++ b/services/appconfig/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT appconfig AWS Java SDK :: Services :: AppConfig diff --git a/services/appconfig/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/appconfig/src/main/resources/codegen-resources/endpoint-rule-set.json index a77bfa88091b..dc7da8dca97b 100644 --- a/services/appconfig/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/appconfig/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,92 +140,83 @@ { "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://appconfig-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://appconfig-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 + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], @@ -221,168 +225,128 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "Region" + }, + "us-gov-east-1" ] } ], - "type": "tree", - "rules": [ + "endpoint": { + "url": "https://appconfig.us-gov-east-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-east-1" - ] - } - ], - "endpoint": { - "url": "https://appconfig.us-gov-east-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, + "fn": "stringEquals", + "argv": [ { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-west-1" - ] - } - ], - "endpoint": { - "url": "https://appconfig.us-gov-west-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "ref": "Region" }, - { - "conditions": [], - "endpoint": { - "url": "https://appconfig-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "us-gov-west-1" ] } - ] + ], + "endpoint": { + "url": "https://appconfig.us-gov-west-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://appconfig-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://appconfig.{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://appconfig.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://appconfig.{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://appconfig.{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/services/appconfig/src/main/resources/codegen-resources/endpoint-tests.json b/services/appconfig/src/main/resources/codegen-resources/endpoint-tests.json index 513cab3cb6cf..be05a360bde3 100644 --- a/services/appconfig/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/appconfig/src/main/resources/codegen-resources/endpoint-tests.json @@ -9,8 +9,8 @@ }, "params": { "Region": "af-south-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -22,8 +22,8 @@ }, "params": { "Region": "ap-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -35,8 +35,8 @@ }, "params": { "Region": "ap-northeast-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -48,8 +48,8 @@ }, "params": { "Region": "ap-northeast-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -61,8 +61,8 @@ }, "params": { "Region": "ap-northeast-3", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -74,8 +74,8 @@ }, "params": { "Region": "ap-south-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -87,8 +87,8 @@ }, "params": { "Region": "ap-southeast-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -100,8 +100,8 @@ }, "params": { "Region": "ap-southeast-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -113,8 +113,8 @@ }, "params": { "Region": "ap-southeast-3", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -126,8 +126,8 @@ }, "params": { "Region": "ca-central-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -139,8 +139,8 @@ }, "params": { "Region": "eu-central-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -152,8 +152,8 @@ }, "params": { "Region": "eu-north-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -165,8 +165,8 @@ }, "params": { "Region": "eu-south-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -178,8 +178,8 @@ }, "params": { "Region": "eu-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -191,8 +191,8 @@ }, "params": { "Region": "eu-west-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -204,8 +204,8 @@ }, "params": { "Region": "eu-west-3", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -217,8 +217,8 @@ }, "params": { "Region": "me-south-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -230,8 +230,8 @@ }, "params": { "Region": "sa-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -243,8 +243,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -256,8 +256,8 @@ }, "params": { "Region": "us-east-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -269,8 +269,8 @@ }, "params": { "Region": "us-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -282,8 +282,8 @@ }, "params": { "Region": "us-west-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -295,8 +295,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -308,8 +308,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -321,8 +321,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -334,8 +334,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -347,8 +347,8 @@ }, "params": { "Region": "cn-northwest-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -360,8 +360,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -373,8 +373,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -386,8 +386,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -399,8 +399,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -412,8 +412,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -425,8 +425,8 @@ }, "params": { "Region": "us-gov-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -438,8 +438,8 @@ }, "params": { "Region": "us-gov-west-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -451,8 +451,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -464,8 +464,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -477,8 +477,8 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -490,8 +490,19 @@ }, "params": { "Region": "us-iso-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -503,8 +514,19 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -516,8 +538,19 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -529,8 +562,19 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -542,8 +586,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -555,8 +599,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -567,8 +611,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -579,10 +623,16 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/appconfig/src/main/resources/codegen-resources/paginators-1.json b/services/appconfig/src/main/resources/codegen-resources/paginators-1.json index e1a031132531..f176babae353 100644 --- a/services/appconfig/src/main/resources/codegen-resources/paginators-1.json +++ b/services/appconfig/src/main/resources/codegen-resources/paginators-1.json @@ -3,42 +3,50 @@ "ListApplications": { "input_token": "NextToken", "output_token": "NextToken", - "limit_key": "MaxResults" + "limit_key": "MaxResults", + "result_key": "Items" }, "ListConfigurationProfiles": { "input_token": "NextToken", "output_token": "NextToken", - "limit_key": "MaxResults" + "limit_key": "MaxResults", + "result_key": "Items" }, "ListDeploymentStrategies": { "input_token": "NextToken", "output_token": "NextToken", - "limit_key": "MaxResults" + "limit_key": "MaxResults", + "result_key": "Items" }, "ListDeployments": { "input_token": "NextToken", "output_token": "NextToken", - "limit_key": "MaxResults" + "limit_key": "MaxResults", + "result_key": "Items" }, "ListEnvironments": { "input_token": "NextToken", "output_token": "NextToken", - "limit_key": "MaxResults" + "limit_key": "MaxResults", + "result_key": "Items" }, "ListExtensionAssociations": { "input_token": "NextToken", "output_token": "NextToken", - "limit_key": "MaxResults" + "limit_key": "MaxResults", + "result_key": "Items" }, "ListExtensions": { "input_token": "NextToken", "output_token": "NextToken", - "limit_key": "MaxResults" + "limit_key": "MaxResults", + "result_key": "Items" }, "ListHostedConfigurationVersions": { "input_token": "NextToken", "output_token": "NextToken", - "limit_key": "MaxResults" + "limit_key": "MaxResults", + "result_key": "Items" } } } diff --git a/services/appconfig/src/main/resources/codegen-resources/service-2.json b/services/appconfig/src/main/resources/codegen-resources/service-2.json index d37d8fd77dd8..434daa4458bf 100644 --- a/services/appconfig/src/main/resources/codegen-resources/service-2.json +++ b/services/appconfig/src/main/resources/codegen-resources/service-2.json @@ -24,6 +24,7 @@ "output":{"shape":"Application"}, "errors":[ {"shape":"BadRequestException"}, + {"shape":"ServiceQuotaExceededException"}, {"shape":"InternalServerException"} ], "documentation":"

      Creates an application. In AppConfig, an application is simply an organizational construct like a folder. This organizational construct has a relationship with some unit of executable code. For example, you could create an application called MyMobileApp to organize and manage configuration data for a mobile application installed by your users.

      " @@ -40,7 +41,8 @@ "errors":[ {"shape":"BadRequestException"}, {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"} + {"shape":"InternalServerException"}, + {"shape":"ServiceQuotaExceededException"} ], "documentation":"

      Creates a configuration profile, which is information that enables AppConfig to access the configuration source. Valid configuration sources include the following:

      • Configuration data in YAML, JSON, and other formats stored in the AppConfig hosted configuration store

      • Configuration data stored as objects in an Amazon Simple Storage Service (Amazon S3) bucket

      • Pipelines stored in CodePipeline

      • Secrets stored in Secrets Manager

      • Standard and secure string parameters stored in Amazon Web Services Systems Manager Parameter Store

      • Configuration data in SSM documents stored in the Systems Manager document store

      A configuration profile includes the following information:

      • The URI location of the configuration data.

      • The Identity and Access Management (IAM) role that provides access to the configuration data.

      • A validator for the configuration data. Available validators include either a JSON Schema or an Amazon Web Services Lambda function.

      For more information, see Create a Configuration and a Configuration Profile in the AppConfig User Guide.

      " }, @@ -55,6 +57,7 @@ "output":{"shape":"DeploymentStrategy"}, "errors":[ {"shape":"InternalServerException"}, + {"shape":"ServiceQuotaExceededException"}, {"shape":"BadRequestException"} ], "documentation":"

      Creates a deployment strategy that defines important criteria for rolling out your configuration to the designated targets. A deployment strategy includes the overall duration required, a percentage of targets to receive the deployment during each interval, an algorithm that defines how percentage grows, and bake time.

      " @@ -71,7 +74,8 @@ "errors":[ {"shape":"InternalServerException"}, {"shape":"ResourceNotFoundException"}, - {"shape":"BadRequestException"} + {"shape":"BadRequestException"}, + {"shape":"ServiceQuotaExceededException"} ], "documentation":"

      Creates an environment. For each application, you define one or more environments. An environment is a deployment group of AppConfig targets, such as applications in a Beta or Production environment. You can also define environments for application subcomponents such as the Web, Mobile and Back-end components for your application. You can configure Amazon CloudWatch alarms for each environment. The system monitors alarms during a configuration deployment. If an alarm is triggered, the system rolls back the configuration.

      " }, @@ -90,7 +94,7 @@ {"shape":"ServiceQuotaExceededException"}, {"shape":"InternalServerException"} ], - "documentation":"

      Creates an AppConfig extension. An extension augments your ability to inject logic or behavior at different points during the AppConfig workflow of creating or deploying a configuration.

      You can create your own extensions or use the Amazon Web Services authored extensions provided by AppConfig. For most use cases, to create your own extension, you must create an Lambda function to perform any computation and processing defined in the extension. For more information about extensions, see Working with AppConfig extensions in the AppConfig User Guide.

      " + "documentation":"

      Creates an AppConfig extension. An extension augments your ability to inject logic or behavior at different points during the AppConfig workflow of creating or deploying a configuration.

      You can create your own extensions or use the Amazon Web Services authored extensions provided by AppConfig. For an AppConfig extension that uses Lambda, you must create a Lambda function to perform any computation and processing defined in the extension. If you plan to create custom versions of the Amazon Web Services authored notification extensions, you only need to specify an Amazon Resource Name (ARN) in the Uri field for the new extension version.

      • For a custom EventBridge notification extension, enter the ARN of the EventBridge default events in the Uri field.

      • For a custom Amazon SNS notification extension, enter the ARN of an Amazon SNS topic in the Uri field.

      • For a custom Amazon SQS notification extension, enter the ARN of an Amazon SQS message queue in the Uri field.

      For more information about extensions, see Working with AppConfig extensions in the AppConfig User Guide.

      " }, "CreateExtensionAssociation":{ "name":"CreateExtensionAssociation", @@ -940,6 +944,14 @@ "Type":{ "shape":"ConfigurationProfileType", "documentation":"

      The type of configurations contained in the profile. AppConfig supports feature flags and freeform configurations. We recommend you create feature flag configurations to enable or disable new features and freeform configurations to distribute configurations to an application. When calling this API, enter one of the following values for Type:

      AWS.AppConfig.FeatureFlags

      AWS.Freeform

      " + }, + "KmsKeyArn":{ + "shape":"Arn", + "documentation":"

      The Amazon Resource Name of the Key Management Service key to encrypt new configuration data versions in the AppConfig hosted configuration store. This attribute is only used for hosted configuration types. To encrypt data managed in other configuration stores, see the documentation for how to specify an KMS key for that particular service.

      " + }, + "KmsKeyIdentifier":{ + "shape":"KmsKeyIdentifier", + "documentation":"

      The Key Management Service key identifier (key ID, key alias, or key ARN) provided when the resource was created or updated.

      " } } }, @@ -1045,7 +1057,7 @@ }, "LocationUri":{ "shape":"Uri", - "documentation":"

      A URI to locate the configuration. You can specify the following:

      • For the AppConfig hosted configuration store and for feature flags, specify hosted.

      • For an Amazon Web Services Systems Manager Parameter Store parameter, specify either the parameter name in the format ssm-parameter://<parameter name> or the ARN.

      • For an Secrets Manager secret, specify the URI in the following format: secrets-manager://<secret name>.

      • For an Amazon S3 object, specify the URI in the following format: s3://<bucket>/<objectKey> . Here is an example: s3://my-bucket/my-app/us-east-1/my-config.json

      • For an SSM document, specify either the document name in the format ssm-document://<document name> or the Amazon Resource Name (ARN).

      " + "documentation":"

      A URI to locate the configuration. You can specify the following:

      • For the AppConfig hosted configuration store and for feature flags, specify hosted.

      • For an Amazon Web Services Systems Manager Parameter Store parameter, specify either the parameter name in the format ssm-parameter://<parameter name> or the ARN.

      • For an Amazon Web Services CodePipeline pipeline, specify the URI in the following format: codepipeline://<pipeline name>.

      • For an Secrets Manager secret, specify the URI in the following format: secretsmanager://<secret name>.

      • For an Amazon S3 object, specify the URI in the following format: s3://<bucket>/<objectKey> . Here is an example: s3://my-bucket/my-app/us-east-1/my-config.json

      • For an SSM document, specify either the document name in the format ssm-document://<document name> or the Amazon Resource Name (ARN).

      " }, "RetrievalRoleArn":{ "shape":"RoleArn", @@ -1062,6 +1074,10 @@ "Type":{ "shape":"ConfigurationProfileType", "documentation":"

      The type of configurations contained in the profile. AppConfig supports feature flags and freeform configurations. We recommend you create feature flag configurations to enable or disable new features and freeform configurations to distribute configurations to an application. When calling this API, enter one of the following values for Type:

      AWS.AppConfig.FeatureFlags

      AWS.Freeform

      " + }, + "KmsKeyIdentifier":{ + "shape":"KmsKeyIdentifier", + "documentation":"

      The identifier for an Key Management Service key to encrypt new configuration data versions in the AppConfig hosted configuration store. This attribute is only used for hosted configuration types. The identifier can be an KMS key ID, alias, or the Amazon Resource Name (ARN) of the key ID or alias. To encrypt data managed in other configuration stores, see the documentation for how to specify an KMS key for that particular service.

      " } } }, @@ -1178,7 +1194,7 @@ ], "members":{ "Name":{ - "shape":"Name", + "shape":"ExtensionOrParameterName", "documentation":"

      A name for the extension. Each extension name in your account must be unique. Extension versions use the same name.

      " }, "Description":{ @@ -1468,8 +1484,12 @@ "documentation":"

      The Amazon Resource Name of the Key Management Service key used to encrypt configuration data. You can encrypt secrets stored in Secrets Manager, Amazon Simple Storage Service (Amazon S3) objects encrypted with SSE-KMS, or secure string parameters stored in Amazon Web Services Systems Manager Parameter Store.

      " }, "KmsKeyIdentifier":{ - "shape":"Identifier", - "documentation":"

      The KMS key identifier (key ID, key alias, or key ARN). AppConfig uses this ID to encrypt the configuration data using a customer managed key.

      " + "shape":"KmsKeyIdentifier", + "documentation":"

      The Key Management Service key identifier (key ID, key alias, or key ARN) provided when the resource was created or updated.

      " + }, + "VersionLabel":{ + "shape":"VersionLabel", + "documentation":"

      A user-defined label for an AppConfig hosted configuration version.

      " } } }, @@ -1486,7 +1506,7 @@ }, "Description":{ "shape":"Description", - "documentation":"

      A description of the deployment event. Descriptions include, but are not limited to, the user account or the Amazon CloudWatch alarm ARN that initiated a rollback, the percentage of hosts that received the deployment, or in the case of an internal error, a recommendation to attempt a new deployment.

      " + "documentation":"

      A description of the deployment event. Descriptions include, but are not limited to, the following:

      • The Amazon Web Services account or the Amazon CloudWatch alarm ARN that initiated a rollback.

      • The percentage of hosts that received the deployment.

      • A recommendation to attempt a new deployment (in the case of an internal error).

      " }, "ActionInvocations":{ "shape":"ActionInvocations", @@ -1633,6 +1653,10 @@ "CompletedAt":{ "shape":"Iso8601DateTime", "documentation":"

      Time the deployment completed.

      " + }, + "VersionLabel":{ + "shape":"VersionLabel", + "documentation":"

      A user-defined label for an AppConfig hosted configuration version.

      " } }, "documentation":"

      Information about the deployment.

      " @@ -1807,6 +1831,10 @@ } } }, + "ExtensionOrParameterName":{ + "type":"string", + "pattern":"^[^\\/#:\\n]{1,64}$" + }, "ExtensionSummaries":{ "type":"list", "member":{"shape":"ExtensionSummary"} @@ -2100,6 +2128,12 @@ "documentation":"

      A user-defined label for an AppConfig hosted configuration version.

      ", "location":"header", "locationName":"VersionLabel" + }, + "KmsKeyArn":{ + "shape":"Arn", + "documentation":"

      The Amazon Resource Name of the Key Management Service key that was used to encrypt this specific version of the configuration data in the AppConfig hosted configuration store.

      ", + "location":"header", + "locationName":"KmsKeyArn" } }, "payload":"Content" @@ -2130,6 +2164,10 @@ "VersionLabel":{ "shape":"VersionLabel", "documentation":"

      A user-defined label for an AppConfig hosted configuration version.

      " + }, + "KmsKeyArn":{ + "shape":"Arn", + "documentation":"

      The Amazon Resource Name of the Key Management Service key that was used to encrypt this specific version of the configuration data in the AppConfig hosted configuration store.

      " } }, "documentation":"

      Information about the configuration.

      " @@ -2205,6 +2243,14 @@ "type":"timestamp", "timestampFormat":"iso8601" }, + "KmsKeyIdentifier":{ + "type":"string", + "pattern":"^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}|alias/[a-zA-Z0-9/_-]{1,250}|arn:aws[a-zA-Z-]*:kms:[a-z]{2}(-gov|-iso(b?))?-[a-z]+-\\d{1}:\\d{12}:(key/[0-9a-f-]{36}|alias/[a-zA-Z0-9/_-]{1,250})$" + }, + "KmsKeyIdentifierOrEmpty":{ + "type":"string", + "pattern":"^\\s{0,1}|[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}|alias/[a-zA-Z0-9/_-]{1,250}|arn:aws[a-zA-Z-]*:kms:[a-z]{2}(-gov|-iso(b?))?-[a-z]+-\\d{1}:\\d{12}:(key/[0-9a-f-]{36}|alias/[a-zA-Z0-9/_-]{1,250})$" + }, "ListApplicationsRequest":{ "type":"structure", "members":{ @@ -2506,14 +2552,14 @@ }, "ParameterMap":{ "type":"map", - "key":{"shape":"Name"}, + "key":{"shape":"ExtensionOrParameterName"}, "value":{"shape":"Parameter"}, "max":5, "min":1 }, "ParameterValueMap":{ "type":"map", - "key":{"shape":"Name"}, + "key":{"shape":"ExtensionOrParameterName"}, "value":{"shape":"StringWithLengthBetween1And2048"}, "max":5, "min":0 @@ -2577,7 +2623,7 @@ "members":{ "Message":{"shape":"String"} }, - "documentation":"

      The number of hosted configuration versions exceeds the limit for the AppConfig hosted configuration store. Delete one or more versions and try again.

      ", + "documentation":"

      The number of one more AppConfig resources exceeds the maximum allowed. Verify that your environment doesn't exceed the following service quotas:

      Applications: 100 max

      Deployment strategies: 20 max

      Configuration profiles: 100 max per application

      Environments: 20 max per application

      To resolve this issue, you can delete one or more resources and try again. Or, you can request a quota increase. For more information about quotas and to request an increase, see Service quotas for AppConfig in the Amazon Web Services General Reference.

      ", "error":{"httpStatusCode":402}, "exception":true }, @@ -2613,7 +2659,7 @@ }, "ConfigurationVersion":{ "shape":"Version", - "documentation":"

      The configuration version to deploy. If deploying an AppConfig hosted configuration version, you can specify either the version number or version label.

      " + "documentation":"

      The configuration version to deploy. If deploying an AppConfig hosted configuration version, you can specify either the version number or version label. For all other configurations, you must specify the version number.

      " }, "Description":{ "shape":"Description", @@ -2624,7 +2670,7 @@ "documentation":"

      Metadata to assign to the deployment. Tags help organize and categorize your AppConfig resources. Each tag consists of a key and an optional value, both of which you define.

      " }, "KmsKeyIdentifier":{ - "shape":"Identifier", + "shape":"KmsKeyIdentifier", "documentation":"

      The KMS key identifier (key ID, key alias, or key ARN). AppConfig uses this ID to encrypt the configuration data using a customer managed key.

      " } } @@ -2805,6 +2851,10 @@ "Validators":{ "shape":"ValidatorList", "documentation":"

      A list of methods for validating the configuration.

      " + }, + "KmsKeyIdentifier":{ + "shape":"KmsKeyIdentifierOrEmpty", + "documentation":"

      The identifier for a Key Management Service key to encrypt new configuration data versions in the AppConfig hosted configuration store. This attribute is only used for hosted configuration types. The identifier can be an KMS key ID, alias, or the Amazon Resource Name (ARN) of the key ID or alias. To encrypt data managed in other configuration stores, see the documentation for how to specify an KMS key for that particular service.

      " } } }, diff --git a/services/appconfigdata/pom.xml b/services/appconfigdata/pom.xml index 1039dd5b415f..35fe39bcfca9 100644 --- a/services/appconfigdata/pom.xml +++ b/services/appconfigdata/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT appconfigdata AWS Java SDK :: Services :: App Config Data diff --git a/services/appconfigdata/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/appconfigdata/src/main/resources/codegen-resources/endpoint-rule-set.json index 2a486b706d65..8272726ee700 100644 --- a/services/appconfigdata/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/appconfigdata/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://appconfigdata-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://appconfigdata-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://appconfigdata-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://appconfigdata-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://appconfigdata.{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://appconfigdata.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://appconfigdata.{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://appconfigdata.{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/services/appconfigdata/src/main/resources/codegen-resources/endpoint-tests.json b/services/appconfigdata/src/main/resources/codegen-resources/endpoint-tests.json index 538a6cf8257a..e7e234516994 100644 --- a/services/appconfigdata/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/appconfigdata/src/main/resources/codegen-resources/endpoint-tests.json @@ -9,8 +9,8 @@ }, "params": { "Region": "af-south-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -22,8 +22,8 @@ }, "params": { "Region": "ap-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -35,8 +35,8 @@ }, "params": { "Region": "ap-northeast-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -48,8 +48,8 @@ }, "params": { "Region": "ap-northeast-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -61,8 +61,8 @@ }, "params": { "Region": "ap-northeast-3", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -74,8 +74,8 @@ }, "params": { "Region": "ap-south-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -87,8 +87,8 @@ }, "params": { "Region": "ap-southeast-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -100,8 +100,8 @@ }, "params": { "Region": "ap-southeast-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -113,8 +113,8 @@ }, "params": { "Region": "ca-central-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -126,8 +126,8 @@ }, "params": { "Region": "eu-central-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -139,8 +139,8 @@ }, "params": { "Region": "eu-north-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -152,8 +152,8 @@ }, "params": { "Region": "eu-south-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -165,8 +165,8 @@ }, "params": { "Region": "eu-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -178,8 +178,8 @@ }, "params": { "Region": "eu-west-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -191,8 +191,8 @@ }, "params": { "Region": "eu-west-3", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -204,8 +204,8 @@ }, "params": { "Region": "me-south-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -217,8 +217,8 @@ }, "params": { "Region": "sa-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -230,8 +230,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -243,8 +243,8 @@ }, "params": { "Region": "us-east-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -256,8 +256,8 @@ }, "params": { "Region": "us-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -269,8 +269,8 @@ }, "params": { "Region": "us-west-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -282,8 +282,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -295,8 +295,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -308,8 +308,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -321,8 +321,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -334,8 +334,8 @@ }, "params": { "Region": "cn-northwest-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -347,8 +347,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -360,8 +360,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -373,8 +373,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -386,8 +386,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -399,8 +399,8 @@ }, "params": { "Region": "us-gov-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -412,8 +412,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -425,8 +425,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -438,8 +438,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -451,8 +451,19 @@ }, "params": { "Region": "us-iso-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -464,8 +475,19 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -477,8 +499,19 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -490,8 +523,19 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -503,8 +547,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -516,8 +560,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -529,8 +573,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -541,8 +585,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -553,10 +597,16 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/appfabric/pom.xml b/services/appfabric/pom.xml index fda8067145a7..1704fb6929e1 100644 --- a/services/appfabric/pom.xml +++ b/services/appfabric/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT appfabric AWS Java SDK :: Services :: App Fabric diff --git a/services/appfabric/src/main/resources/codegen-resources/endpoint-tests.json b/services/appfabric/src/main/resources/codegen-resources/endpoint-tests.json index 7f1f62b6d5a8..5d6f54098c6e 100644 --- a/services/appfabric/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/appfabric/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,54 +1,54 @@ { "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://appfabric-fips.us-gov-east-1.api.aws" + "url": "https://appfabric-fips.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": 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://appfabric-fips.us-gov-east-1.amazonaws.com" + "url": "https://appfabric-fips.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "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://appfabric.us-gov-east-1.api.aws" + "url": "https://appfabric.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "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://appfabric.us-gov-east-1.amazonaws.com" + "url": "https://appfabric.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-gov-east-1", "UseDualStack": false } }, @@ -60,8 +60,8 @@ } }, "params": { - "UseFIPS": true, "Region": "cn-north-1", + "UseFIPS": true, "UseDualStack": true } }, @@ -73,8 +73,8 @@ } }, "params": { - "UseFIPS": true, "Region": "cn-north-1", + "UseFIPS": true, "UseDualStack": false } }, @@ -86,8 +86,8 @@ } }, "params": { - "UseFIPS": false, "Region": "cn-north-1", + "UseFIPS": false, "UseDualStack": true } }, @@ -99,108 +99,108 @@ } }, "params": { - "UseFIPS": false, "Region": "cn-north-1", + "UseFIPS": false, "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://appfabric-fips.us-gov-east-1.api.aws" + } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": 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://appfabric-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://appfabric-fips.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "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://appfabric.us-gov-east-1.api.aws" + } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "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://appfabric.us-iso-east-1.c2s.ic.gov" + "url": "https://appfabric.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": 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://appfabric-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, - "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://appfabric-fips.us-east-1.amazonaws.com" + "url": "https://appfabric-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "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://appfabric.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "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://appfabric.us-east-1.amazonaws.com" + "url": "https://appfabric.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "us-east-1", "UseDualStack": false } }, @@ -210,8 +210,8 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseFIPS": true, "Region": "us-isob-east-1", + "UseFIPS": true, "UseDualStack": true } }, @@ -223,8 +223,8 @@ } }, "params": { - "UseFIPS": true, "Region": "us-isob-east-1", + "UseFIPS": true, "UseDualStack": false } }, @@ -234,8 +234,8 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseFIPS": false, "Region": "us-isob-east-1", + "UseFIPS": false, "UseDualStack": true } }, @@ -247,21 +247,34 @@ } }, "params": { - "UseFIPS": false, "Region": "us-isob-east-1", + "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, "UseDualStack": false, "Endpoint": "https://example.com" } @@ -272,8 +285,8 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, "UseDualStack": false, "Endpoint": "https://example.com" } @@ -284,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/appflow/pom.xml b/services/appflow/pom.xml index 1aff7e15622a..0d200c841205 100644 --- a/services/appflow/pom.xml +++ b/services/appflow/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT appflow AWS Java SDK :: Services :: Appflow diff --git a/services/appintegrations/pom.xml b/services/appintegrations/pom.xml index ae81f3551640..f2ba291bd16e 100644 --- a/services/appintegrations/pom.xml +++ b/services/appintegrations/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT appintegrations AWS Java SDK :: Services :: App Integrations diff --git a/services/appintegrations/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/appintegrations/src/main/resources/codegen-resources/endpoint-rule-set.json index 949e319b5256..deb3d197b8c4 100644 --- a/services/appintegrations/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/appintegrations/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://app-integrations-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://app-integrations-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://app-integrations-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://app-integrations-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://app-integrations.{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://app-integrations.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://app-integrations.{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://app-integrations.{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/services/appintegrations/src/main/resources/codegen-resources/endpoint-tests.json b/services/appintegrations/src/main/resources/codegen-resources/endpoint-tests.json index 0879f46a896e..c9bfaf66ce76 100644 --- a/services/appintegrations/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/appintegrations/src/main/resources/codegen-resources/endpoint-tests.json @@ -273,6 +273,17 @@ "UseDualStack": false } }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, { "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { @@ -286,6 +297,17 @@ "UseDualStack": false } }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, { "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { @@ -299,6 +321,17 @@ "UseDualStack": false } }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, { "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { @@ -312,6 +345,17 @@ "UseDualStack": false } }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, { "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { @@ -375,6 +419,12 @@ "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/appintegrations/src/main/resources/codegen-resources/paginators-1.json b/services/appintegrations/src/main/resources/codegen-resources/paginators-1.json index 5677bd8e4a2d..e94733543583 100644 --- a/services/appintegrations/src/main/resources/codegen-resources/paginators-1.json +++ b/services/appintegrations/src/main/resources/codegen-resources/paginators-1.json @@ -1,4 +1,34 @@ { "pagination": { + "ListApplications": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Applications" + }, + "ListDataIntegrationAssociations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "DataIntegrationAssociations" + }, + "ListDataIntegrations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "DataIntegrations" + }, + "ListEventIntegrationAssociations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "EventIntegrationAssociations" + }, + "ListEventIntegrations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "EventIntegrations" + } } -} +} \ No newline at end of file diff --git a/services/appintegrations/src/main/resources/codegen-resources/service-2.json b/services/appintegrations/src/main/resources/codegen-resources/service-2.json index 0733dafe8e38..3e9751bfe5b3 100644 --- a/services/appintegrations/src/main/resources/codegen-resources/service-2.json +++ b/services/appintegrations/src/main/resources/codegen-resources/service-2.json @@ -12,6 +12,24 @@ "uid":"appintegrations-2020-07-29" }, "operations":{ + "CreateApplication":{ + "name":"CreateApplication", + "http":{ + "method":"POST", + "requestUri":"/applications" + }, + "input":{"shape":"CreateApplicationRequest"}, + "output":{"shape":"CreateApplicationResponse"}, + "errors":[ + {"shape":"InternalServiceError"}, + {"shape":"ResourceQuotaExceededException"}, + {"shape":"DuplicateResourceException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

      This API is in preview release and subject to change.

      Creates and persists an Application resource.

      " + }, "CreateDataIntegration":{ "name":"CreateDataIntegration", "http":{ @@ -82,6 +100,23 @@ ], "documentation":"

      Deletes the specified existing event integration. If the event integration is associated with clients, the request is rejected.

      " }, + "GetApplication":{ + "name":"GetApplication", + "http":{ + "method":"GET", + "requestUri":"/applications/{Arn}" + }, + "input":{"shape":"GetApplicationRequest"}, + "output":{"shape":"GetApplicationResponse"}, + "errors":[ + {"shape":"InternalServiceError"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

      This API is in preview release and subject to change.

      Get an Application resource.

      " + }, "GetDataIntegration":{ "name":"GetDataIntegration", "http":{ @@ -116,6 +151,22 @@ ], "documentation":"

      Returns information about the event integration.

      " }, + "ListApplications":{ + "name":"ListApplications", + "http":{ + "method":"GET", + "requestUri":"/applications" + }, + "input":{"shape":"ListApplicationsRequest"}, + "output":{"shape":"ListApplicationsResponse"}, + "errors":[ + {"shape":"InternalServiceError"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

      This API is in preview release and subject to change.

      Lists applications in the account.

      " + }, "ListDataIntegrationAssociations":{ "name":"ListDataIntegrationAssociations", "http":{ @@ -230,6 +281,23 @@ ], "documentation":"

      Removes the specified tags from the specified resource.

      " }, + "UpdateApplication":{ + "name":"UpdateApplication", + "http":{ + "method":"PATCH", + "requestUri":"/applications/{Arn}" + }, + "input":{"shape":"UpdateApplicationRequest"}, + "output":{"shape":"UpdateApplicationResponse"}, + "errors":[ + {"shape":"InternalServiceError"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

      This API is in preview release and subject to change.

      Updates and persists an Application resource.

      " + }, "UpdateDataIntegration":{ "name":"UpdateDataIntegration", "http":{ @@ -275,12 +343,88 @@ "error":{"httpStatusCode":403}, "exception":true }, + "ApplicationApprovedOrigins":{ + "type":"list", + "member":{"shape":"ApplicationTrustedSource"}, + "max":50, + "min":1 + }, + "ApplicationName":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[a-zA-Z0-9\\/\\._ \\-]+$" + }, + "ApplicationNamespace":{ + "type":"string", + "max":32, + "min":1, + "pattern":"^[a-zA-Z0-9\\/\\._\\-]+$" + }, + "ApplicationSourceConfig":{ + "type":"structure", + "members":{ + "ExternalUrlConfig":{ + "shape":"ExternalUrlConfig", + "documentation":"

      The external URL source for the application.

      " + } + }, + "documentation":"

      The configuration for where the application should be loaded from.

      " + }, + "ApplicationSummary":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

      The Amazon Resource Name (ARN) of the Application.

      " + }, + "Id":{ + "shape":"UUID", + "documentation":"

      A unique identifier for the Application.

      " + }, + "Name":{ + "shape":"ApplicationName", + "documentation":"

      The name of the application.

      " + }, + "Namespace":{ + "shape":"ApplicationNamespace", + "documentation":"

      The namespace of the application.

      " + }, + "CreatedTime":{ + "shape":"Timestamp", + "documentation":"

      The time when the application was created.

      " + }, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

      The time when the application was last modified.

      " + } + }, + "documentation":"

      Summary information about the Application.

      " + }, + "ApplicationTrustedSource":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^\\w+\\:\\/\\/.*$" + }, + "ApplicationsList":{ + "type":"list", + "member":{"shape":"ApplicationSummary"}, + "max":50, + "min":1 + }, "Arn":{ "type":"string", "max":2048, "min":1, "pattern":"^arn:aws:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$" }, + "ArnOrUUID":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^(arn:aws:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}|[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})(:[\\w\\$]+)?$" + }, "ClientAssociationMetadata":{ "type":"map", "key":{"shape":"NonBlankString"}, @@ -292,6 +436,62 @@ "min":1, "pattern":".*" }, + "CreateApplicationRequest":{ + "type":"structure", + "required":[ + "Name", + "Namespace", + "ApplicationSourceConfig" + ], + "members":{ + "Name":{ + "shape":"ApplicationName", + "documentation":"

      The name of the application.

      " + }, + "Namespace":{ + "shape":"ApplicationNamespace", + "documentation":"

      The namespace of the application.

      " + }, + "Description":{ + "shape":"Description", + "documentation":"

      The description of the application.

      " + }, + "ApplicationSourceConfig":{ + "shape":"ApplicationSourceConfig", + "documentation":"

      The configuration for where the application should be loaded from.

      " + }, + "Subscriptions":{ + "shape":"SubscriptionList", + "documentation":"

      The events that the application subscribes.

      " + }, + "Publications":{ + "shape":"PublicationList", + "documentation":"

      The events that the application publishes.

      " + }, + "ClientToken":{ + "shape":"IdempotencyToken", + "documentation":"

      A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

      ", + "idempotencyToken":true + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

      The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

      " + } + } + }, + "CreateApplicationResponse":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

      The Amazon Resource Name (ARN) of the Application.

      " + }, + "Id":{ + "shape":"UUID", + "documentation":"

      A unique identifier for the Application.

      " + } + } + }, "CreateDataIntegrationRequest":{ "type":"structure", "required":[ @@ -542,6 +742,12 @@ "min":1, "pattern":"^[a-zA-Z0-9\\/\\._\\-]+$" }, + "EventDefinitionSchema":{ + "type":"string", + "max":10240, + "min":1, + "pattern":"^.*$" + }, "EventFilter":{ "type":"structure", "required":["Source"], @@ -625,6 +831,27 @@ "max":50, "min":1 }, + "EventName":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[a-zA-Z0-9\\/\\._\\-]+::[a-zA-Z0-9\\/\\._\\-]+(?:\\*)?$" + }, + "ExternalUrlConfig":{ + "type":"structure", + "required":["AccessUrl"], + "members":{ + "AccessUrl":{ + "shape":"URL", + "documentation":"

      The URL to access the application.

      " + }, + "ApprovedOrigins":{ + "shape":"ApplicationApprovedOrigins", + "documentation":"

      Additional URLs to allow list if different than the access URL.

      " + } + }, + "documentation":"

      The external URL source for the application.

      " + }, "Fields":{ "type":"string", "max":255, @@ -663,6 +890,67 @@ "max":10, "min":1 }, + "GetApplicationRequest":{ + "type":"structure", + "required":["Arn"], + "members":{ + "Arn":{ + "shape":"ArnOrUUID", + "documentation":"

      The Amazon Resource Name (ARN) of the Application.

      ", + "location":"uri", + "locationName":"Arn" + } + } + }, + "GetApplicationResponse":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

      The Amazon Resource Name (ARN) of the Application.

      " + }, + "Id":{ + "shape":"UUID", + "documentation":"

      A unique identifier for the Application.

      " + }, + "Name":{ + "shape":"ApplicationName", + "documentation":"

      The name of the application.

      " + }, + "Namespace":{ + "shape":"ApplicationNamespace", + "documentation":"

      The namespace of the application.

      " + }, + "Description":{ + "shape":"Description", + "documentation":"

      The description of the application.

      " + }, + "ApplicationSourceConfig":{ + "shape":"ApplicationSourceConfig", + "documentation":"

      The configuration for where the application should be loaded from.

      " + }, + "Subscriptions":{ + "shape":"SubscriptionList", + "documentation":"

      The events that the application subscribes.

      " + }, + "Publications":{ + "shape":"PublicationList", + "documentation":"

      The events that the application publishes.

      " + }, + "CreatedTime":{ + "shape":"Timestamp", + "documentation":"

      The created time of the Application.

      " + }, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

      The last modified time of the Application.

      " + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

      The tags used to organize, track, or control access for this resource. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

      " + } + } + }, "GetDataIntegrationRequest":{ "type":"structure", "required":["Identifier"], @@ -792,6 +1080,36 @@ "error":{"httpStatusCode":400}, "exception":true }, + "ListApplicationsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

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

      ", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of results to return per page.

      ", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListApplicationsResponse":{ + "type":"structure", + "members":{ + "Applications":{ + "shape":"ApplicationsList", + "documentation":"

      The Applications associated with this account.

      " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

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

      " + } + } + }, "ListDataIntegrationAssociationsRequest":{ "type":"structure", "required":["DataIntegrationIdentifier"], @@ -989,6 +1307,34 @@ "value":{"shape":"FieldsMap"}, "documentation":"

      The configuration for what data should be pulled from the source.

      " }, + "Publication":{ + "type":"structure", + "required":[ + "Event", + "Schema" + ], + "members":{ + "Event":{ + "shape":"EventName", + "documentation":"

      The name of the publication.

      " + }, + "Schema":{ + "shape":"EventDefinitionSchema", + "documentation":"

      The JSON schema of the publication event.

      " + }, + "Description":{ + "shape":"Description", + "documentation":"

      The description of the publication.

      " + } + }, + "documentation":"

      The configuration of an event that the application publishes.

      " + }, + "PublicationList":{ + "type":"list", + "member":{"shape":"Publication"}, + "max":50, + "min":0 + }, "ResourceNotFoundException":{ "type":"structure", "members":{ @@ -1038,6 +1384,27 @@ "min":1, "pattern":"^(\\w+\\:\\/\\/[\\w.-]+[\\w/!@#+=.-]+$)|(\\w+\\:\\/\\/[\\w.-]+[\\w/!@#+=.-]+[\\w/!@#+=.-]+[\\w/!@#+=.,-]+$)" }, + "Subscription":{ + "type":"structure", + "required":["Event"], + "members":{ + "Event":{ + "shape":"EventName", + "documentation":"

      The name of the subscription.

      " + }, + "Description":{ + "shape":"Description", + "documentation":"

      The description of the subscription.

      " + } + }, + "documentation":"

      The configuration of an event that the application subscribes.

      " + }, + "SubscriptionList":{ + "type":"list", + "member":{"shape":"Subscription"}, + "max":50, + "min":0 + }, "TagKey":{ "type":"string", "max":128, @@ -1094,6 +1461,13 @@ "error":{"httpStatusCode":429}, "exception":true }, + "Timestamp":{"type":"timestamp"}, + "URL":{ + "type":"string", + "max":1000, + "min":1, + "pattern":"^\\w+\\:\\/\\/.*$" + }, "UUID":{ "type":"string", "pattern":"[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}" @@ -1124,6 +1498,43 @@ "members":{ } }, + "UpdateApplicationRequest":{ + "type":"structure", + "required":["Arn"], + "members":{ + "Arn":{ + "shape":"ArnOrUUID", + "documentation":"

      The Amazon Resource Name (ARN) of the Application.

      ", + "location":"uri", + "locationName":"Arn" + }, + "Name":{ + "shape":"ApplicationName", + "documentation":"

      The name of the application.

      " + }, + "Description":{ + "shape":"Description", + "documentation":"

      The description of the application.

      " + }, + "ApplicationSourceConfig":{ + "shape":"ApplicationSourceConfig", + "documentation":"

      The configuration for where the application should be loaded from.

      " + }, + "Subscriptions":{ + "shape":"SubscriptionList", + "documentation":"

      The events that the application subscribes.

      " + }, + "Publications":{ + "shape":"PublicationList", + "documentation":"

      The events that the application publishes.

      " + } + } + }, + "UpdateApplicationResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateDataIntegrationRequest":{ "type":"structure", "required":["Identifier"], @@ -1161,7 +1572,7 @@ }, "Description":{ "shape":"Description", - "documentation":"

      The description of the event inegration.

      " + "documentation":"

      The description of the event integration.

      " } } }, diff --git a/services/applicationautoscaling/pom.xml b/services/applicationautoscaling/pom.xml index 0096e286e994..02e98a0c3ee9 100644 --- a/services/applicationautoscaling/pom.xml +++ b/services/applicationautoscaling/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT applicationautoscaling AWS Java SDK :: Services :: AWS Application Auto Scaling diff --git a/services/applicationautoscaling/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/applicationautoscaling/src/main/resources/codegen-resources/endpoint-rule-set.json index b335dbc7919f..7d892db54611 100644 --- a/services/applicationautoscaling/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/applicationautoscaling/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,92 +140,83 @@ { "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://application-autoscaling-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://application-autoscaling-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 + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], @@ -221,155 +225,115 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, + "aws-us-gov", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] } ] } ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - "aws-us-gov", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://application-autoscaling.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://application-autoscaling-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] + "endpoint": { + "url": "https://application-autoscaling.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://application-autoscaling-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://application-autoscaling.{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://application-autoscaling.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://application-autoscaling.{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://application-autoscaling.{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/services/applicationcostprofiler/pom.xml b/services/applicationcostprofiler/pom.xml index d05980f0630e..13008d27d99e 100644 --- a/services/applicationcostprofiler/pom.xml +++ b/services/applicationcostprofiler/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT applicationcostprofiler AWS Java SDK :: Services :: Application Cost Profiler diff --git a/services/applicationcostprofiler/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/applicationcostprofiler/src/main/resources/codegen-resources/endpoint-rule-set.json index 3875e6d34b9e..35fc4822ebdf 100644 --- a/services/applicationcostprofiler/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/applicationcostprofiler/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "parseURL", + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,221 +140,175 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://application-cost-profiler-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] }, { "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] - }, + } + ], + "type": "tree", + "rules": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://application-cost-profiler-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://application-cost-profiler-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://application-cost-profiler-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://application-cost-profiler.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://application-cost-profiler.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://application-cost-profiler.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://application-cost-profiler.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/applicationcostprofiler/src/main/resources/codegen-resources/endpoint-tests.json b/services/applicationcostprofiler/src/main/resources/codegen-resources/endpoint-tests.json index 91c92af29cd0..6ccd356b296b 100644 --- a/services/applicationcostprofiler/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/applicationcostprofiler/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,16 +1,281 @@ { "testCases": [ { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://application-cost-profiler-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://application-cost-profiler-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://application-cost-profiler.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://application-cost-profiler.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://application-cost-profiler-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://application-cost-profiler-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://application-cost-profiler.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://application-cost-profiler.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://application-cost-profiler-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://application-cost-profiler-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://application-cost-profiler.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://application-cost-profiler.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://application-cost-profiler-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://application-cost-profiler.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://application-cost-profiler-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://application-cost-profiler.us-isob-east-1.sc2s.sgov.gov" + } + }, + "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": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -20,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -32,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/applicationdiscovery/pom.xml b/services/applicationdiscovery/pom.xml index 495ad40e8721..03942c474590 100644 --- a/services/applicationdiscovery/pom.xml +++ b/services/applicationdiscovery/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT applicationdiscovery AWS Java SDK :: Services :: AWS Application Discovery Service diff --git a/services/applicationdiscovery/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/applicationdiscovery/src/main/resources/codegen-resources/endpoint-rule-set.json index b745570fa9cb..825e814d7fac 100644 --- a/services/applicationdiscovery/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/applicationdiscovery/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://discovery-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://discovery-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://discovery-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://discovery-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://discovery.{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://discovery.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://discovery.{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://discovery.{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/services/applicationdiscovery/src/main/resources/codegen-resources/service-2.json b/services/applicationdiscovery/src/main/resources/codegen-resources/service-2.json index 3d97897979a5..f09804e84879 100644 --- a/services/applicationdiscovery/src/main/resources/codegen-resources/service-2.json +++ b/services/applicationdiscovery/src/main/resources/codegen-resources/service-2.json @@ -546,7 +546,8 @@ "documentation":"

      The MAC address for the host where the agent/collector resides.

      " } }, - "documentation":"

      Network details about the host where the agent/collector resides.

      " + "documentation":"

      Network details about the host where the agent/collector resides.

      ", + "sensitive":true }, "AgentNetworkInfoList":{ "type":"list", diff --git a/services/applicationinsights/pom.xml b/services/applicationinsights/pom.xml index f74ceeb73914..7b310f62883f 100644 --- a/services/applicationinsights/pom.xml +++ b/services/applicationinsights/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT applicationinsights AWS Java SDK :: Services :: Application Insights diff --git a/services/applicationinsights/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/applicationinsights/src/main/resources/codegen-resources/endpoint-rule-set.json index 5aa99ae02e8b..e12adf81a512 100644 --- a/services/applicationinsights/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/applicationinsights/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://applicationinsights-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://applicationinsights-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://applicationinsights-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://applicationinsights-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://applicationinsights.{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://applicationinsights.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://applicationinsights.{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://applicationinsights.{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/services/appmesh/pom.xml b/services/appmesh/pom.xml index e349b486aae6..6ee79ac910d8 100644 --- a/services/appmesh/pom.xml +++ b/services/appmesh/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT appmesh AWS Java SDK :: Services :: App Mesh diff --git a/services/appmesh/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/appmesh/src/main/resources/codegen-resources/endpoint-rule-set.json index 8f7d90789974..531097d423bf 100644 --- a/services/appmesh/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/appmesh/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://appmesh-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://appmesh-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://appmesh.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://appmesh.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://appmesh.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://appmesh.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/appmesh/src/main/resources/codegen-resources/endpoint-tests.json b/services/appmesh/src/main/resources/codegen-resources/endpoint-tests.json index fd5d6f0579b5..76937ff673e0 100644 --- a/services/appmesh/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/appmesh/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,341 +1,16 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appmesh-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appmesh-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appmesh.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appmesh.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appmesh-fips.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appmesh-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appmesh.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appmesh.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appmesh-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appmesh-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appmesh.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appmesh.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appmesh-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appmesh-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appmesh.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appmesh.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appmesh-fips.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appmesh-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appmesh.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appmesh.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appmesh-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appmesh-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appmesh.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appmesh.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appmesh-fips.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appmesh-fips.af-south-1.amazonaws.com" + "url": "https://appmesh.af-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, "Region": "af-south-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { @@ -346,919 +21,781 @@ } }, "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appmesh.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appmesh-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appmesh-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appmesh.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appmesh.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appmesh-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appmesh-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appmesh.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://appmesh.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://appmesh-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appmesh-fips.eu-west-2.amazonaws.com" + "url": "https://appmesh.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true + "Region": "ap-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://appmesh.eu-west-2.api.aws" + "url": "https://appmesh.ap-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "ap-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appmesh.eu-west-2.amazonaws.com" + "url": "https://appmesh.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://appmesh-fips.eu-west-1.api.aws" + "url": "https://appmesh.ap-northeast-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appmesh-fips.eu-west-1.amazonaws.com" + "url": "https://appmesh.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://appmesh.eu-west-1.api.aws" + "url": "https://appmesh.ap-northeast-2.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appmesh.eu-west-1.amazonaws.com" + "url": "https://appmesh.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://appmesh-fips.ap-northeast-3.api.aws" + "url": "https://appmesh.ap-south-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": true + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appmesh-fips.ap-northeast-3.amazonaws.com" + "url": "https://appmesh.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://appmesh.ap-northeast-3.api.aws" + "url": "https://appmesh.ap-southeast-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": false + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appmesh.ap-northeast-3.amazonaws.com" + "url": "https://appmesh.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://appmesh-fips.ap-northeast-2.api.aws" + "url": "https://appmesh.ap-southeast-2.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appmesh-fips.ap-northeast-2.amazonaws.com" + "url": "https://appmesh.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://appmesh.ap-northeast-2.api.aws" + "url": "https://appmesh.ca-central-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appmesh.ap-northeast-2.amazonaws.com" + "url": "https://appmesh.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://appmesh-fips.ap-northeast-1.api.aws" + "url": "https://appmesh.eu-central-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appmesh-fips.ap-northeast-1.amazonaws.com" + "url": "https://appmesh.eu-north-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://appmesh.ap-northeast-1.api.aws" + "url": "https://appmesh.eu-north-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appmesh.ap-northeast-1.amazonaws.com" + "url": "https://appmesh.eu-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "eu-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://appmesh-fips.me-south-1.api.aws" + "url": "https://appmesh.eu-south-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": true + "Region": "eu-south-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appmesh-fips.me-south-1.amazonaws.com" + "url": "https://appmesh.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": true + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://appmesh.me-south-1.api.aws" + "url": "https://appmesh.eu-west-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": false + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appmesh.me-south-1.amazonaws.com" + "url": "https://appmesh.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": false + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://appmesh-fips.sa-east-1.api.aws" + "url": "https://appmesh.eu-west-2.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": true + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appmesh-fips.sa-east-1.amazonaws.com" + "url": "https://appmesh.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": true + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://appmesh.sa-east-1.api.aws" + "url": "https://appmesh.eu-west-3.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": false + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appmesh.sa-east-1.amazonaws.com" + "url": "https://appmesh.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": false + "Region": "me-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://appmesh-fips.ap-east-1.api.aws" + "url": "https://appmesh.me-south-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": true + "Region": "me-south-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appmesh-fips.ap-east-1.amazonaws.com" + "url": "https://appmesh.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": true + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://appmesh.ap-east-1.api.aws" + "url": "https://appmesh.sa-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": false + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appmesh.ap-east-1.amazonaws.com" + "url": "https://appmesh.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://appmesh-fips.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://appmesh.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appmesh-fips.cn-north-1.amazonaws.com.cn" + "url": "https://appmesh.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": true + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://appmesh.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://appmesh.us-east-2.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appmesh.cn-north-1.amazonaws.com.cn" + "url": "https://appmesh.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": false + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://appmesh-fips.ap-southeast-1.api.aws" + "url": "https://appmesh.us-west-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appmesh-fips.ap-southeast-1.amazonaws.com" + "url": "https://appmesh.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://appmesh.ap-southeast-1.api.aws" + "url": "https://appmesh.us-west-2.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://appmesh.ap-southeast-1.amazonaws.com" + "url": "https://appmesh-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appmesh-fips.ap-southeast-2.api.aws" + "url": "https://appmesh-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appmesh-fips.ap-southeast-2.amazonaws.com" + "url": "https://appmesh.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://appmesh.ap-southeast-2.api.aws" + "url": "https://appmesh.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appmesh.ap-southeast-2.amazonaws.com" + "url": "https://appmesh.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://appmesh-fips.ap-southeast-3.api.aws" + "url": "https://appmesh.cn-northwest-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-3", - "UseFIPS": true + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://appmesh-fips.ap-southeast-3.amazonaws.com" + "url": "https://appmesh-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-3", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appmesh.ap-southeast-3.api.aws" + "url": "https://appmesh-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-3", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://appmesh.ap-southeast-3.amazonaws.com" + "url": "https://appmesh-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-3", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appmesh-fips.us-east-1.api.aws" + "url": "https://appmesh-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://appmesh-fips.us-east-1.amazonaws.com" + "url": "https://appmesh.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appmesh.us-east-1.api.aws" + "url": "https://appmesh.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://appmesh.us-east-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appmesh-fips.us-east-2.api.aws" + "url": "https://appmesh-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://appmesh-fips.us-east-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appmesh.us-east-2.api.aws" + "url": "https://appmesh.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://appmesh.us-east-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appmesh-fips.cn-northwest-1.api.amazonwebservices.com.cn" + "url": "https://appmesh-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://appmesh-fips.cn-northwest-1.amazonaws.com.cn" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://appmesh.cn-northwest-1.api.amazonwebservices.com.cn" + "url": "https://appmesh.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://appmesh.cn-northwest-1.amazonaws.com.cn" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1268,9 +805,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1280,11 +817,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/apprunner/pom.xml b/services/apprunner/pom.xml index 63f3c9010cbb..8afb7c6afe22 100644 --- a/services/apprunner/pom.xml +++ b/services/apprunner/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT apprunner AWS Java SDK :: Services :: App Runner diff --git a/services/apprunner/src/main/resources/codegen-resources/paginators-1.json b/services/apprunner/src/main/resources/codegen-resources/paginators-1.json index e360ded2057c..33d0f0f8cfa9 100644 --- a/services/apprunner/src/main/resources/codegen-resources/paginators-1.json +++ b/services/apprunner/src/main/resources/codegen-resources/paginators-1.json @@ -30,6 +30,11 @@ "output_token": "NextToken", "limit_key": "MaxResults" }, + "ListServicesForAutoScalingConfiguration": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, "ListVpcConnectors": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/services/apprunner/src/main/resources/codegen-resources/service-2.json b/services/apprunner/src/main/resources/codegen-resources/service-2.json index f1e333f14afb..410bd4f896f1 100644 --- a/services/apprunner/src/main/resources/codegen-resources/service-2.json +++ b/services/apprunner/src/main/resources/codegen-resources/service-2.json @@ -132,7 +132,7 @@ {"shape":"InternalServiceErrorException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

      Delete an App Runner automatic scaling configuration resource. You can delete a specific revision or the latest active revision. You can't delete a configuration that's used by one or more App Runner services.

      " + "documentation":"

      Delete an App Runner automatic scaling configuration resource. You can delete a top level auto scaling configuration, a specific revision of one, or all revisions associated with the top level configuration. You can't delete the default auto scaling configuration or a configuration that's used by one or more App Runner services.

      " }, "DeleteConnection":{ "name":"DeleteConnection", @@ -388,6 +388,21 @@ ], "documentation":"

      Returns a list of running App Runner services in your Amazon Web Services account.

      " }, + "ListServicesForAutoScalingConfiguration":{ + "name":"ListServicesForAutoScalingConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListServicesForAutoScalingConfigurationRequest"}, + "output":{"shape":"ListServicesForAutoScalingConfigurationResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

      Returns a list of the associated App Runner services using an auto scaling configuration.

      " + }, "ListTagsForResource":{ "name":"ListTagsForResource", "http":{ @@ -511,6 +526,21 @@ ], "documentation":"

      Remove tags from an App Runner resource.

      " }, + "UpdateDefaultAutoScalingConfiguration":{ + "name":"UpdateDefaultAutoScalingConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateDefaultAutoScalingConfigurationRequest"}, + "output":{"shape":"UpdateDefaultAutoScalingConfigurationResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

      Update an auto scaling configuration to be the default. The existing default auto scaling configuration will be set to non-default automatically.

      " + }, "UpdateService":{ "name":"UpdateService", "http":{ @@ -639,11 +669,11 @@ "documentation":"

      The customer-provided auto scaling configuration name. It can be used in multiple revisions of a configuration.

      " }, "AutoScalingConfigurationRevision":{ - "shape":"Integer", + "shape":"AutoScalingConfigurationRevision", "documentation":"

      The revision of this auto scaling configuration. It's unique among all the active configurations (\"Status\": \"ACTIVE\") that share the same AutoScalingConfigurationName.

      " }, "Latest":{ - "shape":"Boolean", + "shape":"Latest", "documentation":"

      It's set to true for the configuration with the highest Revision among all configurations that share the same AutoScalingConfigurationName. It's set to false otherwise.

      " }, "Status":{ @@ -651,15 +681,15 @@ "documentation":"

      The current state of the auto scaling configuration. If the status of a configuration revision is INACTIVE, it was deleted and can't be used. Inactive configuration revisions are permanently removed some time after they are deleted.

      " }, "MaxConcurrency":{ - "shape":"Integer", + "shape":"MaxConcurrency", "documentation":"

      The maximum number of concurrent requests that an instance processes. If the number of concurrent requests exceeds this limit, App Runner scales the service up.

      " }, "MinSize":{ - "shape":"Integer", + "shape":"MinSize", "documentation":"

      The minimum number of instances that App Runner provisions for a service. The service always has at least MinSize provisioned instances. Some of them actively serve traffic. The rest of them (provisioned and inactive instances) are a cost-effective compute capacity reserve and are ready to be quickly activated. You pay for memory usage of all the provisioned instances. You pay for CPU usage of only the active subset.

      App Runner temporarily doubles the number of provisioned instances during deployments, to maintain the same capacity for both old and new code.

      " }, "MaxSize":{ - "shape":"Integer", + "shape":"MaxSize", "documentation":"

      The maximum number of instances that a service scales up to. At most MaxSize instances actively serve traffic for your service.

      " }, "CreatedAt":{ @@ -669,6 +699,14 @@ "DeletedAt":{ "shape":"Timestamp", "documentation":"

      The time when the auto scaling configuration was deleted. It's in Unix time stamp format.

      " + }, + "HasAssociatedService":{ + "shape":"HasAssociatedService", + "documentation":"

      Indicates if this auto scaling configuration has an App Runner service associated with it. A value of true indicates one or more services are associated. A value of false indicates no services are associated.

      " + }, + "IsDefault":{ + "shape":"IsDefault", + "documentation":"

      Indicates if this auto scaling configuration should be used as the default for a new App Runner service that does not have an auto scaling configuration ARN specified during creation. Each account can have only one default AutoScalingConfiguration per region. The default AutoScalingConfiguration can be any revision under the same AutoScalingConfigurationName.

      " } }, "documentation":"

      Describes an App Runner automatic scaling configuration resource.

      A higher MinSize increases the spread of your App Runner service over more Availability Zones in the Amazon Web Services Region. The tradeoff is a higher minimal cost.

      A lower MaxSize controls your cost. The tradeoff is lower responsiveness during peak demand.

      Multiple revisions of a configuration might have the same AutoScalingConfigurationName and different AutoScalingConfigurationRevision values.

      " @@ -679,6 +717,7 @@ "min":4, "pattern":"[A-Za-z0-9][A-Za-z0-9\\-_]{3,31}" }, + "AutoScalingConfigurationRevision":{"type":"integer"}, "AutoScalingConfigurationStatus":{ "type":"string", "enum":[ @@ -700,6 +739,22 @@ "AutoScalingConfigurationRevision":{ "shape":"Integer", "documentation":"

      The revision of this auto scaling configuration. It's unique among all the active configurations (\"Status\": \"ACTIVE\") with the same AutoScalingConfigurationName.

      " + }, + "Status":{ + "shape":"AutoScalingConfigurationStatus", + "documentation":"

      The current state of the auto scaling configuration. If the status of a configuration revision is INACTIVE, it was deleted and can't be used. Inactive configuration revisions are permanently removed some time after they are deleted.

      " + }, + "CreatedAt":{ + "shape":"Timestamp", + "documentation":"

      The time when the auto scaling configuration was created. It's in Unix time stamp format.

      " + }, + "HasAssociatedService":{ + "shape":"HasAssociatedService", + "documentation":"

      Indicates if this auto scaling configuration has an App Runner service associated with it. A value of true indicates one or more services are associated. A value of false indicates no services are associated.

      " + }, + "IsDefault":{ + "shape":"IsDefault", + "documentation":"

      Indicates if this auto scaling configuration should be used as the default for a new App Runner service that does not have an auto scaling configuration ARN specified during creation. Each account can have only one default AutoScalingConfiguration per region. The default AutoScalingConfiguration can be any revision under the same AutoScalingConfigurationName.

      " } }, "documentation":"

      Provides summary information about an App Runner automatic scaling configuration resource.

      This type contains limited information about an auto scaling configuration. It includes only identification information, without configuration details. It's returned by the ListAutoScalingConfigurations action. Complete configuration information is returned by the CreateAutoScalingConfiguration, DescribeAutoScalingConfiguration, and DeleteAutoScalingConfiguration actions using the AutoScalingConfiguration type.

      " @@ -812,6 +867,10 @@ "CodeConfiguration":{ "shape":"CodeConfiguration", "documentation":"

      Configuration for building and running the service from a source code repository.

      CodeConfiguration is required only for CreateService request.

      " + }, + "SourceDirectory":{ + "shape":"SourceDirectory", + "documentation":"

      The path of the directory that stores source code and configuration files. The build and start commands also execute from here. The path is absolute from root and, if not specified, defaults to the repository root.

      " } }, "documentation":"

      Describes a source code repository.

      " @@ -906,7 +965,7 @@ "members":{ "AutoScalingConfigurationName":{ "shape":"AutoScalingConfigurationName", - "documentation":"

      A name for the auto scaling configuration. When you use it for the first time in an Amazon Web Services Region, App Runner creates revision number 1 of this name. When you use the same name in subsequent calls, App Runner creates incremental revisions of the configuration.

      The name DefaultConfiguration is reserved (it's the configuration that App Runner uses if you don't provide a custome one). You can't use it to create a new auto scaling configuration, and you can't create a revision of it.

      When you want to use your own auto scaling configuration for your App Runner service, create a configuration with a different name, and then provide it when you create or update your service.

      " + "documentation":"

      A name for the auto scaling configuration. When you use it for the first time in an Amazon Web Services Region, App Runner creates revision number 1 of this name. When you use the same name in subsequent calls, App Runner creates incremental revisions of the configuration.

      Prior to the release of Auto scale configuration enhancements, the name DefaultConfiguration was reserved.

      This restriction is no longer in place. You can now manage DefaultConfiguration the same way you manage your custom auto scaling configurations. This means you can do the following with the DefaultConfiguration that App Runner provides:

      • Create new revisions of the DefaultConfiguration.

      • Delete the revisions of the DefaultConfiguration.

      • Delete the auto scaling configuration for which the App Runner DefaultConfiguration was created.

      • If you delete the auto scaling configuration you can create another custom auto scaling configuration with the same DefaultConfiguration name. The original DefaultConfiguration resource provided by App Runner remains in your account unless you make changes to it.

      " }, "MaxConcurrency":{ "shape":"ASConfigMaxConcurrency", @@ -1184,6 +1243,10 @@ "AutoScalingConfigurationArn":{ "shape":"AppRunnerResourceArn", "documentation":"

      The Amazon Resource Name (ARN) of the App Runner auto scaling configuration that you want to delete.

      The ARN can be a full auto scaling configuration ARN, or a partial ARN ending with either .../name or .../name/revision . If a revision isn't specified, the latest active revision is deleted.

      " + }, + "DeleteAllRevisions":{ + "shape":"Boolean", + "documentation":"

      Set to true to delete all of the revisions associated with the AutoScalingConfigurationArn parameter value.

      When DeleteAllRevisions is set to true, the only valid value for the Amazon Resource Name (ARN) is a partial ARN ending with: .../name.

      " } } }, @@ -1543,6 +1606,7 @@ "type":"string", "max":600 }, + "HasAssociatedService":{"type":"boolean"}, "HealthCheckConfiguration":{ "type":"structure", "members":{ @@ -1729,12 +1793,14 @@ "documentation":"

      You can't perform this action when the resource is in its current state.

      ", "exception":true }, + "IsDefault":{"type":"boolean"}, "KmsKeyArn":{ "type":"string", "max":256, "min":0, "pattern":"arn:aws(-[\\w]+)*:kms:[a-z\\-]+-[0-9]{1}:[0-9]{12}:key\\/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" }, + "Latest":{"type":"boolean"}, "ListAutoScalingConfigurationsRequest":{ "type":"structure", "members":{ @@ -1872,6 +1938,38 @@ } } }, + "ListServicesForAutoScalingConfigurationRequest":{ + "type":"structure", + "required":["AutoScalingConfigurationArn"], + "members":{ + "AutoScalingConfigurationArn":{ + "shape":"AppRunnerResourceArn", + "documentation":"

      The Amazon Resource Name (ARN) of the App Runner auto scaling configuration that you want to list the services for.

      The ARN can be a full auto scaling configuration ARN, or a partial ARN ending with either .../name or .../name/revision . If a revision isn't specified, the latest active revision is used.

      " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of results to include in each response (result page). It's used for a paginated request.

      If you don't specify MaxResults, the request retrieves all available results in a single response.

      " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

      A token from a previous result page. It's used for a paginated request. The request retrieves the next result page. All other parameter values must be identical to the ones specified in the initial request.

      If you don't specify NextToken, the request retrieves the first result page.

      " + } + } + }, + "ListServicesForAutoScalingConfigurationResponse":{ + "type":"structure", + "required":["ServiceArnList"], + "members":{ + "ServiceArnList":{ + "shape":"ServiceArnList", + "documentation":"

      A list of service ARN records. In a paginated request, the request returns up to MaxResults records for each call.

      " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

      The token that you can pass in a subsequent request to get the next result page. It's returned in a paginated request.

      " + } + } + }, "ListServicesRequest":{ "type":"structure", "members":{ @@ -1990,17 +2088,20 @@ } } }, + "MaxConcurrency":{"type":"integer"}, "MaxResults":{ "type":"integer", "max":100, "min":1 }, + "MaxSize":{"type":"integer"}, "Memory":{ "type":"string", "max":6, "min":3, "pattern":"512|1024|2048|3072|4096|6144|8192|10240|12288|(0.5|1|2|3|4|6|8|10|12) GB" }, + "MinSize":{"type":"integer"}, "NetworkConfiguration":{ "type":"structure", "members":{ @@ -2354,6 +2455,10 @@ }, "documentation":"

      Describes an App Runner service. It can describe a service in any state, including deleted services.

      This type contains the full information about a service, including configuration details. It's returned by the CreateService, DescribeService, and DeleteService actions. A subset of this information is returned by the ListServices action using the ServiceSummary type.

      " }, + "ServiceArnList":{ + "type":"list", + "member":{"shape":"AppRunnerResourceArn"} + }, "ServiceId":{ "type":"string", "max":32, @@ -2487,6 +2592,12 @@ }, "documentation":"

      Describes the source deployed to an App Runner service. It can be a code or an image repository.

      " }, + "SourceDirectory":{ + "type":"string", + "max":4096, + "min":1, + "pattern":"[^\\x00]+" + }, "StartCommand":{ "type":"string", "pattern":"[^\\x0a\\x0d]+", @@ -2622,6 +2733,26 @@ "members":{ } }, + "UpdateDefaultAutoScalingConfigurationRequest":{ + "type":"structure", + "required":["AutoScalingConfigurationArn"], + "members":{ + "AutoScalingConfigurationArn":{ + "shape":"AppRunnerResourceArn", + "documentation":"

      The Amazon Resource Name (ARN) of the App Runner auto scaling configuration that you want to set as the default.

      The ARN can be a full auto scaling configuration ARN, or a partial ARN ending with either .../name or .../name/revision . If a revision isn't specified, the latest active revision is set as the default.

      " + } + } + }, + "UpdateDefaultAutoScalingConfigurationResponse":{ + "type":"structure", + "required":["AutoScalingConfiguration"], + "members":{ + "AutoScalingConfiguration":{ + "shape":"AutoScalingConfiguration", + "documentation":"

      A description of the App Runner auto scaling configuration that was set as default.

      " + } + } + }, "UpdateServiceRequest":{ "type":"structure", "required":["ServiceArn"], diff --git a/services/appstream/pom.xml b/services/appstream/pom.xml index 429f4f496fb0..86484790ddb3 100644 --- a/services/appstream/pom.xml +++ b/services/appstream/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT appstream AWS Java SDK :: Services :: Amazon AppStream diff --git a/services/appstream/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/appstream/src/main/resources/codegen-resources/endpoint-rule-set.json index cb742758cfbe..28c0f984e51b 100644 --- a/services/appstream/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/appstream/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,274 +140,225 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://appstream2-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsFIPS" ] } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "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://appstream2-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, + } + ], + "type": "tree", + "rules": [ { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://appstream2-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": "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://appstream2.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsFIPS" ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } - ] - }, - { - "conditions": [], + ], "type": "tree", "rules": [ { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - "aws", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], + "conditions": [], "endpoint": { - "url": "https://appstream2.{Region}.amazonaws.com", + "url": "https://appstream2-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": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ + true, { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ - "aws-us-gov", { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } - ], - "endpoint": { - "url": "https://appstream2.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, + ] + } + ], + "type": "tree", + "rules": [ { "conditions": [], "endpoint": { - "url": "https://appstream2.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://appstream2.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://appstream2.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws-us-gov", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://appstream2.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://appstream2.{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/services/appsync/pom.xml b/services/appsync/pom.xml index c576d0be0a35..aa065b5942df 100644 --- a/services/appsync/pom.xml +++ b/services/appsync/pom.xml @@ -21,7 +21,7 @@ services software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT appsync diff --git a/services/appsync/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/appsync/src/main/resources/codegen-resources/endpoint-rule-set.json index c966fe5ea0fc..093a968c8ac7 100644 --- a/services/appsync/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/appsync/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://appsync-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://appsync-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://appsync-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://appsync-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://appsync.{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://appsync.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://appsync.{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://appsync.{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/services/arczonalshift/pom.xml b/services/arczonalshift/pom.xml index 775dc8d09a7b..a242023ec372 100644 --- a/services/arczonalshift/pom.xml +++ b/services/arczonalshift/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT arczonalshift AWS Java SDK :: Services :: ARC Zonal Shift diff --git a/services/arczonalshift/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/arczonalshift/src/main/resources/codegen-resources/endpoint-rule-set.json index bc46f960027f..59d231630f32 100644 --- a/services/arczonalshift/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/arczonalshift/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,23 +45,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -71,67 +67,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -140,168 +111,238 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + }, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] }, - "supportsDualStack" + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://arc-zonal-shift-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" } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://arc-zonal-shift-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://arc-zonal-shift-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://arc-zonal-shift-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://arc-zonal-shift.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://arc-zonal-shift.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://arc-zonal-shift.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } ] }, { "conditions": [], - "endpoint": { - "url": "https://arc-zonal-shift.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } diff --git a/services/arczonalshift/src/main/resources/codegen-resources/endpoint-tests.json b/services/arczonalshift/src/main/resources/codegen-resources/endpoint-tests.json index b05c0315fae6..9af06173d1d7 100644 --- a/services/arczonalshift/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/arczonalshift/src/main/resources/codegen-resources/endpoint-tests.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://arc-zonal-shift-fips.us-gov-east-1.api.aws" + "url": "https://arc-zonal-shift-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": 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://arc-zonal-shift-fips.us-gov-east-1.amazonaws.com" + "url": "https://arc-zonal-shift-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": true, - "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://arc-zonal-shift.us-gov-east-1.api.aws" + "url": "https://arc-zonal-shift.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": false, - "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://arc-zonal-shift.us-gov-east-1.amazonaws.com" + "url": "https://arc-zonal-shift.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -60,9 +60,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -73,9 +73,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -86,9 +86,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -99,109 +99,109 @@ } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": 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://arc-zonal-shift-fips.us-gov-east-1.api.aws" + } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": 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://arc-zonal-shift-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://arc-zonal-shift-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": true, - "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://arc-zonal-shift.us-gov-east-1.api.aws" + } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": false, - "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://arc-zonal-shift.us-iso-east-1.c2s.ic.gov" + "url": "https://arc-zonal-shift.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": 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://arc-zonal-shift-fips.us-east-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, + "Region": "us-iso-east-1", "UseFIPS": 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://arc-zonal-shift-fips.us-east-1.amazonaws.com" + "url": "https://arc-zonal-shift-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": true, - "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://arc-zonal-shift.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, + "Region": "us-iso-east-1", "UseFIPS": false, - "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://arc-zonal-shift.us-east-1.amazonaws.com" + "url": "https://arc-zonal-shift.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": 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": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { @@ -223,9 +223,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -234,9 +234,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { @@ -247,22 +247,35 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "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, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { "UseFIPS": false, - "Region": "us-east-1", + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -272,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -284,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/athena/pom.xml b/services/athena/pom.xml index 21abc922d9d3..bd64ba153b00 100644 --- a/services/athena/pom.xml +++ b/services/athena/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT athena AWS Java SDK :: Services :: Amazon Athena diff --git a/services/athena/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/athena/src/main/resources/codegen-resources/endpoint-rule-set.json index 4bf6148f97e6..40c8df1e2ded 100644 --- a/services/athena/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/athena/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://athena-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://athena-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://athena-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://athena-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://athena.{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://athena.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://athena.{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://athena.{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/services/auditmanager/pom.xml b/services/auditmanager/pom.xml index f6f9d8c6143c..e9e0db4d7741 100644 --- a/services/auditmanager/pom.xml +++ b/services/auditmanager/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT auditmanager AWS Java SDK :: Services :: Audit Manager diff --git a/services/autoscaling/pom.xml b/services/autoscaling/pom.xml index 4d4e297f7508..a2b51c33cc0f 100644 --- a/services/autoscaling/pom.xml +++ b/services/autoscaling/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT autoscaling AWS Java SDK :: Services :: Auto Scaling diff --git a/services/autoscaling/src/it/java/software/amazon/awssdk/services/autoscaling/AutoScalingIntegrationTest.java b/services/autoscaling/src/it/java/software/amazon/awssdk/services/autoscaling/AutoScalingIntegrationTest.java index d733b8aac478..30597b1327ac 100644 --- a/services/autoscaling/src/it/java/software/amazon/awssdk/services/autoscaling/AutoScalingIntegrationTest.java +++ b/services/autoscaling/src/it/java/software/amazon/awssdk/services/autoscaling/AutoScalingIntegrationTest.java @@ -15,610 +15,40 @@ package software.amazon.awssdk.services.autoscaling; -import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; -import static software.amazon.awssdk.testutils.SdkAsserts.assertNotEmpty; -import java.time.Instant; -import java.util.Arrays; -import java.util.Collection; -import java.util.Date; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import org.apache.commons.codec.binary.Base64; -import org.junit.After; -import org.junit.Test; +import java.io.IOException; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; import software.amazon.awssdk.core.SdkGlobalTime; import software.amazon.awssdk.regions.Region; -import software.amazon.awssdk.services.autoscaling.model.AlreadyExistsException; -import software.amazon.awssdk.services.autoscaling.model.AutoScalingGroup; -import software.amazon.awssdk.services.autoscaling.model.BlockDeviceMapping; -import software.amazon.awssdk.services.autoscaling.model.CreateAutoScalingGroupRequest; -import software.amazon.awssdk.services.autoscaling.model.CreateLaunchConfigurationRequest; -import software.amazon.awssdk.services.autoscaling.model.CreateOrUpdateTagsRequest; -import software.amazon.awssdk.services.autoscaling.model.DeleteAutoScalingGroupRequest; -import software.amazon.awssdk.services.autoscaling.model.DeleteLaunchConfigurationRequest; -import software.amazon.awssdk.services.autoscaling.model.DeleteNotificationConfigurationRequest; -import software.amazon.awssdk.services.autoscaling.model.DeletePolicyRequest; -import software.amazon.awssdk.services.autoscaling.model.DeleteScheduledActionRequest; -import software.amazon.awssdk.services.autoscaling.model.DeleteTagsRequest; -import software.amazon.awssdk.services.autoscaling.model.DescribeAutoScalingGroupsRequest; -import software.amazon.awssdk.services.autoscaling.model.DescribeAutoScalingGroupsResponse; -import software.amazon.awssdk.services.autoscaling.model.DescribeAutoScalingInstancesRequest; -import software.amazon.awssdk.services.autoscaling.model.DescribeAutoScalingInstancesResponse; -import software.amazon.awssdk.services.autoscaling.model.DescribeAutoScalingNotificationTypesRequest; -import software.amazon.awssdk.services.autoscaling.model.DescribeLaunchConfigurationsRequest; -import software.amazon.awssdk.services.autoscaling.model.DescribeLaunchConfigurationsResponse; -import software.amazon.awssdk.services.autoscaling.model.DescribeNotificationConfigurationsRequest; import software.amazon.awssdk.services.autoscaling.model.DescribePoliciesRequest; -import software.amazon.awssdk.services.autoscaling.model.DescribePoliciesResponse; -import software.amazon.awssdk.services.autoscaling.model.DescribeScalingActivitiesRequest; -import software.amazon.awssdk.services.autoscaling.model.DescribeScalingActivitiesResponse; -import software.amazon.awssdk.services.autoscaling.model.DescribeScheduledActionsRequest; -import software.amazon.awssdk.services.autoscaling.model.DescribeScheduledActionsResponse; -import software.amazon.awssdk.services.autoscaling.model.DescribeTagsRequest; -import software.amazon.awssdk.services.autoscaling.model.DescribeTagsResponse; -import software.amazon.awssdk.services.autoscaling.model.DescribeTerminationPolicyTypesRequest; -import software.amazon.awssdk.services.autoscaling.model.DescribeTerminationPolicyTypesResponse; -import software.amazon.awssdk.services.autoscaling.model.Ebs; -import software.amazon.awssdk.services.autoscaling.model.ExecutePolicyRequest; -import software.amazon.awssdk.services.autoscaling.model.Filter; -import software.amazon.awssdk.services.autoscaling.model.LaunchConfiguration; -import software.amazon.awssdk.services.autoscaling.model.NotificationConfiguration; -import software.amazon.awssdk.services.autoscaling.model.PutNotificationConfigurationRequest; -import software.amazon.awssdk.services.autoscaling.model.PutScalingPolicyRequest; -import software.amazon.awssdk.services.autoscaling.model.PutScalingPolicyResponse; -import software.amazon.awssdk.services.autoscaling.model.PutScheduledUpdateGroupActionRequest; -import software.amazon.awssdk.services.autoscaling.model.ResumeProcessesRequest; -import software.amazon.awssdk.services.autoscaling.model.ScalingPolicy; -import software.amazon.awssdk.services.autoscaling.model.ScheduledUpdateGroupAction; -import software.amazon.awssdk.services.autoscaling.model.SetDesiredCapacityRequest; -import software.amazon.awssdk.services.autoscaling.model.SuspendProcessesRequest; -import software.amazon.awssdk.services.autoscaling.model.Tag; -import software.amazon.awssdk.services.autoscaling.model.TagDescription; -import software.amazon.awssdk.services.autoscaling.model.UpdateAutoScalingGroupRequest; -import software.amazon.awssdk.services.sns.model.CreateTopicRequest; -import software.amazon.awssdk.services.sns.model.DeleteTopicRequest; /** - * Integration tests for the Autoscaling service. TODO: No tests for - * TerminateInstanceInAutoScalingGroup + * Smoke tests for Autoscaling service. This class tests query protocol path. + * Do not remove until we have generated smoke tests for this service. */ public class AutoScalingIntegrationTest extends IntegrationTestBase { - protected static final String TEST_POLICY_NAME = "TestPolicyName"; - protected static final String TEST_ACTION_NAME = "TestActionName"; - protected static final String TEST_ADJUSTMENT_TYPE = "PercentChangeInCapacity"; - - protected static final Integer TEST_SCALING_ADJUSTMENT = new Integer(7); - protected static final Integer TEST_COOLDOWN = new Integer(3); - protected static final Integer TEST_MIN_SIZE = new Integer(1); - protected static final Integer TEST_MAX_SIZE = new Integer(10); - protected static final Integer TEST_DESIRED_CAPACITY = new Integer(5); - protected static final List TERMINATION_POLICIES; - protected static final String TERMINATION_POLICY = "ClosestToNextInstanceHour"; - - protected static final Instant TEST_ACTION_TIME = Instant.now().plusMillis(100000); - - static { - TERMINATION_POLICIES = new LinkedList(); - TERMINATION_POLICIES.add("ClosestToNextInstanceHour"); - TERMINATION_POLICIES.add("Default"); - TERMINATION_POLICIES.add("NewestInstance"); - TERMINATION_POLICIES.add("OldestInstance"); - TERMINATION_POLICIES.add("OldestLaunchConfiguration"); - } - - /** - * The name of the launch configuration created by these tests - */ - - protected String launchConfigurationName; - /** - * The name of the autoscaling group created by these tests - */ - - protected String autoScalingGroupName; - /** - * The name of the SNS topic created by the notification operation tests - */ - - private String topicARN; - - /** - * Releases any resources created by these tests - */ - - @After - public void tearDown() { - if (autoScalingGroupName != null) { - try { - autoscaling.deleteAutoScalingGroup(DeleteAutoScalingGroupRequest.builder().autoScalingGroupName( - autoScalingGroupName).forceDelete(true).build()); - } catch (Exception e) { - // Ignored. - } - } - if (launchConfigurationName != null) { - try { - autoscaling.deleteLaunchConfiguration(DeleteLaunchConfigurationRequest.builder() - .launchConfigurationName(launchConfigurationName).build()); - } catch (Exception e) { - // Ignored. - } - } - if (topicARN != null) { - try { - sns.deleteTopic(DeleteTopicRequest.builder().topicArn(topicARN).build()); - } catch (Exception e) { - // Ignored. - } - } - } - - - /* - * Test Methods - */ - - - /** - * Tests that exceptions are properly thrown from the AutoScaling client when the service - * returns an error. - */ - - @Test - public void testExceptionHandling() throws Exception { - try { - launchConfigurationName = "integ-test-launch-configuration-" + new Date().getTime(); - createLaunchConfiguration(launchConfigurationName); - createLaunchConfiguration(launchConfigurationName); - } catch (AlreadyExistsException aee) { - assertEquals(400, aee.statusCode()); - assertEquals("AlreadyExists", aee.awsErrorDetails().errorCode()); - assertNotEmpty(aee.getMessage()); - assertNotEmpty(aee.requestId()); - assertNotEmpty(aee.awsErrorDetails().serviceName()); - } - } - - - /** - * Tests that we can create, describe and delete a launch configuration group. - */ - - @Test - public void testLaunchConfigurationOperations() throws Exception { - launchConfigurationName = "java-integ-test-config-" + new Date().getTime(); - String userData = "12345678901234567890123456789012345678901234567890" - + "12345678901234567890123456789012345678901234567890" - + "12345678901234567890123456789012345678901234567890"; - - String encodedUserData = new String(Base64.encodeBase64(userData.getBytes())); - - BlockDeviceMapping blockDeviceMapping1 = BlockDeviceMapping.builder() - .deviceName("xvdh") - .noDevice(true) - .build(); - - - Ebs ebs = Ebs.builder() - .deleteOnTermination(true) - .volumeType("io1") - .volumeSize(10) - .iops(100) - .build(); - - BlockDeviceMapping blockDeviceMapping2 = BlockDeviceMapping.builder() - .ebs(ebs) - .deviceName("/dev/sdh") - .build(); - - // Create a LaunchConfigurationGroup - CreateLaunchConfigurationRequest createRequest = CreateLaunchConfigurationRequest.builder() - .launchConfigurationName(launchConfigurationName).imageId(AMI_ID) - .instanceType(INSTANCE_TYPE).securityGroups("default").userData(encodedUserData) - .associatePublicIpAddress(false) - .blockDeviceMappings(Arrays.asList(blockDeviceMapping1, blockDeviceMapping2)) - .build(); - - autoscaling.createLaunchConfiguration(createRequest); - - // Describe it - DescribeLaunchConfigurationsRequest describeRequest = DescribeLaunchConfigurationsRequest.builder() - .launchConfigurationNames(launchConfigurationName).build(); - - DescribeLaunchConfigurationsResponse result = autoscaling.describeLaunchConfigurations(describeRequest); - List launchConfigurations = result.launchConfigurations(); - assertEquals(1, launchConfigurations.size()); - LaunchConfiguration launchConfiguration = launchConfigurations.get(0); - assertNotNull(launchConfiguration.createdTime()); - assertEquals(AMI_ID, launchConfiguration.imageId()); - assertEquals(INSTANCE_TYPE, launchConfiguration.instanceType()); - assertEquals(launchConfigurationName, launchConfiguration.launchConfigurationName()); - assertEquals("default", launchConfiguration.securityGroups().get(0)); - assertEquals(encodedUserData, launchConfiguration.userData()); - assertEquals(false, launchConfiguration.associatePublicIpAddress()); - assertThat(result.launchConfigurations().get(0).blockDeviceMappings()).contains( - blockDeviceMapping1, blockDeviceMapping2); - - // Delete it - autoscaling.deleteLaunchConfiguration(DeleteLaunchConfigurationRequest.builder() - .launchConfigurationName(launchConfigurationName).build()); - } - - - /** - * Tests that we can create, describe, set desired capacity and delete autoscaling groups. - */ - - @Test - public void testAutoScalingGroupOperations() throws Exception { - autoScalingGroupName = "java-integ-test-scaling-group-" + new Date().getTime(); - launchConfigurationName = "java-integ-test-launch-configuration-" + new Date().getTime(); - createLaunchConfiguration(launchConfigurationName); - - // Create an AutoScalingGroup - CreateAutoScalingGroupRequest createRequest = CreateAutoScalingGroupRequest.builder() - .autoScalingGroupName(autoScalingGroupName).launchConfigurationName(launchConfigurationName) - .availabilityZones(AVAILABILITY_ZONE).maxSize(2).minSize(1).build(); - autoscaling.createAutoScalingGroup(createRequest); - - // Set desired capacity - autoscaling.setDesiredCapacity(SetDesiredCapacityRequest.builder().autoScalingGroupName(autoScalingGroupName) - .desiredCapacity(1).build()); - - // Describe - DescribeAutoScalingGroupsResponse result = autoscaling - .describeAutoScalingGroups(DescribeAutoScalingGroupsRequest.builder() - .autoScalingGroupNames(autoScalingGroupName).build()); - List autoScalingGroups = result.autoScalingGroups(); - assertEquals(1, autoScalingGroups.size()); - AutoScalingGroup group = autoScalingGroups.get(0); - // TODO: Commenting out until AutoScaling is ready to release their next API update - // assertEquals("Active", group.scalingMode()); - assertEquals(1, group.availabilityZones().size()); - assertEquals(AVAILABILITY_ZONE, group.availabilityZones().get(0)); - assertEquals(autoScalingGroupName, group.autoScalingGroupName()); - assertNotNull(group.createdTime()); - assertEquals(1, group.desiredCapacity().intValue()); - assertEquals(0, group.instances().size()); - assertEquals(launchConfigurationName, group.launchConfigurationName()); - assertEquals(0, group.loadBalancerNames().size()); - assertEquals(2, group.maxSize().intValue()); - assertEquals(1, group.minSize().intValue()); - assertEquals(1, group.terminationPolicies().size()); - assertEquals("Default", group.terminationPolicies().get(0)); - - // Update - UpdateAutoScalingGroupRequest updateRequest = UpdateAutoScalingGroupRequest.builder() - .autoScalingGroupName(autoScalingGroupName).maxSize(3).defaultCooldown(3).minSize(2) - .terminationPolicies(TERMINATION_POLICY).build(); - autoscaling.updateAutoScalingGroup(updateRequest); - - // Check our updates - result = autoscaling.describeAutoScalingGroups(DescribeAutoScalingGroupsRequest.builder() - .autoScalingGroupNames(autoScalingGroupName).build()); - autoScalingGroups = result.autoScalingGroups(); - assertEquals(1, autoScalingGroups.size()); - group = autoScalingGroups.get(0); - assertEquals((double) 3, (double) group.maxSize(), 0.0); - assertEquals((double) 3, (double) group.defaultCooldown(), 0.0); - assertEquals((double) 2, (double) group.minSize(), 0.0); - assertEquals(1, group.terminationPolicies().size()); - assertEquals(TERMINATION_POLICY, group.terminationPolicies().get(0)); - - // Describe the scaling activity of our group - DescribeScalingActivitiesRequest describeActivityRequest = DescribeScalingActivitiesRequest.builder() - .autoScalingGroupName(autoScalingGroupName).maxRecords(20).build(); - DescribeScalingActivitiesResponse describeScalingActivitiesResult = autoscaling - .describeScalingActivities(describeActivityRequest); - describeScalingActivitiesResult.activities(); - } - - - /** - * Tests that we can create, describe and delete a policies. - */ - - @Test - public void testPolicies() { - autoScalingGroupName = "java-integ-test-scaling-group-" + new Date().getTime(); - launchConfigurationName = "java-integ-test-launch-configuration-" + new Date().getTime(); - createLaunchConfiguration(launchConfigurationName); - - // Create an AutoScalingGroup - CreateAutoScalingGroupRequest createRequest = CreateAutoScalingGroupRequest.builder() - .autoScalingGroupName(autoScalingGroupName).launchConfigurationName(launchConfigurationName) - .availabilityZones(AVAILABILITY_ZONE).maxSize(2).minSize(1).build(); - autoscaling.createAutoScalingGroup(createRequest); - - // Put a Policy - PutScalingPolicyRequest putScalingPolicyRequest = PutScalingPolicyRequest.builder() - .autoScalingGroupName(autoScalingGroupName) - .policyName(TEST_POLICY_NAME) - .scalingAdjustment(TEST_SCALING_ADJUSTMENT) - .adjustmentType(TEST_ADJUSTMENT_TYPE) - .cooldown(TEST_COOLDOWN) - .build(); - - PutScalingPolicyResponse putScalingPolicyResult = autoscaling.putScalingPolicy(putScalingPolicyRequest); - assertNotNull(putScalingPolicyResult); - assertNotNull(putScalingPolicyResult.policyARN()); - - // Describe the Policy - DescribePoliciesRequest describePoliciesRequest = DescribePoliciesRequest.builder() - .autoScalingGroupName(autoScalingGroupName) - .build(); - - DescribePoliciesResponse describePoliciesResult = autoscaling.describePolicies(describePoliciesRequest); - assertNotNull(describePoliciesResult); - assertEquals(1, describePoliciesResult.scalingPolicies().size()); - - ScalingPolicy policy = describePoliciesResult.scalingPolicies().get(0); - assertEquals(autoScalingGroupName, policy.autoScalingGroupName()); - assertEquals(TEST_POLICY_NAME, policy.policyName()); - assertEquals(TEST_ADJUSTMENT_TYPE, policy.adjustmentType()); - assertEquals(TEST_SCALING_ADJUSTMENT, policy.scalingAdjustment()); - assertEquals(TEST_COOLDOWN, policy.cooldown()); - assertEquals(0, policy.alarms().size()); - assertNotNull(policy.policyARN()); - - // Execute the Policy - ExecutePolicyRequest executePolicyRequest = ExecutePolicyRequest.builder() - .autoScalingGroupName(autoScalingGroupName) - .policyName(TEST_POLICY_NAME) - .build(); - - autoscaling.executePolicy(executePolicyRequest); - - // Delete the Policy - DeletePolicyRequest deletePolicyRequest = DeletePolicyRequest.builder() - .autoScalingGroupName(autoScalingGroupName) - .policyName(TEST_POLICY_NAME) - .build(); - - autoscaling.deletePolicy(deletePolicyRequest); - - describePoliciesRequest = DescribePoliciesRequest.builder() - .autoScalingGroupName(autoScalingGroupName) - .build(); - - describePoliciesResult = autoscaling.describePolicies(describePoliciesRequest); - assertNotNull(describePoliciesResult); - assertEquals(0, describePoliciesResult.scalingPolicies().size()); - } - - - /** - * Tests that we can create, describe and delete an action. - */ - - @Test - public void testActions() { - autoScalingGroupName = "java-integ-test-scaling-group-" + new Date().getTime(); - launchConfigurationName = "java-integ-test-launch-configuration-" + new Date().getTime(); - createLaunchConfiguration(launchConfigurationName); - - // Create an AutoScalingGroup - CreateAutoScalingGroupRequest createRequest = CreateAutoScalingGroupRequest.builder() - .autoScalingGroupName(autoScalingGroupName).launchConfigurationName(launchConfigurationName) - .availabilityZones(AVAILABILITY_ZONE).maxSize(2).minSize(1) - .build(); - autoscaling.createAutoScalingGroup(createRequest); - - // Describe the Action - PutScheduledUpdateGroupActionRequest putScheduledUpdateGroupActionRequest = PutScheduledUpdateGroupActionRequest.builder() - .autoScalingGroupName(autoScalingGroupName) - .scheduledActionName(TEST_ACTION_NAME) - .startTime(TEST_ACTION_TIME) - .minSize(TEST_MIN_SIZE) - .maxSize(TEST_MAX_SIZE) - .desiredCapacity(TEST_DESIRED_CAPACITY) - .build(); - - autoscaling.putScheduledUpdateGroupAction(putScheduledUpdateGroupActionRequest); - - // Describe the Action - DescribeScheduledActionsRequest describeScheduledActionsRequest = DescribeScheduledActionsRequest.builder() - .autoScalingGroupName(autoScalingGroupName) - .build(); - - DescribeScheduledActionsResponse describeScheduledActionsResult = autoscaling - .describeScheduledActions(describeScheduledActionsRequest); - assertNotNull(describeScheduledActionsResult); - assertEquals(1, describeScheduledActionsResult.scheduledUpdateGroupActions().size()); - - ScheduledUpdateGroupAction scheduledUpdateGroupAction = describeScheduledActionsResult - .scheduledUpdateGroupActions().get(0); - assertEquals(autoScalingGroupName, scheduledUpdateGroupAction.autoScalingGroupName()); - assertEquals(TEST_ACTION_NAME, scheduledUpdateGroupAction.scheduledActionName()); - assertEquals(TEST_MIN_SIZE, scheduledUpdateGroupAction.minSize()); - assertEquals(TEST_MAX_SIZE, scheduledUpdateGroupAction.maxSize()); - assertEquals(TEST_DESIRED_CAPACITY, scheduledUpdateGroupAction.desiredCapacity()); - // assertEquals( TEST_ACTION_TIME.getTime(), scheduledUpdateGroupAction.getTime().getTime() - // ); - - // Delete the Action - DeleteScheduledActionRequest deleteScheduledActionRequest = DeleteScheduledActionRequest.builder() - .autoScalingGroupName(autoScalingGroupName) - .scheduledActionName(TEST_ACTION_NAME) - .build(); - - autoscaling.deleteScheduledAction(deleteScheduledActionRequest); - - describeScheduledActionsRequest = DescribeScheduledActionsRequest.builder() - .autoScalingGroupName(autoScalingGroupName) - .build(); - - describeScheduledActionsResult = autoscaling.describeScheduledActions(describeScheduledActionsRequest); - assertNotNull(describeScheduledActionsResult); - assertEquals(0, describeScheduledActionsResult.scheduledUpdateGroupActions().size()); - } - - - /** - * Tests that we can create, describe and delete an action. - */ - - @Test - public void testInstancesAndProcesses() { - autoScalingGroupName = "java-integ-test-scaling-group-" + new Date().getTime(); - launchConfigurationName = "java-integ-test-launch-configuration-" + new Date().getTime(); - createLaunchConfiguration(launchConfigurationName); - - // Create an AutoScalingGroup - CreateAutoScalingGroupRequest createRequest = CreateAutoScalingGroupRequest.builder() - .autoScalingGroupName(autoScalingGroupName).launchConfigurationName(launchConfigurationName) - .availabilityZones(AVAILABILITY_ZONE).maxSize(2).minSize(1).build(); - autoscaling.createAutoScalingGroup(createRequest); - - // Describe Instances - DescribeAutoScalingInstancesResponse describeAutoScalingInstancesResult = autoscaling - .describeAutoScalingInstances(DescribeAutoScalingInstancesRequest.builder().build()); - assertNotNull(describeAutoScalingInstancesResult); - - // Suspend Processes - SuspendProcessesRequest suspendProcessesRequest = SuspendProcessesRequest.builder() - .autoScalingGroupName(autoScalingGroupName) - .build(); - - autoscaling.suspendProcesses(suspendProcessesRequest); - - // Resume Processes - ResumeProcessesRequest resumeProcessesRequest = ResumeProcessesRequest.builder() - .autoScalingGroupName(autoScalingGroupName) - .build(); - - autoscaling.resumeProcesses(resumeProcessesRequest); + @BeforeAll + public static void beforeAll() throws IOException { + setUp(); } - - /** - * Tests that we can invoke the notification related operations correctly. - */ - @Test - public void testNotificationOperations() throws Exception { - autoScalingGroupName = "java-integ-test-scaling-group-" + new Date().getTime(); - launchConfigurationName = "java-integ-test-launch-configuration-" + new Date().getTime(); - createLaunchConfiguration(launchConfigurationName); - - // Create an AutoScalingGroup - CreateAutoScalingGroupRequest createRequest = CreateAutoScalingGroupRequest.builder() - .autoScalingGroupName(autoScalingGroupName).launchConfigurationName(launchConfigurationName) - .availabilityZones(AVAILABILITY_ZONE).maxSize(2).minSize(1) - .build(); - autoscaling.createAutoScalingGroup(createRequest); - - // Describe Notification Types - List notificationTypes = autoscaling.describeAutoScalingNotificationTypes(DescribeAutoScalingNotificationTypesRequest.builder().build()) - .autoScalingNotificationTypes(); - assertTrue(notificationTypes.size() > 1); - String notificationType = notificationTypes.get(0); - assertNotEmpty(notificationType); - - // PutNotificationConfiguration - topicARN = sns.createTopic(CreateTopicRequest.builder().name("java-sdk-autoscaling-integ-test-" + System.currentTimeMillis()).build()).topicArn(); - PutNotificationConfigurationRequest putRequest = PutNotificationConfigurationRequest.builder() - .autoScalingGroupName(autoScalingGroupName).notificationTypes(notificationType) - .topicARN(topicARN).build(); - autoscaling.putNotificationConfiguration(putRequest); - - // DescribeNotificationConfiguration - DescribeNotificationConfigurationsRequest describeRequest = DescribeNotificationConfigurationsRequest.builder() - .autoScalingGroupNames(autoScalingGroupName).build(); - List notificationConfigurations = autoscaling.describeNotificationConfigurations( - describeRequest).notificationConfigurations(); - assertEquals(1, notificationConfigurations.size()); - assertEquals(autoScalingGroupName, notificationConfigurations.get(0).autoScalingGroupName()); - assertEquals(notificationType, notificationConfigurations.get(0).notificationType()); - assertEquals(topicARN, notificationConfigurations.get(0).topicARN()); - - // DeleteNotificationConfiguration - autoscaling.deleteNotificationConfiguration(DeleteNotificationConfigurationRequest.builder() - .autoScalingGroupName(autoScalingGroupName) - .topicARN(topicARN).build()); - assertEquals(0, autoscaling.describeNotificationConfigurations(describeRequest).notificationConfigurations() - .size()); + public void describeAutoScalingGroups() { + autoscaling.describeAutoScalingGroups(); + autoscalingAsync.describeAutoScalingGroups().join(); } - - /** - * Tests that we can invoke the tagging operations. - */ - @Test - public void testTagging() { - autoScalingGroupName = "java-integ-test-scaling-group-" + new Date().getTime(); - launchConfigurationName = "java-integ-test-launch-configuration-" + new Date().getTime(); - createLaunchConfiguration(launchConfigurationName); - - // Create an AutoScalingGroup - CreateAutoScalingGroupRequest createRequest = CreateAutoScalingGroupRequest.builder() - .autoScalingGroupName(autoScalingGroupName).launchConfigurationName(launchConfigurationName) - .availabilityZones(AVAILABILITY_ZONE).maxSize(2).minSize(1).build(); - autoscaling.createAutoScalingGroup(createRequest); - - Map tags = new HashMap(); - tags.put("tag1", "value1"); - tags.put("tag2", "value2"); - // The CreateOrUpdateTags API will auto-construct an empty value for the - // tag, even when we don't provide the "Tags.member.n.Value" parameter at - // all (which is the case when we set the tag value as null in the - // request). So if we do `tags.put("tag3", null)`, the test would fail. - tags.put("tag3", ""); - autoscaling.createOrUpdateTags(CreateOrUpdateTagsRequest.builder().tags(convertTagList(tags, - autoScalingGroupName)).build()); - - Filter filter = Filter.builder().name("auto-scaling-group").values(autoScalingGroupName).build(); - - DescribeTagsResponse describeTags = autoscaling.describeTags(DescribeTagsRequest.builder().filters(filter).build()); - assertEquals(3, describeTags.tags().size()); - for (TagDescription tag : describeTags.tags()) { - assertEquals(autoScalingGroupName, tag.resourceId()); - assertEquals(tags.get(tag.key()), tag.value()); - assertTrue(tag.propagateAtLaunch()); - } - - // Now delete the tags - autoscaling.deleteTags(DeleteTagsRequest.builder().tags(convertTagList(tags, autoScalingGroupName)).build()); - - describeTags = autoscaling.describeTags(DescribeTagsRequest.builder().filters(filter).build()); - assertEquals(0, describeTags.tags().size()); + public void describeTerminationPolicyTypes() { + autoscaling.describeTerminationPolicyTypes(); + autoscalingAsync.describeAutoScalingGroups().join(); } - @Test - public void testDescribeTerminationPolicyTypes() { - DescribeTerminationPolicyTypesResponse describeAdjustmentTypesResult = autoscaling - .describeTerminationPolicyTypes(DescribeTerminationPolicyTypesRequest.builder().build()); - - assertThat(describeAdjustmentTypesResult.terminationPolicyTypes()).containsAll(TERMINATION_POLICIES); - } - - private Collection convertTagList(Map tags, String groupName) { - Collection converted = new LinkedList(); - for (String key : tags.keySet()) { - Tag tag = Tag.builder().key(key).value(tags.get(key)).resourceType("auto-scaling-group") - .resourceId(groupName).propagateAtLaunch(true).build(); - converted.add(tag); - } - return converted; - } - - - /** - * In the following test, we purposely setting the time offset to trigger a clock skew error. - * The time offset must be fixed and then we validate the global value for time offset has been - * update. - */ - @Test public void testClockSkewAs() { SdkGlobalTime.setGlobalTimeOffset(3600); diff --git a/services/autoscaling/src/it/java/software/amazon/awssdk/services/autoscaling/IntegrationTestBase.java b/services/autoscaling/src/it/java/software/amazon/awssdk/services/autoscaling/IntegrationTestBase.java index 167317fe81a9..425e8faefe7e 100644 --- a/services/autoscaling/src/it/java/software/amazon/awssdk/services/autoscaling/IntegrationTestBase.java +++ b/services/autoscaling/src/it/java/software/amazon/awssdk/services/autoscaling/IntegrationTestBase.java @@ -16,10 +16,7 @@ package software.amazon.awssdk.services.autoscaling; import java.io.IOException; -import org.junit.BeforeClass; import software.amazon.awssdk.regions.Region; -import software.amazon.awssdk.services.autoscaling.model.CreateLaunchConfigurationRequest; -import software.amazon.awssdk.services.sns.SnsClient; import software.amazon.awssdk.testutils.service.AwsTestBase; /** @@ -29,29 +26,18 @@ */ public abstract class IntegrationTestBase extends AwsTestBase { - /** - * Region has to be us-east-1 to find AMI '{@value #AMI_ID}'. - */ private static final Region REGION = Region.US_EAST_1; - /* - * Test data values - */ - protected static final String AVAILABILITY_ZONE = "us-east-1a"; - protected static final String AMI_ID = "ami-1ecae776"; - protected static final String INSTANCE_TYPE = "m1.small"; /** Shared Autoscaling client for all tests to use. */ protected static AutoScalingClient autoscaling; /** Shared Autoscaling async client for tests to use. */ protected static AutoScalingAsyncClient autoscalingAsync; /** Shared SNS client for tests to use. */ - protected static SnsClient sns; /** * Loads the AWS account info for the integration tests and creates an AutoScaling client for * tests to use. */ - @BeforeClass public static void setUp() throws IOException { setUpCredentials(); autoscaling = AutoScalingClient.builder() @@ -62,25 +48,6 @@ public static void setUp() throws IOException { .credentialsProvider(CREDENTIALS_PROVIDER_CHAIN) .region(REGION) .build(); - sns = SnsClient.builder() - .credentialsProvider(CREDENTIALS_PROVIDER_CHAIN) - .region(REGION) - .build(); } - /* - * Test Helper Methods - */ - - /** - * Creates a launch configuration with the specified name. - * - * @param name - * The name for the new launch configuration. - */ - protected void createLaunchConfiguration(String name) { - CreateLaunchConfigurationRequest createRequest = CreateLaunchConfigurationRequest.builder() - .launchConfigurationName(name).imageId(AMI_ID).instanceType(INSTANCE_TYPE).build(); - autoscaling.createLaunchConfiguration(createRequest); - } } diff --git a/services/autoscaling/src/it/java/software/amazon/awssdk/services/autoscaling/waiters/AutoScalingWaiterTest.java b/services/autoscaling/src/test/java/software/amazon/awssdk/services/autoscaling/waiters/AutoScalingWaiterTest.java similarity index 100% rename from services/autoscaling/src/it/java/software/amazon/awssdk/services/autoscaling/waiters/AutoScalingWaiterTest.java rename to services/autoscaling/src/test/java/software/amazon/awssdk/services/autoscaling/waiters/AutoScalingWaiterTest.java diff --git a/services/autoscalingplans/pom.xml b/services/autoscalingplans/pom.xml index 46d21ccd2e3b..de396a86874b 100644 --- a/services/autoscalingplans/pom.xml +++ b/services/autoscalingplans/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT autoscalingplans AWS Java SDK :: Services :: Auto Scaling Plans diff --git a/services/autoscalingplans/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/autoscalingplans/src/main/resources/codegen-resources/endpoint-rule-set.json index 313fa8ab3cae..ed07fb143d43 100644 --- a/services/autoscalingplans/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/autoscalingplans/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://autoscaling-plans-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://autoscaling-plans-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://autoscaling-plans.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://autoscaling-plans.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://autoscaling-plans.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://autoscaling-plans.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/autoscalingplans/src/main/resources/codegen-resources/endpoint-tests.json b/services/autoscalingplans/src/main/resources/codegen-resources/endpoint-tests.json index 6f9d82d2920f..fd94983ed96d 100644 --- a/services/autoscalingplans/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/autoscalingplans/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,770 +1,29 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans-fips.ap-northeast-1.amazonaws.com" + "url": "https://autoscaling-plans.af-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "af-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans.ap-northeast-1.api.aws" + "url": "https://autoscaling-plans.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "ap-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -775,594 +34,547 @@ } }, "params": { - "UseDualStack": false, "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://autoscaling-plans.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans.me-south-1.amazonaws.com" + "url": "https://autoscaling-plans.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": false + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans-fips.sa-east-1.api.aws" + "url": "https://autoscaling-plans.ap-northeast-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": true + "Region": "ap-northeast-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans-fips.sa-east-1.amazonaws.com" + "url": "https://autoscaling-plans.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": true + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans.sa-east-1.api.aws" + "url": "https://autoscaling-plans.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": false + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans.sa-east-1.amazonaws.com" + "url": "https://autoscaling-plans.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans-fips.ap-east-1.api.aws" + "url": "https://autoscaling-plans.ap-southeast-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": true + "Region": "ap-southeast-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans-fips.ap-east-1.amazonaws.com" + "url": "https://autoscaling-plans.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": true + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans.ap-east-1.api.aws" + "url": "https://autoscaling-plans.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": false + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans.ap-east-1.amazonaws.com" + "url": "https://autoscaling-plans.eu-north-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": false + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans-fips.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://autoscaling-plans.eu-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": true + "Region": "eu-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans-fips.cn-north-1.amazonaws.com.cn" + "url": "https://autoscaling-plans.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": true + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://autoscaling-plans.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": false + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans.cn-north-1.amazonaws.com.cn" + "url": "https://autoscaling-plans.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": false + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans-fips.us-gov-west-1.api.aws" + "url": "https://autoscaling-plans.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "me-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans-fips.us-gov-west-1.amazonaws.com" + "url": "https://autoscaling-plans.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans.us-gov-west-1.api.aws" + "url": "https://autoscaling-plans.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans.us-gov-west-1.amazonaws.com" + "url": "https://autoscaling-plans.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans-fips.ap-southeast-1.api.aws" + "url": "https://autoscaling-plans.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans-fips.ap-southeast-1.amazonaws.com" + "url": "https://autoscaling-plans.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans.ap-southeast-1.api.aws" + "url": "https://autoscaling-plans-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans.ap-southeast-1.amazonaws.com" + "url": "https://autoscaling-plans-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans-fips.ap-southeast-2.api.aws" + "url": "https://autoscaling-plans.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans-fips.ap-southeast-2.amazonaws.com" + "url": "https://autoscaling-plans.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans.ap-southeast-2.api.aws" + "url": "https://autoscaling-plans.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans.ap-southeast-2.amazonaws.com" + "url": "https://autoscaling-plans-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans-fips.ap-southeast-3.api.aws" + "url": "https://autoscaling-plans-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-3", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans-fips.ap-southeast-3.amazonaws.com" + "url": "https://autoscaling-plans.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-3", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans.ap-southeast-3.api.aws" + "url": "https://autoscaling-plans.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-3", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans.ap-southeast-3.amazonaws.com" + "url": "https://autoscaling-plans.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-3", - "UseFIPS": false + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans-fips.us-east-1.api.aws" + "url": "https://autoscaling-plans-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-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://autoscaling-plans-fips.us-east-1.amazonaws.com" + "url": "https://autoscaling-plans-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans.us-east-1.api.aws" + "url": "https://autoscaling-plans.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://autoscaling-plans.us-east-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans-fips.us-east-2.api.aws" + "url": "https://autoscaling-plans-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.us-east-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans.us-east-2.api.aws" + "url": "https://autoscaling-plans.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://autoscaling-plans.us-east-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans-fips.cn-northwest-1.api.amazonwebservices.com.cn" + "url": "https://autoscaling-plans-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://autoscaling-plans-fips.cn-northwest-1.amazonaws.com.cn" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans.cn-northwest-1.api.amazonwebservices.com.cn" + "url": "https://autoscaling-plans.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans.cn-northwest-1.amazonaws.com.cn" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1372,9 +584,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1384,11 +596,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/backup/pom.xml b/services/backup/pom.xml index 85dcc6e5e7e4..e48af35bb463 100644 --- a/services/backup/pom.xml +++ b/services/backup/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT backup AWS Java SDK :: Services :: Backup diff --git a/services/backupgateway/pom.xml b/services/backupgateway/pom.xml index e488cc954ae3..41562227d805 100644 --- a/services/backupgateway/pom.xml +++ b/services/backupgateway/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT backupgateway AWS Java SDK :: Services :: Backup Gateway diff --git a/services/backupgateway/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/backupgateway/src/main/resources/codegen-resources/endpoint-rule-set.json index 1e9320a2c405..1424a062c507 100644 --- a/services/backupgateway/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/backupgateway/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,64 +45,17 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "ref": "UseFIPS" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + true ] } - ] + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" }, { "conditions": [ @@ -111,19 +63,51 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "booleanEquals", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "UseDualStack" - }, - true - ] + "ref": "Region" + } + ], + "assign": "PartitionResult" } ], "type": "tree", @@ -133,90 +117,109 @@ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] }, { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://backup-gateway-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://backup-gateway-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -229,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://backup-gateway.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://backup-gateway.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://backup-gateway.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://backup-gateway.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/backupgateway/src/main/resources/codegen-resources/endpoint-tests.json b/services/backupgateway/src/main/resources/codegen-resources/endpoint-tests.json index 936ab0dd2454..962358c4fe61 100644 --- a/services/backupgateway/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/backupgateway/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,978 +1,380 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "ap-south-1" - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "ap-south-1" - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway.ap-south-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": true, - "Region": "ap-south-1" - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-south-1" - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway-fips.eu-south-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "eu-south-1" - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "eu-south-1" - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway.eu-south-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": true, - "Region": "eu-south-1" - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-south-1" - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "us-gov-east-1" - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-east-1" - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway.us-gov-east-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": true, - "Region": "us-gov-east-1" - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-east-1" - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "ca-central-1" - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "ca-central-1" - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway.ca-central-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": true, - "Region": "ca-central-1" - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": false, - "Region": "ca-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway.eu-central-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": true, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway-fips.us-west-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "us-west-1" - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "us-west-1" - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway.us-west-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": true, - "Region": "us-west-1" - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway.us-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-1" - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway-fips.us-west-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "us-west-2" - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "us-west-2" - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway.us-west-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": true, - "Region": "us-west-2" - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway.us-west-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-2" - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway-fips.af-south-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "af-south-1" - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "af-south-1" - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway.af-south-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": true, - "Region": "af-south-1" - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway.af-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": false, - "Region": "af-south-1" - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "eu-north-1" - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "eu-north-1" - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway.eu-north-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": true, - "Region": "eu-north-1" - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-north-1" - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway.eu-west-3.api.aws" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": true, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "eu-west-2" - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "eu-west-2" - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backup-gateway.eu-west-2.api.aws" + "url": "https://backup-gateway.af-south-1.amazonaws.com" } }, "params": { + "Region": "af-south-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "eu-west-2" + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backup-gateway.eu-west-2.amazonaws.com" + "url": "https://backup-gateway.ap-east-1.amazonaws.com" } }, "params": { + "Region": "ap-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-2" - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "eu-west-1" + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backup-gateway-fips.eu-west-1.amazonaws.com" + "url": "https://backup-gateway.ap-northeast-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "eu-west-1" + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backup-gateway.eu-west-1.api.aws" + "url": "https://backup-gateway.ap-northeast-2.amazonaws.com" } }, "params": { + "Region": "ap-northeast-2", "UseFIPS": false, - "UseDualStack": true, - "Region": "eu-west-1" + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backup-gateway.eu-west-1.amazonaws.com" + "url": "https://backup-gateway.ap-northeast-3.amazonaws.com" } }, "params": { + "Region": "ap-northeast-3", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backup-gateway-fips.ap-northeast-3.api.aws" + "url": "https://backup-gateway.ap-south-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "ap-northeast-3" + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backup-gateway-fips.ap-northeast-3.amazonaws.com" + "url": "https://backup-gateway.ap-southeast-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "ap-northeast-3" + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backup-gateway.ap-northeast-3.api.aws" + "url": "https://backup-gateway.ap-southeast-2.amazonaws.com" } }, "params": { + "Region": "ap-southeast-2", "UseFIPS": false, - "UseDualStack": true, - "Region": "ap-northeast-3" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backup-gateway.ap-northeast-3.amazonaws.com" + "url": "https://backup-gateway.ca-central-1.amazonaws.com" } }, "params": { + "Region": "ca-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-3" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backup-gateway-fips.ap-northeast-2.api.aws" + "url": "https://backup-gateway.eu-central-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "ap-northeast-2" + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backup-gateway-fips.ap-northeast-2.amazonaws.com" + "url": "https://backup-gateway.eu-north-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "ap-northeast-2" + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backup-gateway.ap-northeast-2.api.aws" + "url": "https://backup-gateway.eu-south-1.amazonaws.com" } }, "params": { + "Region": "eu-south-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backup-gateway.ap-northeast-2.amazonaws.com" + "url": "https://backup-gateway.eu-west-1.amazonaws.com" } }, "params": { + "Region": "eu-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backup-gateway-fips.ap-northeast-1.api.aws" + "url": "https://backup-gateway.eu-west-2.amazonaws.com" } }, "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "ap-northeast-1" + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backup-gateway-fips.ap-northeast-1.amazonaws.com" + "url": "https://backup-gateway.eu-west-3.amazonaws.com" } }, "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "ap-northeast-1" + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backup-gateway.ap-northeast-1.api.aws" + "url": "https://backup-gateway.me-south-1.amazonaws.com" } }, "params": { + "Region": "me-south-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backup-gateway.ap-northeast-1.amazonaws.com" + "url": "https://backup-gateway.sa-east-1.amazonaws.com" } }, "params": { + "Region": "sa-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backup-gateway-fips.me-south-1.api.aws" + "url": "https://backup-gateway.us-east-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "me-south-1" + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backup-gateway-fips.me-south-1.amazonaws.com" + "url": "https://backup-gateway.us-east-2.amazonaws.com" } }, "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "me-south-1" + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backup-gateway.me-south-1.api.aws" + "url": "https://backup-gateway.us-west-1.amazonaws.com" } }, "params": { + "Region": "us-west-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "me-south-1" + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backup-gateway.me-south-1.amazonaws.com" + "url": "https://backup-gateway.us-west-2.amazonaws.com" } }, "params": { + "Region": "us-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "me-south-1" + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://backup-gateway-fips.sa-east-1.api.aws" + "url": "https://backup-gateway-fips.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "sa-east-1" + "UseDualStack": true } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backup-gateway-fips.sa-east-1.amazonaws.com" + "url": "https://backup-gateway-fips.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "sa-east-1" - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway.sa-east-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": true, - "Region": "sa-east-1" + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://backup-gateway.sa-east-1.amazonaws.com" + "url": "https://backup-gateway.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "sa-east-1" + "UseDualStack": true } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://backup-gateway-fips.ap-east-1.api.aws" + "url": "https://backup-gateway-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "ap-east-1" + "UseDualStack": true } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backup-gateway-fips.ap-east-1.amazonaws.com" + "url": "https://backup-gateway-fips.cn-north-1.amazonaws.com.cn" } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "ap-east-1" + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://backup-gateway.ap-east-1.api.aws" + "url": "https://backup-gateway.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "ap-east-1" + "UseDualStack": true } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backup-gateway.ap-east-1.amazonaws.com" + "url": "https://backup-gateway.cn-north-1.amazonaws.com.cn" } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-east-1" - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway-fips.us-gov-west-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "us-gov-west-1" - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway-fips.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backup-gateway.us-gov-west-1.api.aws" + "url": "https://backup-gateway.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { @@ -983,221 +385,162 @@ } }, "params": { + "Region": "us-gov-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://backup-gateway-fips.ap-southeast-1.api.aws" + "url": "https://backup-gateway-fips.us-gov-east-1.api.aws" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "ap-southeast-1" + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backup-gateway-fips.ap-southeast-1.amazonaws.com" + "url": "https://backup-gateway-fips.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "ap-southeast-1" - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway.ap-southeast-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": true, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://backup-gateway.ap-southeast-1.amazonaws.com" + "url": "https://backup-gateway.us-gov-east-1.api.aws" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-1" + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://backup-gateway-fips.ap-southeast-2.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": "ap-southeast-2" + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backup-gateway-fips.ap-southeast-2.amazonaws.com" + "url": "https://backup-gateway-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://backup-gateway.ap-southeast-2.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "ap-southeast-2" + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backup-gateway.ap-southeast-2.amazonaws.com" + "url": "https://backup-gateway.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://backup-gateway-fips.us-east-1.api.aws" - } + "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-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backup-gateway-fips.us-east-1.amazonaws.com" + "url": "https://backup-gateway-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-1" - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway.us-east-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://backup-gateway.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-1" - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway-fips.us-east-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "us-east-2" - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://backup-gateway-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-2" + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backup-gateway.us-east-2.api.aws" + "url": "https://backup-gateway.us-isob-east-1.sc2s.sgov.gov" } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-east-2" + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://backup-gateway.us-east-2.amazonaws.com" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-2" + "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" @@ -1206,7 +549,6 @@ "params": { "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -1216,9 +558,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" } }, @@ -1228,11 +570,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/services/backupstorage/pom.xml b/services/backupstorage/pom.xml index 3b61f094539b..a15f6218cec0 100644 --- a/services/backupstorage/pom.xml +++ b/services/backupstorage/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT backupstorage AWS Java SDK :: Services :: Backup Storage diff --git a/services/backupstorage/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/backupstorage/src/main/resources/codegen-resources/endpoint-rule-set.json index f1119e35334b..de1b329f49f9 100644 --- a/services/backupstorage/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/backupstorage/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "parseURL", + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,221 +140,175 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://backupstorage-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] }, { "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] - }, + } + ], + "type": "tree", + "rules": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://backupstorage-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://backupstorage-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://backupstorage-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://backupstorage.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://backupstorage.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://backupstorage.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://backupstorage.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/backupstorage/src/main/resources/codegen-resources/endpoint-tests.json b/services/backupstorage/src/main/resources/codegen-resources/endpoint-tests.json index 9e0879b3e556..ce01d1ddf5f4 100644 --- a/services/backupstorage/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/backupstorage/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,224 +1,281 @@ { "testCases": [ { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://backupstorage-fips.us-west-2.api.aws" + "url": "https://backupstorage-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backupstorage-fips.us-west-2.amazonaws.com" + "url": "https://backupstorage-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://backupstorage.us-west-2.api.aws" + "url": "https://backupstorage.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backupstorage.us-west-2.amazonaws.com" + "url": "https://backupstorage.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://backupstorage-fips.eu-west-1.api.aws" + "url": "https://backupstorage-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backupstorage-fips.eu-west-1.amazonaws.com" + "url": "https://backupstorage-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://backupstorage.eu-west-1.api.aws" + "url": "https://backupstorage.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backupstorage.eu-west-1.amazonaws.com" + "url": "https://backupstorage.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://backupstorage-fips.us-east-1.api.aws" + "url": "https://backupstorage-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-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://backupstorage-fips.us-east-1.amazonaws.com" + "url": "https://backupstorage-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://backupstorage.us-east-1.api.aws" + "url": "https://backupstorage.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-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://backupstorage.us-east-1.amazonaws.com" + "url": "https://backupstorage.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backupstorage-fips.us-east-2.api.aws" + "url": "https://backupstorage-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backupstorage-fips.us-east-2.amazonaws.com" + "url": "https://backupstorage.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backupstorage.us-east-2.api.aws" + "url": "https://backupstorage-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://backupstorage.us-east-2.amazonaws.com" + "url": "https://backupstorage.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -228,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -240,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/batch/pom.xml b/services/batch/pom.xml index 6cb7b65c7eae..b6f2169f4493 100644 --- a/services/batch/pom.xml +++ b/services/batch/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT batch AWS Java SDK :: Services :: AWS Batch diff --git a/services/batch/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/batch/src/main/resources/codegen-resources/endpoint-rule-set.json index ee7361c8f757..d04df9721c1d 100644 --- a/services/batch/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/batch/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,92 +140,83 @@ { "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://batch-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://batch-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 + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], @@ -221,180 +225,140 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, + "aws", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] } ] } ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - "aws", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://fips.batch.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - "aws-us-gov", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://batch.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://batch-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] + "endpoint": { + "url": "https://fips.batch.{Region}.amazonaws.com", + "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", + "fn": "stringEquals", "argv": [ - true, + "aws-us-gov", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsDualStack" + "name" ] } ] } ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://batch.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] + "endpoint": { + "url": "https://batch.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://batch-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] }, { "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], "type": "tree", "rules": [ { "conditions": [], "endpoint": { - "url": "https://batch.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://batch.{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://batch.{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/services/bedrock/pom.xml b/services/bedrock/pom.xml new file mode 100644 index 000000000000..896376bc96e5 --- /dev/null +++ b/services/bedrock/pom.xml @@ -0,0 +1,60 @@ + + + + + 4.0.0 + + software.amazon.awssdk + services + 2.20.163-SNAPSHOT + + bedrock + AWS Java SDK :: Services :: Bedrock + The AWS Java SDK for Bedrock module holds the client classes that are used for + communicating with Bedrock. + + https://aws.amazon.com/sdkforjava + + + + org.apache.maven.plugins + maven-jar-plugin + + + + software.amazon.awssdk.services.bedrock + + + + + + + + + + software.amazon.awssdk + protocol-core + ${awsjavasdk.version} + + + software.amazon.awssdk + aws-json-protocol + ${awsjavasdk.version} + + + diff --git a/services/bedrock/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/bedrock/src/main/resources/codegen-resources/endpoint-rule-set.json new file mode 100644 index 000000000000..51da5236ecd5 --- /dev/null +++ b/services/bedrock/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -0,0 +1,350 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://bedrock-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://bedrock-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://bedrock.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://bedrock.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + } + ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ] + } + ] +} \ No newline at end of file diff --git a/services/bedrock/src/main/resources/codegen-resources/endpoint-tests.json b/services/bedrock/src/main/resources/codegen-resources/endpoint-tests.json new file mode 100644 index 000000000000..1b22fd55b8b7 --- /dev/null +++ b/services/bedrock/src/main/resources/codegen-resources/endpoint-tests.json @@ -0,0 +1,314 @@ +{ + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://bedrock-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://bedrock-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://bedrock.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://bedrock.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://bedrock-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://bedrock-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://bedrock.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://bedrock.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://bedrock-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://bedrock-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://bedrock.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://bedrock.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://bedrock-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://bedrock.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://bedrock-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://bedrock.us-isob-east-1.sc2s.sgov.gov" + } + }, + "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, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/services/bedrock/src/main/resources/codegen-resources/paginators-1.json b/services/bedrock/src/main/resources/codegen-resources/paginators-1.json new file mode 100644 index 000000000000..e8b0ae033ec2 --- /dev/null +++ b/services/bedrock/src/main/resources/codegen-resources/paginators-1.json @@ -0,0 +1,22 @@ +{ + "pagination": { + "ListCustomModels": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "modelSummaries" + }, + "ListModelCustomizationJobs": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "modelCustomizationJobSummaries" + }, + "ListProvisionedModelThroughputs": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "provisionedModelSummaries" + } + } +} diff --git a/services/bedrock/src/main/resources/codegen-resources/service-2.json b/services/bedrock/src/main/resources/codegen-resources/service-2.json new file mode 100644 index 000000000000..0d18e1f21a87 --- /dev/null +++ b/services/bedrock/src/main/resources/codegen-resources/service-2.json @@ -0,0 +1,2056 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2023-04-20", + "endpointPrefix":"bedrock", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"Amazon Bedrock", + "serviceId":"Bedrock", + "signatureVersion":"v4", + "signingName":"bedrock", + "uid":"bedrock-2023-04-20" + }, + "operations":{ + "CreateModelCustomizationJob":{ + "name":"CreateModelCustomizationJob", + "http":{ + "method":"POST", + "requestUri":"/model-customization-jobs", + "responseCode":201 + }, + "input":{"shape":"CreateModelCustomizationJobRequest"}, + "output":{"shape":"CreateModelCustomizationJobResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"TooManyTagsException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Creates a fine-tuning job to customize a base model.

      You specify the base foundation model and the location of the training data. After the model-customization job completes successfully, your custom model resource will be ready to use. Training data contains input and output text for each record in a JSONL format. Optionally, you can specify validation data in the same format as the training data. Bedrock returns validation loss metrics and output generations after the job completes.

      Model-customization jobs are asynchronous and the completion time depends on the base model and the training/validation data size. To monitor a job, use the GetModelCustomizationJob operation to retrieve the job status.

      For more information, see Custom models in the Bedrock User Guide.

      ", + "idempotent":true + }, + "CreateProvisionedModelThroughput":{ + "name":"CreateProvisionedModelThroughput", + "http":{ + "method":"POST", + "requestUri":"/provisioned-model-throughput", + "responseCode":201 + }, + "input":{"shape":"CreateProvisionedModelThroughputRequest"}, + "output":{"shape":"CreateProvisionedModelThroughputResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"TooManyTagsException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Creates a provisioned throughput with dedicated capacity for a foundation model or a fine-tuned model.

      For more information, see Provisioned throughput in the Bedrock User Guide.

      ", + "idempotent":true + }, + "DeleteCustomModel":{ + "name":"DeleteCustomModel", + "http":{ + "method":"DELETE", + "requestUri":"/custom-models/{modelIdentifier}", + "responseCode":200 + }, + "input":{"shape":"DeleteCustomModelRequest"}, + "output":{"shape":"DeleteCustomModelResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Deletes a custom model that you created earlier. For more information, see Custom models in the Bedrock User Guide.

      ", + "idempotent":true + }, + "DeleteModelInvocationLoggingConfiguration":{ + "name":"DeleteModelInvocationLoggingConfiguration", + "http":{ + "method":"DELETE", + "requestUri":"/logging/modelinvocations", + "responseCode":200 + }, + "input":{"shape":"DeleteModelInvocationLoggingConfigurationRequest"}, + "output":{"shape":"DeleteModelInvocationLoggingConfigurationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Delete the invocation logging.

      ", + "idempotent":true + }, + "DeleteProvisionedModelThroughput":{ + "name":"DeleteProvisionedModelThroughput", + "http":{ + "method":"DELETE", + "requestUri":"/provisioned-model-throughput/{provisionedModelId}", + "responseCode":200 + }, + "input":{"shape":"DeleteProvisionedModelThroughputRequest"}, + "output":{"shape":"DeleteProvisionedModelThroughputResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Deletes a provisioned throughput. For more information, see Provisioned throughput in the Bedrock User Guide.

      ", + "idempotent":true + }, + "GetCustomModel":{ + "name":"GetCustomModel", + "http":{ + "method":"GET", + "requestUri":"/custom-models/{modelIdentifier}", + "responseCode":200 + }, + "input":{"shape":"GetCustomModelRequest"}, + "output":{"shape":"GetCustomModelResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Get the properties associated with a Bedrock custom model that you have created.For more information, see Custom models in the Bedrock User Guide.

      " + }, + "GetFoundationModel":{ + "name":"GetFoundationModel", + "http":{ + "method":"GET", + "requestUri":"/foundation-models/{modelIdentifier}", + "responseCode":200 + }, + "input":{"shape":"GetFoundationModelRequest"}, + "output":{"shape":"GetFoundationModelResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Get details about a Bedrock foundation model.

      " + }, + "GetModelCustomizationJob":{ + "name":"GetModelCustomizationJob", + "http":{ + "method":"GET", + "requestUri":"/model-customization-jobs/{jobIdentifier}", + "responseCode":200 + }, + "input":{"shape":"GetModelCustomizationJobRequest"}, + "output":{"shape":"GetModelCustomizationJobResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Retrieves the properties associated with a model-customization job, including the status of the job. For more information, see Custom models in the Bedrock User Guide.

      " + }, + "GetModelInvocationLoggingConfiguration":{ + "name":"GetModelInvocationLoggingConfiguration", + "http":{ + "method":"GET", + "requestUri":"/logging/modelinvocations", + "responseCode":200 + }, + "input":{"shape":"GetModelInvocationLoggingConfigurationRequest"}, + "output":{"shape":"GetModelInvocationLoggingConfigurationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Get the current configuration values for model invocation logging.

      " + }, + "GetProvisionedModelThroughput":{ + "name":"GetProvisionedModelThroughput", + "http":{ + "method":"GET", + "requestUri":"/provisioned-model-throughput/{provisionedModelId}", + "responseCode":200 + }, + "input":{"shape":"GetProvisionedModelThroughputRequest"}, + "output":{"shape":"GetProvisionedModelThroughputResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Get details for a provisioned throughput. For more information, see Provisioned throughput in the Bedrock User Guide.

      " + }, + "ListCustomModels":{ + "name":"ListCustomModels", + "http":{ + "method":"GET", + "requestUri":"/custom-models", + "responseCode":200 + }, + "input":{"shape":"ListCustomModelsRequest"}, + "output":{"shape":"ListCustomModelsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Returns a list of the custom models that you have created with the CreateModelCustomizationJob operation.

      For more information, see Custom models in the Bedrock User Guide.

      " + }, + "ListFoundationModels":{ + "name":"ListFoundationModels", + "http":{ + "method":"GET", + "requestUri":"/foundation-models", + "responseCode":200 + }, + "input":{"shape":"ListFoundationModelsRequest"}, + "output":{"shape":"ListFoundationModelsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      List of Bedrock foundation models that you can use. For more information, see Foundation models in the Bedrock User Guide.

      " + }, + "ListModelCustomizationJobs":{ + "name":"ListModelCustomizationJobs", + "http":{ + "method":"GET", + "requestUri":"/model-customization-jobs", + "responseCode":200 + }, + "input":{"shape":"ListModelCustomizationJobsRequest"}, + "output":{"shape":"ListModelCustomizationJobsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Returns a list of model customization jobs that you have submitted. You can filter the jobs to return based on one or more criteria.

      For more information, see Custom models in the Bedrock User Guide.

      " + }, + "ListProvisionedModelThroughputs":{ + "name":"ListProvisionedModelThroughputs", + "http":{ + "method":"GET", + "requestUri":"/provisioned-model-throughputs", + "responseCode":200 + }, + "input":{"shape":"ListProvisionedModelThroughputsRequest"}, + "output":{"shape":"ListProvisionedModelThroughputsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      List the provisioned capacities. For more information, see Provisioned throughput in the Bedrock User Guide.

      " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/listTagsForResource", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      List the tags associated with the specified resource.

      For more information, see Tagging resources in the Bedrock User Guide.

      " + }, + "PutModelInvocationLoggingConfiguration":{ + "name":"PutModelInvocationLoggingConfiguration", + "http":{ + "method":"PUT", + "requestUri":"/logging/modelinvocations", + "responseCode":200 + }, + "input":{"shape":"PutModelInvocationLoggingConfigurationRequest"}, + "output":{"shape":"PutModelInvocationLoggingConfigurationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Set the configuration values for model invocation logging.

      ", + "idempotent":true + }, + "StopModelCustomizationJob":{ + "name":"StopModelCustomizationJob", + "http":{ + "method":"POST", + "requestUri":"/model-customization-jobs/{jobIdentifier}/stop", + "responseCode":200 + }, + "input":{"shape":"StopModelCustomizationJobRequest"}, + "output":{"shape":"StopModelCustomizationJobResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Stops an active model customization job. For more information, see Custom models in the Bedrock User Guide.

      ", + "idempotent":true + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tagResource", + "responseCode":200 + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"TooManyTagsException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Associate tags with a resource. For more information, see Tagging resources in the Bedrock User Guide.

      " + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/untagResource", + "responseCode":200 + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Remove one or more tags from a resource. For more information, see Tagging resources in the Bedrock User Guide.

      " + }, + "UpdateProvisionedModelThroughput":{ + "name":"UpdateProvisionedModelThroughput", + "http":{ + "method":"PATCH", + "requestUri":"/provisioned-model-throughput/{provisionedModelId}", + "responseCode":200 + }, + "input":{"shape":"UpdateProvisionedModelThroughputRequest"}, + "output":{"shape":"UpdateProvisionedModelThroughputResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Update a provisioned throughput. For more information, see Provisioned throughput in the Bedrock User Guide.

      ", + "idempotent":true + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "message":{"shape":"NonBlankString"} + }, + "documentation":"

      The request is denied because of missing access permissions.

      ", + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "BaseModelIdentifier":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}/[a-z0-9]{12})|(:foundation-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2})))|([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2})|(([0-9a-zA-Z][_-]?)+)" + }, + "BedrockModelId":{ + "type":"string", + "max":140, + "min":0, + "pattern":"[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2}(/[a-z0-9]{12}|)" + }, + "Boolean":{ + "type":"boolean", + "box":true + }, + "BrandedName":{ + "type":"string", + "max":20, + "min":1, + "pattern":".*" + }, + "BucketName":{ + "type":"string", + "max":63, + "min":3 + }, + "CloudWatchConfig":{ + "type":"structure", + "required":[ + "logGroupName", + "roleArn" + ], + "members":{ + "logGroupName":{ + "shape":"LogGroupName", + "documentation":"

      The log group name.

      " + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

      The role ARN.

      " + }, + "largeDataDeliveryS3Config":{ + "shape":"S3Config", + "documentation":"

      S3 configuration for delivering a large amount of data.

      " + } + }, + "documentation":"

      CloudWatch logging configuration.

      " + }, + "CommitmentDuration":{ + "type":"string", + "enum":[ + "OneMonth", + "SixMonths" + ] + }, + "ConflictException":{ + "type":"structure", + "members":{ + "message":{"shape":"NonBlankString"} + }, + "documentation":"

      Error occurred because of a conflict while performing an operation.

      ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "CreateModelCustomizationJobRequest":{ + "type":"structure", + "required":[ + "jobName", + "customModelName", + "roleArn", + "baseModelIdentifier", + "trainingDataConfig", + "outputDataConfig", + "hyperParameters" + ], + "members":{ + "jobName":{ + "shape":"JobName", + "documentation":"

      Enter a unique name for the fine-tuning job.

      " + }, + "customModelName":{ + "shape":"CustomModelName", + "documentation":"

      Enter a name for the custom model.

      " + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

      The Amazon Resource Name (ARN) of an IAM role that Bedrock can assume to perform tasks on your behalf. For example, during model training, Bedrock needs your permission to read input data from an S3 bucket, write model artifacts to an S3 bucket. To pass this role to Bedrock, the caller of this API must have the iam:PassRole permission.

      " + }, + "clientRequestToken":{ + "shape":"IdempotencyToken", + "documentation":"

      Unique token value that you can provide. The GetModelCustomizationJob response includes the same token value.

      ", + "idempotencyToken":true + }, + "baseModelIdentifier":{ + "shape":"BaseModelIdentifier", + "documentation":"

      Name of the base model.

      " + }, + "customModelKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

      The custom model is encrypted at rest using this key.

      " + }, + "jobTags":{ + "shape":"TagList", + "documentation":"

      Assign tags to the job.

      " + }, + "customModelTags":{ + "shape":"TagList", + "documentation":"

      Assign tags to the custom model.

      " + }, + "trainingDataConfig":{ + "shape":"TrainingDataConfig", + "documentation":"

      Information about the training dataset.

      " + }, + "validationDataConfig":{ + "shape":"ValidationDataConfig", + "documentation":"

      Information about the validation dataset.

      " + }, + "outputDataConfig":{ + "shape":"OutputDataConfig", + "documentation":"

      S3 location for the output data.

      " + }, + "hyperParameters":{ + "shape":"ModelCustomizationHyperParameters", + "documentation":"

      Parameters related to tuning the model.

      " + }, + "vpcConfig":{ + "shape":"VpcConfig", + "documentation":"

      VPC configuration (optional). Configuration parameters for the private Virtual Private Cloud (VPC) that contains the resources you are using for this job.

      " + } + } + }, + "CreateModelCustomizationJobResponse":{ + "type":"structure", + "required":["jobArn"], + "members":{ + "jobArn":{ + "shape":"ModelCustomizationJobArn", + "documentation":"

      ARN of the fine tuning job

      " + } + } + }, + "CreateProvisionedModelThroughputRequest":{ + "type":"structure", + "required":[ + "modelUnits", + "provisionedModelName", + "modelId" + ], + "members":{ + "clientRequestToken":{ + "shape":"IdempotencyToken", + "documentation":"

      Unique token value that you can provide. If this token matches a previous request, Bedrock ignores the request, but does not return an error.

      ", + "idempotencyToken":true + }, + "modelUnits":{ + "shape":"PositiveInteger", + "documentation":"

      Number of model units to allocate.

      " + }, + "provisionedModelName":{ + "shape":"ProvisionedModelName", + "documentation":"

      Unique name for this provisioned throughput.

      " + }, + "modelId":{ + "shape":"ModelIdentifier", + "documentation":"

      Name or ARN of the model to associate with this provisioned throughput.

      " + }, + "commitmentDuration":{ + "shape":"CommitmentDuration", + "documentation":"

      Commitment duration requested for the provisioned throughput.

      " + }, + "tags":{ + "shape":"TagList", + "documentation":"

      Tags to associate with this provisioned throughput.

      " + } + } + }, + "CreateProvisionedModelThroughputResponse":{ + "type":"structure", + "required":["provisionedModelArn"], + "members":{ + "provisionedModelArn":{ + "shape":"ProvisionedModelArn", + "documentation":"

      The ARN for this provisioned throughput.

      " + } + } + }, + "CustomModelArn":{ + "type":"string", + "max":1011, + "min":20, + "pattern":"arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2}/[a-z0-9]{12}" + }, + "CustomModelName":{ + "type":"string", + "max":63, + "min":1, + "pattern":"([0-9a-zA-Z][_-]?)+" + }, + "CustomModelSummary":{ + "type":"structure", + "required":[ + "modelArn", + "modelName", + "creationTime", + "baseModelArn", + "baseModelName" + ], + "members":{ + "modelArn":{ + "shape":"CustomModelArn", + "documentation":"

      The ARN of the custom model.

      " + }, + "modelName":{ + "shape":"CustomModelName", + "documentation":"

      The name of the custom model.

      " + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

      Creation time of the model.

      " + }, + "baseModelArn":{ + "shape":"ModelArn", + "documentation":"

      The base model ARN.

      " + }, + "baseModelName":{ + "shape":"ModelName", + "documentation":"

      The base model name.

      " + } + }, + "documentation":"

      Summary information for a custom model.

      " + }, + "CustomModelSummaryList":{ + "type":"list", + "member":{"shape":"CustomModelSummary"} + }, + "DeleteCustomModelRequest":{ + "type":"structure", + "required":["modelIdentifier"], + "members":{ + "modelIdentifier":{ + "shape":"ModelIdentifier", + "documentation":"

      Name of the model to delete.

      ", + "location":"uri", + "locationName":"modelIdentifier" + } + } + }, + "DeleteCustomModelResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteModelInvocationLoggingConfigurationRequest":{ + "type":"structure", + "members":{ + } + }, + "DeleteModelInvocationLoggingConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteProvisionedModelThroughputRequest":{ + "type":"structure", + "required":["provisionedModelId"], + "members":{ + "provisionedModelId":{ + "shape":"ProvisionedModelId", + "documentation":"

      The ARN or name of the provisioned throughput.

      ", + "location":"uri", + "locationName":"provisionedModelId" + } + } + }, + "DeleteProvisionedModelThroughputResponse":{ + "type":"structure", + "members":{ + } + }, + "ErrorMessage":{ + "type":"string", + "max":2048, + "min":0 + }, + "FineTuningJobStatus":{ + "type":"string", + "enum":[ + "InProgress", + "Completed", + "Failed", + "Stopping", + "Stopped" + ] + }, + "FoundationModelArn":{ + "type":"string", + "pattern":"arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}::foundation-model/[a-z0-9-]{1,63}[.]{1}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2}" + }, + "FoundationModelDetails":{ + "type":"structure", + "required":[ + "modelArn", + "modelId" + ], + "members":{ + "modelArn":{ + "shape":"FoundationModelArn", + "documentation":"

      The model ARN.

      " + }, + "modelId":{ + "shape":"BedrockModelId", + "documentation":"

      The model identifier.

      " + }, + "modelName":{ + "shape":"BrandedName", + "documentation":"

      The model name.

      " + }, + "providerName":{ + "shape":"BrandedName", + "documentation":"

      he model's provider name.

      " + }, + "inputModalities":{ + "shape":"ModelModalityList", + "documentation":"

      The input modalities that the model supports.

      " + }, + "outputModalities":{ + "shape":"ModelModalityList", + "documentation":"

      The output modalities that the model supports.

      " + }, + "responseStreamingSupported":{ + "shape":"Boolean", + "documentation":"

      Indicates whether the model supports streaming.

      " + }, + "customizationsSupported":{ + "shape":"ModelCustomizationList", + "documentation":"

      The customization that the model supports.

      " + }, + "inferenceTypesSupported":{ + "shape":"InferenceTypeList", + "documentation":"

      The inference types that the model supports.

      " + } + }, + "documentation":"

      Information about a foundation model.

      " + }, + "FoundationModelSummary":{ + "type":"structure", + "required":[ + "modelArn", + "modelId" + ], + "members":{ + "modelArn":{ + "shape":"FoundationModelArn", + "documentation":"

      The ARN of the foundation model.

      " + }, + "modelId":{ + "shape":"BedrockModelId", + "documentation":"

      The model Id of the foundation model.

      " + }, + "modelName":{ + "shape":"BrandedName", + "documentation":"

      The name of the model.

      " + }, + "providerName":{ + "shape":"BrandedName", + "documentation":"

      The model's provider name.

      " + }, + "inputModalities":{ + "shape":"ModelModalityList", + "documentation":"

      The input modalities that the model supports.

      " + }, + "outputModalities":{ + "shape":"ModelModalityList", + "documentation":"

      The output modalities that the model supports.

      " + }, + "responseStreamingSupported":{ + "shape":"Boolean", + "documentation":"

      Indicates whether the model supports streaming.

      " + }, + "customizationsSupported":{ + "shape":"ModelCustomizationList", + "documentation":"

      Whether the model supports fine-tuning or continual pre-training.

      " + }, + "inferenceTypesSupported":{ + "shape":"InferenceTypeList", + "documentation":"

      The inference types that the model supports.

      " + } + }, + "documentation":"

      Summary information for a foundation model.

      " + }, + "FoundationModelSummaryList":{ + "type":"list", + "member":{"shape":"FoundationModelSummary"} + }, + "GetCustomModelRequest":{ + "type":"structure", + "required":["modelIdentifier"], + "members":{ + "modelIdentifier":{ + "shape":"ModelIdentifier", + "documentation":"

      Name or ARN of the custom model.

      ", + "location":"uri", + "locationName":"modelIdentifier" + } + } + }, + "GetCustomModelResponse":{ + "type":"structure", + "required":[ + "modelArn", + "modelName", + "jobArn", + "baseModelArn", + "trainingDataConfig", + "outputDataConfig", + "creationTime" + ], + "members":{ + "modelArn":{ + "shape":"ModelArn", + "documentation":"

      ARN associated with this model.

      " + }, + "modelName":{ + "shape":"CustomModelName", + "documentation":"

      Model name associated with this model.

      " + }, + "jobName":{ + "shape":"JobName", + "documentation":"

      Job name associated with this model.

      " + }, + "jobArn":{ + "shape":"ModelCustomizationJobArn", + "documentation":"

      Job ARN associated with this model.

      " + }, + "baseModelArn":{ + "shape":"ModelArn", + "documentation":"

      ARN of the base model.

      " + }, + "modelKmsKeyArn":{ + "shape":"KmsKeyArn", + "documentation":"

      The custom model is encrypted at rest using this key.

      " + }, + "hyperParameters":{ + "shape":"ModelCustomizationHyperParameters", + "documentation":"

      Hyperparameter values associated with this model.

      " + }, + "trainingDataConfig":{ + "shape":"TrainingDataConfig", + "documentation":"

      Information about the training dataset.

      " + }, + "validationDataConfig":{"shape":"ValidationDataConfig"}, + "outputDataConfig":{ + "shape":"OutputDataConfig", + "documentation":"

      Output data configuration associated with this custom model.

      " + }, + "trainingMetrics":{ + "shape":"TrainingMetrics", + "documentation":"

      The training metrics from the job creation.

      " + }, + "validationMetrics":{ + "shape":"ValidationMetrics", + "documentation":"

      The validation metrics from the job creation.

      " + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

      Creation time of the model.

      " + } + } + }, + "GetFoundationModelRequest":{ + "type":"structure", + "required":["modelIdentifier"], + "members":{ + "modelIdentifier":{ + "shape":"ModelIdentifier", + "documentation":"

      The model identifier.

      ", + "location":"uri", + "locationName":"modelIdentifier" + } + } + }, + "GetFoundationModelResponse":{ + "type":"structure", + "members":{ + "modelDetails":{ + "shape":"FoundationModelDetails", + "documentation":"

      Information about the foundation model.

      " + } + } + }, + "GetModelCustomizationJobRequest":{ + "type":"structure", + "required":["jobIdentifier"], + "members":{ + "jobIdentifier":{ + "shape":"ModelCustomizationJobIdentifier", + "documentation":"

      Identifier for the customization job.

      ", + "location":"uri", + "locationName":"jobIdentifier" + } + } + }, + "GetModelCustomizationJobResponse":{ + "type":"structure", + "required":[ + "jobArn", + "jobName", + "outputModelName", + "roleArn", + "creationTime", + "baseModelArn", + "hyperParameters", + "trainingDataConfig", + "validationDataConfig", + "outputDataConfig" + ], + "members":{ + "jobArn":{ + "shape":"ModelCustomizationJobArn", + "documentation":"

      The ARN of the customization job.

      " + }, + "jobName":{ + "shape":"JobName", + "documentation":"

      The name of the customization job.

      " + }, + "outputModelName":{ + "shape":"CustomModelName", + "documentation":"

      The name of the output model.

      " + }, + "outputModelArn":{ + "shape":"CustomModelArn", + "documentation":"

      The ARN of the output model.

      " + }, + "clientRequestToken":{ + "shape":"IdempotencyToken", + "documentation":"

      The token that you specified in the CreateCustomizationJob request.

      " + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

      The ARN of the IAM role.

      " + }, + "status":{ + "shape":"ModelCustomizationJobStatus", + "documentation":"

      The status of the job. A successful job transitions from in-progress to completed when the output model is ready to use. If the job failed, the failure message contains information about why the job failed.

      " + }, + "failureMessage":{ + "shape":"ErrorMessage", + "documentation":"

      Information about why the job failed.

      " + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

      Time that the resource was created.

      " + }, + "lastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

      Time that the resource was last modified.

      " + }, + "endTime":{ + "shape":"Timestamp", + "documentation":"

      Time that the resource transitioned to terminal state.

      " + }, + "baseModelArn":{ + "shape":"FoundationModelArn", + "documentation":"

      ARN of the base model.

      " + }, + "hyperParameters":{ + "shape":"ModelCustomizationHyperParameters", + "documentation":"

      The hyperparameter values for the job.

      " + }, + "trainingDataConfig":{"shape":"TrainingDataConfig"}, + "validationDataConfig":{"shape":"ValidationDataConfig"}, + "outputDataConfig":{ + "shape":"OutputDataConfig", + "documentation":"

      Output data configuration

      " + }, + "outputModelKmsKeyArn":{ + "shape":"KmsKeyArn", + "documentation":"

      The custom model is encrypted at rest using this key.

      " + }, + "trainingMetrics":{"shape":"TrainingMetrics"}, + "validationMetrics":{ + "shape":"ValidationMetrics", + "documentation":"

      The loss metric for each validator that you provided in the createjob request.

      " + }, + "vpcConfig":{ + "shape":"VpcConfig", + "documentation":"

      VPC configuration for the custom model job.

      " + } + } + }, + "GetModelInvocationLoggingConfigurationRequest":{ + "type":"structure", + "members":{ + } + }, + "GetModelInvocationLoggingConfigurationResponse":{ + "type":"structure", + "members":{ + "loggingConfig":{ + "shape":"LoggingConfig", + "documentation":"

      The current configuration values.

      " + } + } + }, + "GetProvisionedModelThroughputRequest":{ + "type":"structure", + "required":["provisionedModelId"], + "members":{ + "provisionedModelId":{ + "shape":"ProvisionedModelId", + "documentation":"

      The ARN or name of the provisioned throughput.

      ", + "location":"uri", + "locationName":"provisionedModelId" + } + } + }, + "GetProvisionedModelThroughputResponse":{ + "type":"structure", + "required":[ + "modelUnits", + "desiredModelUnits", + "provisionedModelName", + "provisionedModelArn", + "modelArn", + "desiredModelArn", + "foundationModelArn", + "status", + "creationTime", + "lastModifiedTime" + ], + "members":{ + "modelUnits":{ + "shape":"PositiveInteger", + "documentation":"

      The current number of model units requested to be available for this provisioned throughput.

      " + }, + "desiredModelUnits":{ + "shape":"PositiveInteger", + "documentation":"

      The desired number of model units that was requested to be available for this provisioned throughput.

      " + }, + "provisionedModelName":{ + "shape":"ProvisionedModelName", + "documentation":"

      The name of the provisioned throughput.

      " + }, + "provisionedModelArn":{ + "shape":"ProvisionedModelArn", + "documentation":"

      The ARN of the provisioned throughput.

      " + }, + "modelArn":{ + "shape":"ModelArn", + "documentation":"

      The ARN or name of the model associated with this provisioned throughput.

      " + }, + "desiredModelArn":{ + "shape":"ModelArn", + "documentation":"

      The ARN of the new model to asssociate with this provisioned throughput.

      " + }, + "foundationModelArn":{ + "shape":"FoundationModelArn", + "documentation":"

      ARN of the foundation model.

      " + }, + "status":{ + "shape":"ProvisionedModelStatus", + "documentation":"

      Status of the provisioned throughput.

      " + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

      The timestamp of the creation time for this provisioned throughput.

      " + }, + "lastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

      The timestamp of the last modified time of this provisioned throughput.

      " + }, + "failureMessage":{ + "shape":"ErrorMessage", + "documentation":"

      Failure message for any issues that the create operation encounters.

      " + }, + "commitmentDuration":{ + "shape":"CommitmentDuration", + "documentation":"

      Commitment duration of the provisioned throughput.

      " + }, + "commitmentExpirationTime":{ + "shape":"Timestamp", + "documentation":"

      Commitment expiration time for the provisioned throughput.

      " + } + } + }, + "IdempotencyToken":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "InferenceType":{ + "type":"string", + "enum":[ + "ON_DEMAND", + "PROVISIONED" + ] + }, + "InferenceTypeList":{ + "type":"list", + "member":{"shape":"InferenceType"} + }, + "InternalServerException":{ + "type":"structure", + "members":{ + "message":{"shape":"NonBlankString"} + }, + "documentation":"

      An internal server error occurred. Retry your request.

      ", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "JobName":{ + "type":"string", + "max":63, + "min":1, + "pattern":"[a-zA-Z0-9](-*[a-zA-Z0-9\\+\\-\\.])*" + }, + "KeyPrefix":{ + "type":"string", + "max":1024, + "min":0 + }, + "KmsKeyArn":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:aws(-[^:]+)?:kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}" + }, + "KmsKeyId":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:aws(-[^:]+)?:kms:[a-zA-Z0-9-]*:[0-9]{12}:((key/[a-zA-Z0-9-]{36})|(alias/[a-zA-Z0-9-_/]+))" + }, + "ListCustomModelsRequest":{ + "type":"structure", + "members":{ + "creationTimeBefore":{ + "shape":"Timestamp", + "documentation":"

      Return custom models created before the specified time.

      ", + "location":"querystring", + "locationName":"creationTimeBefore" + }, + "creationTimeAfter":{ + "shape":"Timestamp", + "documentation":"

      Return custom models created after the specified time.

      ", + "location":"querystring", + "locationName":"creationTimeAfter" + }, + "nameContains":{ + "shape":"CustomModelName", + "documentation":"

      Return custom models only if the job name contains these characters.

      ", + "location":"querystring", + "locationName":"nameContains" + }, + "baseModelArnEquals":{ + "shape":"ModelArn", + "documentation":"

      Return custom models only if the base model ARN matches this parameter.

      ", + "location":"querystring", + "locationName":"baseModelArnEquals" + }, + "foundationModelArnEquals":{ + "shape":"FoundationModelArn", + "documentation":"

      Return custom models only if the foundation model ARN matches this parameter.

      ", + "location":"querystring", + "locationName":"foundationModelArnEquals" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

      Maximum number of results to return in the response.

      ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      Continuation token from the previous response, for Bedrock to list the next set of results.

      ", + "location":"querystring", + "locationName":"nextToken" + }, + "sortBy":{ + "shape":"SortModelsBy", + "documentation":"

      The field to sort by in the returned list of models.

      ", + "location":"querystring", + "locationName":"sortBy" + }, + "sortOrder":{ + "shape":"SortOrder", + "documentation":"

      The sort order of the results.

      ", + "location":"querystring", + "locationName":"sortOrder" + } + } + }, + "ListCustomModelsResponse":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      Continuation token for the next request to list the next set of results.

      " + }, + "modelSummaries":{ + "shape":"CustomModelSummaryList", + "documentation":"

      Model summaries.

      " + } + } + }, + "ListFoundationModelsRequest":{ + "type":"structure", + "members":{ + "byProvider":{ + "shape":"Provider", + "documentation":"

      A Bedrock model provider.

      ", + "location":"querystring", + "locationName":"byProvider" + }, + "byCustomizationType":{ + "shape":"ModelCustomization", + "documentation":"

      List by customization type.

      ", + "location":"querystring", + "locationName":"byCustomizationType" + }, + "byOutputModality":{ + "shape":"ModelModality", + "documentation":"

      List by output modality type.

      ", + "location":"querystring", + "locationName":"byOutputModality" + }, + "byInferenceType":{ + "shape":"InferenceType", + "documentation":"

      List by inference type.

      ", + "location":"querystring", + "locationName":"byInferenceType" + } + } + }, + "ListFoundationModelsResponse":{ + "type":"structure", + "members":{ + "modelSummaries":{ + "shape":"FoundationModelSummaryList", + "documentation":"

      A list of bedrock foundation models.

      " + } + } + }, + "ListModelCustomizationJobsRequest":{ + "type":"structure", + "members":{ + "creationTimeAfter":{ + "shape":"Timestamp", + "documentation":"

      Return customization jobs created after the specified time.

      ", + "location":"querystring", + "locationName":"creationTimeAfter" + }, + "creationTimeBefore":{ + "shape":"Timestamp", + "documentation":"

      Return customization jobs created before the specified time.

      ", + "location":"querystring", + "locationName":"creationTimeBefore" + }, + "statusEquals":{ + "shape":"FineTuningJobStatus", + "documentation":"

      Return customization jobs with the specified status.

      ", + "location":"querystring", + "locationName":"statusEquals" + }, + "nameContains":{ + "shape":"JobName", + "documentation":"

      Return customization jobs only if the job name contains these characters.

      ", + "location":"querystring", + "locationName":"nameContains" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

      Maximum number of results to return in the response.

      ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      Continuation token from the previous response, for Bedrock to list the next set of results.

      ", + "location":"querystring", + "locationName":"nextToken" + }, + "sortBy":{ + "shape":"SortJobsBy", + "documentation":"

      The field to sort by in the returned list of jobs.

      ", + "location":"querystring", + "locationName":"sortBy" + }, + "sortOrder":{ + "shape":"SortOrder", + "documentation":"

      The sort order of the results.

      ", + "location":"querystring", + "locationName":"sortOrder" + } + } + }, + "ListModelCustomizationJobsResponse":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      Page continuation token to use in the next request.

      " + }, + "modelCustomizationJobSummaries":{ + "shape":"ModelCustomizationJobSummaries", + "documentation":"

      Job summaries.

      " + } + } + }, + "ListProvisionedModelThroughputsRequest":{ + "type":"structure", + "members":{ + "creationTimeAfter":{ + "shape":"Timestamp", + "documentation":"

      Return provisioned capacities created after the specified time.

      ", + "location":"querystring", + "locationName":"creationTimeAfter" + }, + "creationTimeBefore":{ + "shape":"Timestamp", + "documentation":"

      Return provisioned capacities created before the specified time.

      ", + "location":"querystring", + "locationName":"creationTimeBefore" + }, + "statusEquals":{ + "shape":"ProvisionedModelStatus", + "documentation":"

      Return the list of provisioned capacities that match the specified status.

      ", + "location":"querystring", + "locationName":"statusEquals" + }, + "modelArnEquals":{ + "shape":"ModelArn", + "documentation":"

      Return the list of provisioned capacities where their model ARN is equal to this parameter.

      ", + "location":"querystring", + "locationName":"modelArnEquals" + }, + "nameContains":{ + "shape":"ProvisionedModelName", + "documentation":"

      Return the list of provisioned capacities if their name contains these characters.

      ", + "location":"querystring", + "locationName":"nameContains" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

      THe maximum number of results to return in the response.

      ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      Continuation token from the previous response, for Bedrock to list the next set of results.

      ", + "location":"querystring", + "locationName":"nextToken" + }, + "sortBy":{ + "shape":"SortByProvisionedModels", + "documentation":"

      The field to sort by in the returned list of provisioned capacities.

      ", + "location":"querystring", + "locationName":"sortBy" + }, + "sortOrder":{ + "shape":"SortOrder", + "documentation":"

      The sort order of the results.

      ", + "location":"querystring", + "locationName":"sortOrder" + } + } + }, + "ListProvisionedModelThroughputsResponse":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      Continuation token for the next request to list the next set of results.

      " + }, + "provisionedModelSummaries":{ + "shape":"ProvisionedModelSummaries", + "documentation":"

      List of summaries, one for each provisioned throughput in the response.

      " + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceARN"], + "members":{ + "resourceARN":{ + "shape":"TaggableResourcesArn", + "documentation":"

      The ARN of the resource.

      " + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagList", + "documentation":"

      An array of the tags associated with this resource.

      " + } + } + }, + "LogGroupName":{ + "type":"string", + "max":512, + "min":1 + }, + "LoggingConfig":{ + "type":"structure", + "members":{ + "cloudWatchConfig":{ + "shape":"CloudWatchConfig", + "documentation":"

      CloudWatch logging configuration.

      " + }, + "s3Config":{ + "shape":"S3Config", + "documentation":"

      S3 configuration for storing log data.

      " + }, + "textDataDeliveryEnabled":{ + "shape":"Boolean", + "documentation":"

      Set to include text data in the log delivery.

      " + }, + "imageDataDeliveryEnabled":{ + "shape":"Boolean", + "documentation":"

      Set to include image data in the log delivery.

      " + }, + "embeddingDataDeliveryEnabled":{ + "shape":"Boolean", + "documentation":"

      Set to include embeddings data in the log delivery.

      " + } + }, + "documentation":"

      Configuration fields for invokation logging.

      " + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":1000, + "min":1 + }, + "MetricFloat":{ + "type":"float", + "box":true + }, + "ModelArn":{ + "type":"string", + "max":1011, + "min":20, + "pattern":"arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}/[a-z0-9]{12})|(:foundation-model/[a-z0-9-]{1,63}[.]{1}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2}))" + }, + "ModelCustomization":{ + "type":"string", + "enum":["FINE_TUNING"] + }, + "ModelCustomizationHyperParameters":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, + "ModelCustomizationJobArn":{ + "type":"string", + "max":1011, + "min":0, + "pattern":"arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:model-customization-job/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2}/[a-z0-9]{12}" + }, + "ModelCustomizationJobIdentifier":{ + "type":"string", + "max":1011, + "min":0, + "pattern":"(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:model-customization-job/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2}/[a-z0-9]{12})|([a-zA-Z0-9](-*[a-zA-Z0-9\\+\\-\\.])*)" + }, + "ModelCustomizationJobStatus":{ + "type":"string", + "enum":[ + "InProgress", + "Completed", + "Failed", + "Stopping", + "Stopped" + ] + }, + "ModelCustomizationJobSummaries":{ + "type":"list", + "member":{"shape":"ModelCustomizationJobSummary"} + }, + "ModelCustomizationJobSummary":{ + "type":"structure", + "required":[ + "jobArn", + "baseModelArn", + "jobName", + "status", + "creationTime" + ], + "members":{ + "jobArn":{ + "shape":"ModelCustomizationJobArn", + "documentation":"

      ARN of the customization job.

      " + }, + "baseModelArn":{ + "shape":"ModelArn", + "documentation":"

      ARN of the base model.

      " + }, + "jobName":{ + "shape":"JobName", + "documentation":"

      Name of the customization job.

      " + }, + "status":{ + "shape":"ModelCustomizationJobStatus", + "documentation":"

      Status of the customization job.

      " + }, + "lastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

      Time that the customization job was last modified.

      " + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

      Creation time of the custom model.

      " + }, + "endTime":{ + "shape":"Timestamp", + "documentation":"

      Time that the customization job ended.

      " + }, + "customModelArn":{ + "shape":"CustomModelArn", + "documentation":"

      ARN of the custom model.

      " + }, + "customModelName":{ + "shape":"CustomModelName", + "documentation":"

      Name of the custom model.

      " + } + }, + "documentation":"

      Information about one customization job

      " + }, + "ModelCustomizationList":{ + "type":"list", + "member":{"shape":"ModelCustomization"} + }, + "ModelIdentifier":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2})))|(([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|(([0-9a-zA-Z][_-]?)+)" + }, + "ModelModality":{ + "type":"string", + "enum":[ + "TEXT", + "IMAGE", + "EMBEDDING" + ] + }, + "ModelModalityList":{ + "type":"list", + "member":{"shape":"ModelModality"} + }, + "ModelName":{ + "type":"string", + "max":63, + "min":1, + "pattern":"([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63})" + }, + "NonBlankString":{ + "type":"string", + "pattern":"[\\s\\S]*" + }, + "OutputDataConfig":{ + "type":"structure", + "required":["s3Uri"], + "members":{ + "s3Uri":{ + "shape":"S3Uri", + "documentation":"

      The S3 URI where the output data is stored.

      " + } + }, + "documentation":"

      S3 Location of the output data.

      " + }, + "PaginationToken":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"\\S*" + }, + "PositiveInteger":{ + "type":"integer", + "box":true, + "min":1 + }, + "Provider":{ + "type":"string", + "pattern":"[a-z0-9-]{1,63}" + }, + "ProvisionedModelArn":{ + "type":"string", + "pattern":"arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:provisioned-model/[a-z0-9]{12}" + }, + "ProvisionedModelId":{ + "type":"string", + "pattern":"((([0-9a-zA-Z][_-]?)+)|(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:provisioned-model/[a-z0-9]{12}))" + }, + "ProvisionedModelName":{ + "type":"string", + "max":63, + "min":1, + "pattern":"([0-9a-zA-Z][_-]?)+" + }, + "ProvisionedModelStatus":{ + "type":"string", + "enum":[ + "Creating", + "InService", + "Updating", + "Failed" + ] + }, + "ProvisionedModelSummaries":{ + "type":"list", + "member":{"shape":"ProvisionedModelSummary"} + }, + "ProvisionedModelSummary":{ + "type":"structure", + "required":[ + "provisionedModelName", + "provisionedModelArn", + "modelArn", + "desiredModelArn", + "foundationModelArn", + "modelUnits", + "desiredModelUnits", + "status", + "creationTime", + "lastModifiedTime" + ], + "members":{ + "provisionedModelName":{ + "shape":"ProvisionedModelName", + "documentation":"

      The name of the provisioned throughput.

      " + }, + "provisionedModelArn":{ + "shape":"ProvisionedModelArn", + "documentation":"

      The ARN of the provisioned throughput.

      " + }, + "modelArn":{ + "shape":"ModelArn", + "documentation":"

      The ARN of the model associated with this provisioned throughput.

      " + }, + "desiredModelArn":{ + "shape":"ModelArn", + "documentation":"

      Desired model ARN.

      " + }, + "foundationModelArn":{ + "shape":"FoundationModelArn", + "documentation":"

      Foundation model ARN.

      " + }, + "modelUnits":{ + "shape":"PositiveInteger", + "documentation":"

      The number of model units allocated.

      " + }, + "desiredModelUnits":{ + "shape":"PositiveInteger", + "documentation":"

      Desired model units.

      " + }, + "status":{ + "shape":"ProvisionedModelStatus", + "documentation":"

      Status of the provisioned throughput.

      " + }, + "commitmentDuration":{ + "shape":"CommitmentDuration", + "documentation":"

      Commitment duration for the provisioned throughput.

      " + }, + "commitmentExpirationTime":{ + "shape":"Timestamp", + "documentation":"

      Commitment expiration time for the provisioned throughput.

      " + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

      The time that this provisioned throughput was created.

      " + }, + "lastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

      The time that this provisioned throughput was last modified.

      " + } + }, + "documentation":"

      Set of fields associated with a provisioned throughput.

      " + }, + "PutModelInvocationLoggingConfigurationRequest":{ + "type":"structure", + "required":["loggingConfig"], + "members":{ + "loggingConfig":{ + "shape":"LoggingConfig", + "documentation":"

      The logging configuration values to set.

      " + } + } + }, + "PutModelInvocationLoggingConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"NonBlankString"} + }, + "documentation":"

      The specified resource ARN was not found. Check the ARN and try your request again.

      ", + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "RoleArn":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"arn:aws(-[^:]+)?:iam::([0-9]{12})?:role/.+" + }, + "S3Config":{ + "type":"structure", + "required":["bucketName"], + "members":{ + "bucketName":{ + "shape":"BucketName", + "documentation":"

      S3 bucket name.

      " + }, + "keyPrefix":{ + "shape":"KeyPrefix", + "documentation":"

      S3 prefix.

      " + } + }, + "documentation":"

      S3 configuration for storing log data.

      " + }, + "S3Uri":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"s3://[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9](/.*)?" + }, + "SecurityGroupId":{ + "type":"string", + "max":32, + "min":0, + "pattern":"[-0-9a-zA-Z]+" + }, + "SecurityGroupIds":{ + "type":"list", + "member":{"shape":"SecurityGroupId"}, + "max":5, + "min":1 + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"NonBlankString"} + }, + "documentation":"

      The number of requests exceeds the service quota. Resubmit your request later.

      ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "SortByProvisionedModels":{ + "type":"string", + "enum":["CreationTime"] + }, + "SortJobsBy":{ + "type":"string", + "enum":["CreationTime"] + }, + "SortModelsBy":{ + "type":"string", + "enum":["CreationTime"] + }, + "SortOrder":{ + "type":"string", + "enum":[ + "Ascending", + "Descending" + ] + }, + "StopModelCustomizationJobRequest":{ + "type":"structure", + "required":["jobIdentifier"], + "members":{ + "jobIdentifier":{ + "shape":"ModelCustomizationJobIdentifier", + "documentation":"

      Job identifier of the job to stop.

      ", + "location":"uri", + "locationName":"jobIdentifier" + } + } + }, + "StopModelCustomizationJobResponse":{ + "type":"structure", + "members":{ + } + }, + "String":{"type":"string"}, + "SubnetId":{ + "type":"string", + "max":32, + "min":0, + "pattern":"[-0-9a-zA-Z]+" + }, + "SubnetIds":{ + "type":"list", + "member":{"shape":"SubnetId"}, + "max":16, + "min":1 + }, + "Tag":{ + "type":"structure", + "required":[ + "key", + "value" + ], + "members":{ + "key":{ + "shape":"TagKey", + "documentation":"

      Key for the tag.

      " + }, + "value":{ + "shape":"TagValue", + "documentation":"

      Value for the tag.

      " + } + }, + "documentation":"

      Definition of the key/value pair for a tag.

      " + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9\\s._:/=+@-]*" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":0 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":200, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceARN", + "tags" + ], + "members":{ + "resourceARN":{ + "shape":"TaggableResourcesArn", + "documentation":"

      The ARN of the resource to tag.

      " + }, + "tags":{ + "shape":"TagList", + "documentation":"

      Tags to associate with the resource.

      " + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"[a-zA-Z0-9\\s._:/=+@-]*" + }, + "TaggableResourcesArn":{ + "type":"string", + "max":1011, + "min":20, + "pattern":".*(^[a-zA-Z0-9][a-zA-Z0-9\\-]*$)|(^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:([0-9]{12}|)((:(fine-tuning-job|model-customization-job|custom-model)/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2}(/[a-z0-9]{12})$)|(:provisioned-model/[a-z0-9]{12}$))).*" + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "message":{"shape":"NonBlankString"} + }, + "documentation":"

      The number of requests exceeds the limit. Resubmit your request later.

      ", + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true + }, + "Timestamp":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, + "TooManyTagsException":{ + "type":"structure", + "members":{ + "message":{"shape":"NonBlankString"}, + "resourceName":{ + "shape":"TaggableResourcesArn", + "documentation":"

      The name of the resource with too many tags.

      " + } + }, + "documentation":"

      The request contains more tags than can be associated with a resource (50 tags per resource). The maximum number of tags includes both existing tags and those included in your current request.

      ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "TrainingDataConfig":{ + "type":"structure", + "required":["s3Uri"], + "members":{ + "s3Uri":{ + "shape":"S3Uri", + "documentation":"

      The S3 URI where the training data is stored.

      " + } + }, + "documentation":"

      S3 Location of the training data.

      " + }, + "TrainingMetrics":{ + "type":"structure", + "members":{ + "trainingLoss":{ + "shape":"MetricFloat", + "documentation":"

      Loss metric associated with the custom job.

      " + } + }, + "documentation":"

      Metrics associated with the custom job.

      " + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceARN", + "tagKeys" + ], + "members":{ + "resourceARN":{ + "shape":"TaggableResourcesArn", + "documentation":"

      The ARN of the resource to untag.

      " + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

      Tag keys of the tags to remove from the resource.

      " + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateProvisionedModelThroughputRequest":{ + "type":"structure", + "required":["provisionedModelId"], + "members":{ + "provisionedModelId":{ + "shape":"ProvisionedModelId", + "documentation":"

      The ARN or name of the provisioned throughput to update.

      ", + "location":"uri", + "locationName":"provisionedModelId" + }, + "desiredProvisionedModelName":{ + "shape":"ProvisionedModelName", + "documentation":"

      The new name for this provisioned throughput.

      " + }, + "desiredModelId":{ + "shape":"ModelIdentifier", + "documentation":"

      The ARN of the new model to associate with this provisioned throughput.

      " + } + } + }, + "UpdateProvisionedModelThroughputResponse":{ + "type":"structure", + "members":{ + } + }, + "ValidationDataConfig":{ + "type":"structure", + "required":["validators"], + "members":{ + "validators":{ + "shape":"Validators", + "documentation":"

      Information about the validators.

      " + } + }, + "documentation":"

      Array of up to 10 validators.

      " + }, + "ValidationException":{ + "type":"structure", + "members":{ + "message":{"shape":"NonBlankString"} + }, + "documentation":"

      Input validation failed. Check your request parameters and retry the request.

      ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ValidationMetrics":{ + "type":"list", + "member":{"shape":"ValidatorMetric"} + }, + "Validator":{ + "type":"structure", + "required":["s3Uri"], + "members":{ + "s3Uri":{ + "shape":"S3Uri", + "documentation":"

      The S3 URI where the validation data is stored.

      " + } + }, + "documentation":"

      Information about a validator.

      " + }, + "ValidatorMetric":{ + "type":"structure", + "members":{ + "validationLoss":{ + "shape":"MetricFloat", + "documentation":"

      The validation loss associated with this validator.

      " + } + }, + "documentation":"

      The metric for the validator.

      " + }, + "Validators":{ + "type":"list", + "member":{"shape":"Validator"}, + "max":10, + "min":0 + }, + "VpcConfig":{ + "type":"structure", + "required":[ + "subnetIds", + "securityGroupIds" + ], + "members":{ + "subnetIds":{ + "shape":"SubnetIds", + "documentation":"

      VPC configuration subnets.

      " + }, + "securityGroupIds":{ + "shape":"SecurityGroupIds", + "documentation":"

      VPC configuration security group Ids.

      " + } + }, + "documentation":"

      VPC configuration.

      " + } + }, + "documentation":"

      Describes the API operations for creating and managing Bedrock models.

      " +} diff --git a/services/bedrock/src/main/resources/codegen-resources/waiters-2.json b/services/bedrock/src/main/resources/codegen-resources/waiters-2.json new file mode 100644 index 000000000000..4b20636aa4c8 --- /dev/null +++ b/services/bedrock/src/main/resources/codegen-resources/waiters-2.json @@ -0,0 +1,5 @@ +{ + "version": 2, + "waiters": { + } +} \ No newline at end of file diff --git a/services/bedrockruntime/pom.xml b/services/bedrockruntime/pom.xml new file mode 100644 index 000000000000..333d5189108e --- /dev/null +++ b/services/bedrockruntime/pom.xml @@ -0,0 +1,60 @@ + + + + + 4.0.0 + + software.amazon.awssdk + services + 2.20.163-SNAPSHOT + + bedrockruntime + AWS Java SDK :: Services :: Bedrock Runtime + The AWS Java SDK for Bedrock Runtime module holds the client classes that are used for + communicating with Bedrock Runtime. + + https://aws.amazon.com/sdkforjava + + + + org.apache.maven.plugins + maven-jar-plugin + + + + software.amazon.awssdk.services.bedrockruntime + + + + + + + + + + software.amazon.awssdk + protocol-core + ${awsjavasdk.version} + + + software.amazon.awssdk + aws-json-protocol + ${awsjavasdk.version} + + + diff --git a/services/bedrockruntime/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/bedrockruntime/src/main/resources/codegen-resources/endpoint-rule-set.json new file mode 100644 index 000000000000..be978fd08fa8 --- /dev/null +++ b/services/bedrockruntime/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -0,0 +1,350 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://bedrock-runtime-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://bedrock-runtime-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://bedrock-runtime.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://bedrock-runtime.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + } + ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ] + } + ] +} \ No newline at end of file diff --git a/services/bedrockruntime/src/main/resources/codegen-resources/endpoint-tests.json b/services/bedrockruntime/src/main/resources/codegen-resources/endpoint-tests.json new file mode 100644 index 000000000000..9dbe82d206c1 --- /dev/null +++ b/services/bedrockruntime/src/main/resources/codegen-resources/endpoint-tests.json @@ -0,0 +1,314 @@ +{ + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://bedrock-runtime-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://bedrock-runtime-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://bedrock-runtime.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://bedrock-runtime.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://bedrock-runtime-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://bedrock-runtime-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://bedrock-runtime.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://bedrock-runtime.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://bedrock-runtime-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://bedrock-runtime-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://bedrock-runtime.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://bedrock-runtime.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://bedrock-runtime-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://bedrock-runtime.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://bedrock-runtime-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://bedrock-runtime.us-isob-east-1.sc2s.sgov.gov" + } + }, + "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, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/services/bedrockruntime/src/main/resources/codegen-resources/paginators-1.json b/services/bedrockruntime/src/main/resources/codegen-resources/paginators-1.json new file mode 100644 index 000000000000..5677bd8e4a2d --- /dev/null +++ b/services/bedrockruntime/src/main/resources/codegen-resources/paginators-1.json @@ -0,0 +1,4 @@ +{ + "pagination": { + } +} diff --git a/services/bedrockruntime/src/main/resources/codegen-resources/service-2.json b/services/bedrockruntime/src/main/resources/codegen-resources/service-2.json new file mode 100644 index 000000000000..ec2f9a3dfd3c --- /dev/null +++ b/services/bedrockruntime/src/main/resources/codegen-resources/service-2.json @@ -0,0 +1,359 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2023-09-30", + "endpointPrefix":"bedrock-runtime", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"Amazon Bedrock Runtime", + "serviceId":"Bedrock Runtime", + "signatureVersion":"v4", + "signingName":"bedrock", + "uid":"bedrock-runtime-2023-09-30" + }, + "operations":{ + "InvokeModel":{ + "name":"InvokeModel", + "http":{ + "method":"POST", + "requestUri":"/model/{modelId}/invoke", + "responseCode":200 + }, + "input":{"shape":"InvokeModelRequest"}, + "output":{"shape":"InvokeModelResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ModelTimeoutException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ModelNotReadyException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ModelErrorException"} + ], + "documentation":"

      Invokes the specified Bedrock model to run inference using the input provided in the request body. You use InvokeModel to run inference for text models, image models, and embedding models.

      For more information, see Run inference in the Bedrock User Guide.

      For example requests, see Examples (after the Errors section).

      " + }, + "InvokeModelWithResponseStream":{ + "name":"InvokeModelWithResponseStream", + "http":{ + "method":"POST", + "requestUri":"/model/{modelId}/invoke-with-response-stream", + "responseCode":200 + }, + "input":{"shape":"InvokeModelWithResponseStreamRequest"}, + "output":{"shape":"InvokeModelWithResponseStreamResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ModelTimeoutException"}, + {"shape":"InternalServerException"}, + {"shape":"ModelStreamErrorException"}, + {"shape":"ValidationException"}, + {"shape":"ModelNotReadyException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ModelErrorException"} + ], + "documentation":"

      Invoke the specified Bedrock model to run inference using the input provided. Return the response in a stream.

      For more information, see Run inference in the Bedrock User Guide.

      For an example request and response, see Examples (after the Errors section).

      " + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "message":{"shape":"NonBlankString"} + }, + "documentation":"

      The request is denied because of missing access permissions.

      ", + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "Body":{ + "type":"blob", + "max":25000000, + "min":0, + "sensitive":true + }, + "InternalServerException":{ + "type":"structure", + "members":{ + "message":{"shape":"NonBlankString"} + }, + "documentation":"

      An internal server error occurred. Retry your request.

      ", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "InvokeModelIdentifier":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}/[a-z0-9]{12})|(:foundation-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63}))|([0-9]{12}:provisioned-model/[a-z0-9]{12})))|([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63}))|(([0-9a-zA-Z][_-]?)+)$" + }, + "InvokeModelRequest":{ + "type":"structure", + "required":[ + "body", + "modelId" + ], + "members":{ + "accept":{ + "shape":"MimeType", + "documentation":"

      The desired MIME type of the inference body in the response. The default value is application/json.

      ", + "location":"header", + "locationName":"Accept" + }, + "body":{ + "shape":"Body", + "documentation":"

      Input data in the format specified in the content-type request header. To see the format and content of this field for different models, refer to Inference parameters.

      " + }, + "contentType":{ + "shape":"MimeType", + "documentation":"

      The MIME type of the input data in the request. The default value is application/json.

      ", + "location":"header", + "locationName":"Content-Type" + }, + "modelId":{ + "shape":"InvokeModelIdentifier", + "documentation":"

      Identifier of the model.

      ", + "location":"uri", + "locationName":"modelId" + } + }, + "payload":"body" + }, + "InvokeModelResponse":{ + "type":"structure", + "required":[ + "body", + "contentType" + ], + "members":{ + "body":{ + "shape":"Body", + "documentation":"

      Inference response from the model in the format specified in the content-type header field. To see the format and content of this field for different models, refer to Inference parameters.

      " + }, + "contentType":{ + "shape":"MimeType", + "documentation":"

      The MIME type of the inference result.

      ", + "location":"header", + "locationName":"Content-Type" + } + }, + "payload":"body" + }, + "InvokeModelWithResponseStreamRequest":{ + "type":"structure", + "required":[ + "body", + "modelId" + ], + "members":{ + "accept":{ + "shape":"MimeType", + "documentation":"

      The desired MIME type of the inference body in the response. The default value is application/json.

      ", + "location":"header", + "locationName":"X-Amzn-Bedrock-Accept" + }, + "body":{ + "shape":"Body", + "documentation":"

      Inference input in the format specified by the content-type. To see the format and content of this field for different models, refer to Inference parameters.

      " + }, + "contentType":{ + "shape":"MimeType", + "documentation":"

      The MIME type of the input data in the request. The default value is application/json.

      ", + "location":"header", + "locationName":"Content-Type" + }, + "modelId":{ + "shape":"InvokeModelIdentifier", + "documentation":"

      Id of the model to invoke using the streaming request.

      ", + "location":"uri", + "locationName":"modelId" + } + }, + "payload":"body" + }, + "InvokeModelWithResponseStreamResponse":{ + "type":"structure", + "required":[ + "body", + "contentType" + ], + "members":{ + "body":{ + "shape":"ResponseStream", + "documentation":"

      Inference response from the model in the format specified by Content-Type. To see the format and content of this field for different models, refer to Inference parameters.

      " + }, + "contentType":{ + "shape":"MimeType", + "documentation":"

      The MIME type of the inference result.

      ", + "location":"header", + "locationName":"X-Amzn-Bedrock-Content-Type" + } + }, + "payload":"body" + }, + "MimeType":{"type":"string"}, + "ModelErrorException":{ + "type":"structure", + "members":{ + "message":{"shape":"NonBlankString"}, + "originalStatusCode":{ + "shape":"StatusCode", + "documentation":"

      The original status code.

      " + }, + "resourceName":{ + "shape":"NonBlankString", + "documentation":"

      The resource name.

      " + } + }, + "documentation":"

      The request failed due to an error while processing the model.

      ", + "error":{ + "httpStatusCode":424, + "senderFault":true + }, + "exception":true + }, + "ModelNotReadyException":{ + "type":"structure", + "members":{ + "message":{"shape":"NonBlankString"} + }, + "documentation":"

      The model specified in the request is not ready to serve inference requests.

      ", + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true + }, + "ModelStreamErrorException":{ + "type":"structure", + "members":{ + "message":{"shape":"NonBlankString"}, + "originalMessage":{ + "shape":"NonBlankString", + "documentation":"

      The original message.

      " + }, + "originalStatusCode":{ + "shape":"StatusCode", + "documentation":"

      The original status code.

      " + } + }, + "documentation":"

      An error occurred while streaming the response.

      ", + "error":{ + "httpStatusCode":424, + "senderFault":true + }, + "exception":true + }, + "ModelTimeoutException":{ + "type":"structure", + "members":{ + "message":{"shape":"NonBlankString"} + }, + "documentation":"

      The request took too long to process. Processing time exceeded the model timeout length.

      ", + "error":{ + "httpStatusCode":408, + "senderFault":true + }, + "exception":true + }, + "NonBlankString":{ + "type":"string", + "pattern":"^[\\s\\S]*$" + }, + "PartBody":{ + "type":"blob", + "max":1000000, + "min":0, + "sensitive":true + }, + "PayloadPart":{ + "type":"structure", + "members":{ + "bytes":{ + "shape":"PartBody", + "documentation":"

      Base64-encoded bytes of payload data.

      " + } + }, + "documentation":"

      Payload content included in the response.

      ", + "event":true, + "sensitive":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"NonBlankString"} + }, + "documentation":"

      The specified resource ARN was not found. Check the ARN and try your request again.

      ", + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "ResponseStream":{ + "type":"structure", + "members":{ + "chunk":{ + "shape":"PayloadPart", + "documentation":"

      Content included in the response.

      " + }, + "internalServerException":{"shape":"InternalServerException"}, + "modelStreamErrorException":{"shape":"ModelStreamErrorException"}, + "modelTimeoutException":{"shape":"ModelTimeoutException"}, + "throttlingException":{"shape":"ThrottlingException"}, + "validationException":{"shape":"ValidationException"} + }, + "documentation":"

      Definition of content in the response stream.

      ", + "eventstream":true + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"NonBlankString"} + }, + "documentation":"

      The number of requests exceeds the service quota. Resubmit your request later.

      ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "StatusCode":{ + "type":"integer", + "box":true, + "max":599, + "min":100 + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "message":{"shape":"NonBlankString"} + }, + "documentation":"

      The number of requests exceeds the limit. Resubmit your request later.

      ", + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true + }, + "ValidationException":{ + "type":"structure", + "members":{ + "message":{"shape":"NonBlankString"} + }, + "documentation":"

      Input validation failed. Check your request parameters and retry the request.

      ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + } + }, + "documentation":"

      Describes the API operations for running inference using Bedrock models.

      " +} diff --git a/services/billingconductor/pom.xml b/services/billingconductor/pom.xml index 1db33a2acc52..83c2fb4210dd 100644 --- a/services/billingconductor/pom.xml +++ b/services/billingconductor/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT billingconductor AWS Java SDK :: Services :: Billingconductor diff --git a/services/braket/pom.xml b/services/braket/pom.xml index dd35866b2ae8..1228e7e8d270 100644 --- a/services/braket/pom.xml +++ b/services/braket/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT braket AWS Java SDK :: Services :: Braket diff --git a/services/braket/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/braket/src/main/resources/codegen-resources/endpoint-rule-set.json index 58d6e7978829..7a57ae603758 100644 --- a/services/braket/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/braket/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://braket-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://braket-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://braket.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://braket.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://braket.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://braket.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/braket/src/main/resources/codegen-resources/endpoint-tests.json b/services/braket/src/main/resources/codegen-resources/endpoint-tests.json index 5e1c0b70e1e6..653d446a4977 100644 --- a/services/braket/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/braket/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,224 +1,320 @@ { "testCases": [ { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://braket-fips.us-west-1.api.aws" + "url": "https://braket.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://braket-fips.us-west-1.amazonaws.com" + "url": "https://braket.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://braket.us-west-1.api.aws" + "url": "https://braket.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, "Region": "us-west-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://braket.us-west-1.amazonaws.com" + "url": "https://braket.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://braket-fips.us-west-2.api.aws" + "url": "https://braket-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://braket-fips.us-west-2.amazonaws.com" + "url": "https://braket-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://braket.us-west-2.api.aws" + "url": "https://braket.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://braket.us-west-2.amazonaws.com" + "url": "https://braket-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://braket-fips.eu-west-2.api.aws" + "url": "https://braket-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://braket-fips.eu-west-2.amazonaws.com" + "url": "https://braket.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://braket.eu-west-2.api.aws" + "url": "https://braket.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://braket.eu-west-2.amazonaws.com" + "url": "https://braket-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://braket-fips.us-east-1.api.aws" + "url": "https://braket-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://braket-fips.us-east-1.amazonaws.com" + "url": "https://braket.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://braket.us-east-1.api.aws" + "url": "https://braket.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://braket.us-east-1.amazonaws.com" + "url": "https://braket-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://braket.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://braket-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://braket.us-isob-east-1.sc2s.sgov.gov" + } + }, + "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": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -228,9 +324,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -240,11 +336,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/braket/src/main/resources/codegen-resources/service-2.json b/services/braket/src/main/resources/codegen-resources/service-2.json index 22c6e3054a5f..69972db72256 100644 --- a/services/braket/src/main/resources/codegen-resources/service-2.json +++ b/services/braket/src/main/resources/codegen-resources/service-2.json @@ -583,6 +583,32 @@ }, "exception":true }, + "DeviceQueueInfo":{ + "type":"structure", + "required":[ + "queue", + "queueSize" + ], + "members":{ + "queue":{ + "shape":"QueueName", + "documentation":"

      The name of the queue.

      " + }, + "queuePriority":{ + "shape":"QueuePriority", + "documentation":"

      Optional. Specifies the priority of the queue. Tasks in a priority queue are processed before the tasks in a normal queue.

      " + }, + "queueSize":{ + "shape":"String", + "documentation":"

      The number of jobs or tasks in the queue for a given device.

      " + } + }, + "documentation":"

      Information about tasks and jobs queued on a device.

      " + }, + "DeviceQueueInfoList":{ + "type":"list", + "member":{"shape":"DeviceQueueInfo"} + }, "DeviceRetiredException":{ "type":"structure", "members":{ @@ -683,6 +709,10 @@ "shape":"String", "documentation":"

      The name of the device.

      " }, + "deviceQueueInfo":{ + "shape":"DeviceQueueInfoList", + "documentation":"

      List of information about tasks and jobs queued on a device.

      " + }, "deviceStatus":{ "shape":"DeviceStatus", "documentation":"

      The status of the device.

      " @@ -701,6 +731,12 @@ "type":"structure", "required":["jobArn"], "members":{ + "additionalAttributeNames":{ + "shape":"HybridJobAdditionalAttributeNamesList", + "documentation":"

      A list of attributes to return information for.

      ", + "location":"querystring", + "locationName":"additionalAttributeNames" + }, "jobArn":{ "shape":"JobArn", "documentation":"

      The ARN of the job to retrieve.

      ", @@ -778,6 +814,10 @@ "shape":"JobOutputDataConfig", "documentation":"

      The path to the S3 location where job artifacts are stored and the encryption key used to store them there.

      " }, + "queueInfo":{ + "shape":"HybridJobQueueInfo", + "documentation":"

      Queue information for the requested job. Only returned if QueueInfo is specified in the additionalAttributeNames\" field in the GetJob API request.

      " + }, "roleArn":{ "shape":"RoleArn", "documentation":"

      The Amazon Resource Name (ARN) of an IAM role that Amazon Braket can assume to perform tasks on behalf of a user. It can access user resources, run an Amazon Braket job container on behalf of user, and output resources to the s3 buckets of a user.

      " @@ -810,6 +850,12 @@ "type":"structure", "required":["quantumTaskArn"], "members":{ + "additionalAttributeNames":{ + "shape":"QuantumTaskAdditionalAttributeNamesList", + "documentation":"

      A list of attributes to return information for.

      ", + "location":"querystring", + "locationName":"additionalAttributeNames" + }, "quantumTaskArn":{ "shape":"QuantumTaskArn", "documentation":"

      the ARN of the task to retrieve.

      ", @@ -868,6 +914,10 @@ "shape":"QuantumTaskArn", "documentation":"

      The ARN of the task.

      " }, + "queueInfo":{ + "shape":"QuantumTaskQueueInfo", + "documentation":"

      Queue information for the requested quantum task. Only returned if QueueInfo is specified in the additionalAttributeNames\" field in the GetQuantumTask API request.

      " + }, "shots":{ "shape":"Long", "documentation":"

      The number of shots used in the task.

      " @@ -882,6 +932,36 @@ } } }, + "HybridJobAdditionalAttributeName":{ + "type":"string", + "enum":["QueueInfo"] + }, + "HybridJobAdditionalAttributeNamesList":{ + "type":"list", + "member":{"shape":"HybridJobAdditionalAttributeName"} + }, + "HybridJobQueueInfo":{ + "type":"structure", + "required":[ + "position", + "queue" + ], + "members":{ + "message":{ + "shape":"String", + "documentation":"

      Optional. Provides more information about the queue position. For example, if the job is complete and no longer in the queue, the message field contains that information.

      " + }, + "position":{ + "shape":"String", + "documentation":"

      Current position of the job in the jobs queue.

      " + }, + "queue":{ + "shape":"QueueName", + "documentation":"

      The name of the queue.

      " + } + }, + "documentation":"

      Information about the queue for a specified job.

      " + }, "HyperParameters":{ "type":"map", "key":{"shape":"String256"}, @@ -1202,10 +1282,44 @@ "type":"long", "box":true }, + "QuantumTaskAdditionalAttributeName":{ + "type":"string", + "enum":["QueueInfo"] + }, + "QuantumTaskAdditionalAttributeNamesList":{ + "type":"list", + "member":{"shape":"QuantumTaskAdditionalAttributeName"} + }, "QuantumTaskArn":{ "type":"string", "max":256, - "min":1 + "min":0 + }, + "QuantumTaskQueueInfo":{ + "type":"structure", + "required":[ + "position", + "queue" + ], + "members":{ + "message":{ + "shape":"String", + "documentation":"

      Optional. Provides more information about the queue position. For example, if the task is complete and no longer in the queue, the message field contains that information.

      " + }, + "position":{ + "shape":"String", + "documentation":"

      Current position of the task in the quantum tasks queue.

      " + }, + "queue":{ + "shape":"QueueName", + "documentation":"

      The name of the queue.

      " + }, + "queuePriority":{ + "shape":"QueuePriority", + "documentation":"

      Optional. Specifies the priority of the queue. Quantum tasks in a priority queue are processed before the tasks in a normal queue.

      " + } + }, + "documentation":"

      Information about the queue for the specified quantum task.

      " }, "QuantumTaskStatus":{ "type":"string", @@ -1274,6 +1388,20 @@ "type":"list", "member":{"shape":"QuantumTaskSummary"} }, + "QueueName":{ + "type":"string", + "enum":[ + "QUANTUM_TASKS_QUEUE", + "JOBS_QUEUE" + ] + }, + "QueuePriority":{ + "type":"string", + "enum":[ + "Normal", + "Priority" + ] + }, "ResourceNotFoundException":{ "type":"structure", "members":{ diff --git a/services/budgets/pom.xml b/services/budgets/pom.xml index 94e06aa94901..56e42c3a51ea 100644 --- a/services/budgets/pom.xml +++ b/services/budgets/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT budgets AWS Java SDK :: Services :: AWS Budgets diff --git a/services/budgets/src/main/resources/codegen-resources/service-2.json b/services/budgets/src/main/resources/codegen-resources/service-2.json index e516db9b4d44..19f347e9afd8 100644 --- a/services/budgets/src/main/resources/codegen-resources/service-2.json +++ b/services/budgets/src/main/resources/codegen-resources/service-2.json @@ -706,7 +706,7 @@ "BudgetNotificationsForAccountList":{ "type":"list", "member":{"shape":"BudgetNotificationsForAccount"}, - "max":50 + "max":1000 }, "BudgetPerformanceHistory":{ "type":"structure", @@ -1249,7 +1249,7 @@ "AccountId":{"shape":"AccountId"}, "MaxResults":{ "shape":"MaxResultsBudgetNotifications", - "documentation":"

      An integer that shows how many budget name entries a paginated response contains.

      " + "documentation":"

      An integer that represents how many budgets a paginated response contains. The default is 50.

      " }, "NextToken":{"shape":"GenericString"} } @@ -1325,11 +1325,11 @@ "members":{ "AccountId":{ "shape":"AccountId", - "documentation":"

      The accountId that is associated with the budgets that you want descriptions of.

      " + "documentation":"

      The accountId that is associated with the budgets that you want to describe.

      " }, "MaxResults":{ - "shape":"MaxResults", - "documentation":"

      An optional integer that represents how many entries a paginated response contains. The maximum is 100.

      " + "shape":"MaxResultsDescribeBudgets", + "documentation":"

      An integer that represents how many budgets a paginated response contains. The default is 100.

      " }, "NextToken":{ "shape":"GenericString", @@ -1369,7 +1369,7 @@ }, "MaxResults":{ "shape":"MaxResults", - "documentation":"

      An optional integer that represents how many entries a paginated response contains. The maximum is 100.

      " + "documentation":"

      An optional integer that represents how many entries a paginated response contains.

      " }, "NextToken":{ "shape":"GenericString", @@ -1414,7 +1414,7 @@ }, "MaxResults":{ "shape":"MaxResults", - "documentation":"

      An optional integer that represents how many entries a paginated response contains. The maximum is 100.

      " + "documentation":"

      An optional integer that represents how many entries a paginated response contains.

      " }, "NextToken":{ "shape":"GenericString", @@ -1631,7 +1631,13 @@ "MaxResultsBudgetNotifications":{ "type":"integer", "box":true, - "max":50, + "max":1000, + "min":1 + }, + "MaxResultsDescribeBudgets":{ + "type":"integer", + "box":true, + "max":1000, "min":1 }, "NotFoundException":{ @@ -1814,10 +1820,10 @@ }, "Unit":{ "shape":"UnitValue", - "documentation":"

      The unit of measurement that's used for the budget forecast, actual spend, or budget threshold, such as USD or GBP.

      " + "documentation":"

      The unit of measurement that's used for the budget forecast, actual spend, or budget threshold.

      " } }, - "documentation":"

      The amount of cost or usage that's measured for a budget.

      For example, a Spend for 3 GB of S3 usage has the following parameters:

      • An Amount of 3

      • A unit of GB

      " + "documentation":"

      The amount of cost or usage that's measured for a budget.

      Cost example: A Spend for 3 USD of costs has the following parameters:

      • An Amount of 3

      • A Unit of USD

      Usage example: A Spend for 3 GB of S3 usage has the following parameters:

      • An Amount of 3

      • A Unit of GB

      " }, "SsmActionDefinition":{ "type":"structure", diff --git a/services/chime/pom.xml b/services/chime/pom.xml index 5d6786c37599..e122e16bca2f 100644 --- a/services/chime/pom.xml +++ b/services/chime/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT chime AWS Java SDK :: Services :: Chime diff --git a/services/chime/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/chime/src/main/resources/codegen-resources/endpoint-rule-set.json index 21fb8405a138..024cb829d159 100644 --- a/services/chime/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/chime/src/main/resources/codegen-resources/endpoint-rule-set.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,291 +115,251 @@ { "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": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] + "ref": "UseDualStack" }, + false + ] + } + ], + "endpoint": { + "url": "https://chime.us-east-1.amazonaws.com", + "properties": { + "authSchemes": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] + "name": "sigv4", + "signingName": "chime", + "signingRegion": "us-east-1" } - ], - "endpoint": { - "url": "https://chime.us-east-1.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "chime", - "signingRegion": "us-east-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://chime-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://chime-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://chime-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://chime-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://chime.{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://chime.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://chime.{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://chime.{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/services/chimesdkidentity/pom.xml b/services/chimesdkidentity/pom.xml index 44d6e352cfeb..f8cfaff18e34 100644 --- a/services/chimesdkidentity/pom.xml +++ b/services/chimesdkidentity/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT chimesdkidentity AWS Java SDK :: Services :: Chime SDK Identity diff --git a/services/chimesdkidentity/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/chimesdkidentity/src/main/resources/codegen-resources/endpoint-rule-set.json index c6621fc86c3a..30459baf78a5 100644 --- a/services/chimesdkidentity/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/chimesdkidentity/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://identity-chime-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://identity-chime-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://identity-chime-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://identity-chime-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://identity-chime.{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://identity-chime.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://identity-chime.{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://identity-chime.{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/services/chimesdkmediapipelines/pom.xml b/services/chimesdkmediapipelines/pom.xml index 209e80aa9c10..b70ba320e55d 100644 --- a/services/chimesdkmediapipelines/pom.xml +++ b/services/chimesdkmediapipelines/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT chimesdkmediapipelines AWS Java SDK :: Services :: Chime SDK Media Pipelines diff --git a/services/chimesdkmediapipelines/src/main/resources/codegen-resources/paginators-1.json b/services/chimesdkmediapipelines/src/main/resources/codegen-resources/paginators-1.json index 300591768e32..5c1e9878244c 100644 --- a/services/chimesdkmediapipelines/src/main/resources/codegen-resources/paginators-1.json +++ b/services/chimesdkmediapipelines/src/main/resources/codegen-resources/paginators-1.json @@ -10,6 +10,11 @@ "output_token": "NextToken", "limit_key": "MaxResults" }, + "ListMediaPipelineKinesisVideoStreamPools": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, "ListMediaPipelines": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/services/chimesdkmediapipelines/src/main/resources/codegen-resources/service-2.json b/services/chimesdkmediapipelines/src/main/resources/codegen-resources/service-2.json index b6e1b7fbcad3..e61a6b93bc89 100644 --- a/services/chimesdkmediapipelines/src/main/resources/codegen-resources/service-2.json +++ b/services/chimesdkmediapipelines/src/main/resources/codegen-resources/service-2.json @@ -113,6 +113,48 @@ ], "documentation":"

      Creates a media live connector pipeline in an Amazon Chime SDK meeting.

      " }, + "CreateMediaPipelineKinesisVideoStreamPool":{ + "name":"CreateMediaPipelineKinesisVideoStreamPool", + "http":{ + "method":"POST", + "requestUri":"/media-pipeline-kinesis-video-stream-pools", + "responseCode":201 + }, + "input":{"shape":"CreateMediaPipelineKinesisVideoStreamPoolRequest"}, + "output":{"shape":"CreateMediaPipelineKinesisVideoStreamPoolResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

      Creates an Kinesis video stream pool for the media pipeline.

      " + }, + "CreateMediaStreamPipeline":{ + "name":"CreateMediaStreamPipeline", + "http":{ + "method":"POST", + "requestUri":"/sdk-media-stream-pipelines", + "responseCode":201 + }, + "input":{"shape":"CreateMediaStreamPipelineRequest"}, + "output":{"shape":"CreateMediaStreamPipelineResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

      Creates a streaming media pipeline.

      " + }, "DeleteMediaCapturePipeline":{ "name":"DeleteMediaCapturePipeline", "http":{ @@ -172,6 +214,26 @@ ], "documentation":"

      Deletes the media pipeline.

      " }, + "DeleteMediaPipelineKinesisVideoStreamPool":{ + "name":"DeleteMediaPipelineKinesisVideoStreamPool", + "http":{ + "method":"DELETE", + "requestUri":"/media-pipeline-kinesis-video-stream-pools/{identifier}", + "responseCode":204 + }, + "input":{"shape":"DeleteMediaPipelineKinesisVideoStreamPoolRequest"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"ThrottledClientException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ConflictException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

      Deletes an Kinesis video stream pool.

      " + }, "GetMediaCapturePipeline":{ "name":"GetMediaCapturePipeline", "http":{ @@ -232,6 +294,26 @@ ], "documentation":"

      Gets an existing media pipeline.

      " }, + "GetMediaPipelineKinesisVideoStreamPool":{ + "name":"GetMediaPipelineKinesisVideoStreamPool", + "http":{ + "method":"GET", + "requestUri":"/media-pipeline-kinesis-video-stream-pools/{identifier}", + "responseCode":200 + }, + "input":{"shape":"GetMediaPipelineKinesisVideoStreamPoolRequest"}, + "output":{"shape":"GetMediaPipelineKinesisVideoStreamPoolResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

      Gets an Kinesis video stream pool.

      " + }, "GetSpeakerSearchTask":{ "name":"GetSpeakerSearchTask", "http":{ @@ -312,6 +394,26 @@ ], "documentation":"

      Lists the available media insights pipeline configurations.

      " }, + "ListMediaPipelineKinesisVideoStreamPools":{ + "name":"ListMediaPipelineKinesisVideoStreamPools", + "http":{ + "method":"GET", + "requestUri":"/media-pipeline-kinesis-video-stream-pools", + "responseCode":200 + }, + "input":{"shape":"ListMediaPipelineKinesisVideoStreamPoolsRequest"}, + "output":{"shape":"ListMediaPipelineKinesisVideoStreamPoolsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

      Lists the video stream pools in the media pipeline.

      " + }, "ListMediaPipelines":{ "name":"ListMediaPipelines", "http":{ @@ -514,6 +616,27 @@ {"shape":"ServiceFailureException"} ], "documentation":"

      Updates the status of a media insights pipeline.

      " + }, + "UpdateMediaPipelineKinesisVideoStreamPool":{ + "name":"UpdateMediaPipelineKinesisVideoStreamPool", + "http":{ + "method":"PUT", + "requestUri":"/media-pipeline-kinesis-video-stream-pools/{identifier}", + "responseCode":200 + }, + "input":{"shape":"UpdateMediaPipelineKinesisVideoStreamPoolRequest"}, + "output":{"shape":"UpdateMediaPipelineKinesisVideoStreamPoolResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ConflictException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

      Updates an Kinesis video stream pool in a media pipeline.

      " } }, "shapes":{ @@ -816,6 +939,12 @@ "type":"string", "pattern":"44100|48000" }, + "AwsRegion":{ + "type":"string", + "max":32, + "min":1, + "pattern":"^([a-z]+-){2,}\\d+$" + }, "BadRequestException":{ "type":"structure", "members":{ @@ -1327,6 +1456,76 @@ } } }, + "CreateMediaPipelineKinesisVideoStreamPoolRequest":{ + "type":"structure", + "required":[ + "StreamConfiguration", + "PoolName" + ], + "members":{ + "StreamConfiguration":{ + "shape":"KinesisVideoStreamConfiguration", + "documentation":"

      The configuration settings for the video stream.

      " + }, + "PoolName":{ + "shape":"KinesisVideoStreamPoolName", + "documentation":"

      The name of the video stream pool.

      " + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

      The token assigned to the client making the request.

      ", + "idempotencyToken":true + }, + "Tags":{ + "shape":"TagList", + "documentation":"

      The tags assigned to the video stream pool.

      " + } + } + }, + "CreateMediaPipelineKinesisVideoStreamPoolResponse":{ + "type":"structure", + "members":{ + "KinesisVideoStreamPoolConfiguration":{ + "shape":"KinesisVideoStreamPoolConfiguration", + "documentation":"

      The configuration for the Kinesis video stream pool.

      " + } + } + }, + "CreateMediaStreamPipelineRequest":{ + "type":"structure", + "required":[ + "Sources", + "Sinks" + ], + "members":{ + "Sources":{ + "shape":"MediaStreamSourceList", + "documentation":"

      The data sources for the media pipeline.

      " + }, + "Sinks":{ + "shape":"MediaStreamSinkList", + "documentation":"

      The data sink for the media pipeline.

      " + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

      The token assigned to the client making the request.

      ", + "idempotencyToken":true + }, + "Tags":{ + "shape":"TagList", + "documentation":"

      The tags assigned to the media pipeline.

      " + } + } + }, + "CreateMediaStreamPipelineResponse":{ + "type":"structure", + "members":{ + "MediaStreamPipeline":{ + "shape":"MediaStreamPipeline", + "documentation":"

      The requested media pipeline.

      " + } + } + }, "DataChannelConcatenationConfiguration":{ "type":"structure", "required":["State"], @@ -1338,6 +1537,14 @@ }, "documentation":"

      The content configuration object's data channel.

      " }, + "DataRetentionChangeInHours":{ + "type":"integer", + "min":1 + }, + "DataRetentionInHours":{ + "type":"integer", + "min":0 + }, "DeleteMediaCapturePipelineRequest":{ "type":"structure", "required":["MediaPipelineId"], @@ -1362,6 +1569,18 @@ } } }, + "DeleteMediaPipelineKinesisVideoStreamPoolRequest":{ + "type":"structure", + "required":["Identifier"], + "members":{ + "Identifier":{ + "shape":"NonEmptyString", + "documentation":"

      The ID of the pool being deleted.

      ", + "location":"uri", + "locationName":"identifier" + } + } + }, "DeleteMediaPipelineRequest":{ "type":"structure", "required":["MediaPipelineId"], @@ -1484,6 +1703,27 @@ } } }, + "GetMediaPipelineKinesisVideoStreamPoolRequest":{ + "type":"structure", + "required":["Identifier"], + "members":{ + "Identifier":{ + "shape":"NonEmptyString", + "documentation":"

      The ID of the video stream pool.

      ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "GetMediaPipelineKinesisVideoStreamPoolResponse":{ + "type":"structure", + "members":{ + "KinesisVideoStreamPoolConfiguration":{ + "shape":"KinesisVideoStreamPoolConfiguration", + "documentation":"

      The video stream pool configuration object.

      " + } + } + }, "GetMediaPipelineRequest":{ "type":"structure", "required":["MediaPipelineId"], @@ -1550,7 +1790,7 @@ }, "VoiceToneAnalysisTaskId":{ "shape":"GuidString", - "documentation":"

      The ID of the voice tone anlysis task.

      ", + "documentation":"

      The ID of the voice tone analysis task.

      ", "location":"uri", "locationName":"voiceToneAnalysisTaskId" } @@ -1634,7 +1874,7 @@ }, "TileAspectRatio":{ "shape":"TileAspectRatio", - "documentation":"

      Sets the aspect ratio of the video tiles, such as 16:9.

      " + "documentation":"

      Specifies the aspect ratio of all video tiles.

      " } }, "documentation":"

      Defines the configuration settings for the horizontal layout.

      " @@ -1711,6 +1951,117 @@ "min":1, "pattern":"arn:[a-z\\d-]+:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+" }, + "KinesisVideoStreamConfiguration":{ + "type":"structure", + "required":["Region"], + "members":{ + "Region":{ + "shape":"AwsRegion", + "documentation":"

      The Amazon Web Services Region of the video stream.

      " + }, + "DataRetentionInHours":{ + "shape":"DataRetentionInHours", + "documentation":"

      The amount of time that data is retained.

      " + } + }, + "documentation":"

      The configuration of an Kinesis video stream.

      " + }, + "KinesisVideoStreamConfigurationUpdate":{ + "type":"structure", + "members":{ + "DataRetentionInHours":{ + "shape":"DataRetentionChangeInHours", + "documentation":"

      The updated time that data is retained.

      " + } + }, + "documentation":"

      The updated Kinesis video stream configuration object.

      " + }, + "KinesisVideoStreamPoolConfiguration":{ + "type":"structure", + "members":{ + "PoolArn":{ + "shape":"Arn", + "documentation":"

      The ARN of the video stream pool configuration.

      " + }, + "PoolName":{ + "shape":"KinesisVideoStreamPoolName", + "documentation":"

      The name of the video stream pool configuration.

      " + }, + "PoolId":{ + "shape":"KinesisVideoStreamPoolId", + "documentation":"

      The ID of the video stream pool in the configuration.

      " + }, + "PoolStatus":{ + "shape":"KinesisVideoStreamPoolStatus", + "documentation":"

      The status of the video stream pool in the configuration.

      " + }, + "PoolSize":{ + "shape":"KinesisVideoStreamPoolSize", + "documentation":"

      The size of the video stream pool in the configuration.

      " + }, + "StreamConfiguration":{ + "shape":"KinesisVideoStreamConfiguration", + "documentation":"

      The Kinesis video stream pool configuration object.

      " + }, + "CreatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

      The time at which the configuration was created.

      " + }, + "UpdatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

      The time at which the configuration was updated.

      " + } + }, + "documentation":"

      The video stream pool configuration object.

      " + }, + "KinesisVideoStreamPoolId":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^[0-9a-zA-Z._-]+" + }, + "KinesisVideoStreamPoolName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[0-9a-zA-Z._-]+" + }, + "KinesisVideoStreamPoolSize":{ + "type":"integer", + "min":0 + }, + "KinesisVideoStreamPoolStatus":{ + "type":"string", + "enum":[ + "CREATING", + "ACTIVE", + "UPDATING", + "DELETING", + "FAILED" + ] + }, + "KinesisVideoStreamPoolSummary":{ + "type":"structure", + "members":{ + "PoolName":{ + "shape":"KinesisVideoStreamPoolName", + "documentation":"

      The name of the video stream pool.

      " + }, + "PoolId":{ + "shape":"KinesisVideoStreamPoolId", + "documentation":"

      The ID of the video stream pool.

      " + }, + "PoolArn":{ + "shape":"Arn", + "documentation":"

      The ARN of the video stream pool.

      " + } + }, + "documentation":"

      A summary of the Kinesis video stream pool.

      " + }, + "KinesisVideoStreamPoolSummaryList":{ + "type":"list", + "member":{"shape":"KinesisVideoStreamPoolSummary"} + }, "KinesisVideoStreamRecordingSourceRuntimeConfiguration":{ "type":"structure", "required":[ @@ -1854,6 +2205,36 @@ } } }, + "ListMediaPipelineKinesisVideoStreamPoolsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

      The token used to return the next page of results.

      ", + "location":"querystring", + "locationName":"next-token" + }, + "MaxResults":{ + "shape":"ResultMax", + "documentation":"

      The maximum number of results to return in a single call.

      ", + "location":"querystring", + "locationName":"max-results" + } + } + }, + "ListMediaPipelineKinesisVideoStreamPoolsResponse":{ + "type":"structure", + "members":{ + "KinesisVideoStreamPools":{ + "shape":"KinesisVideoStreamPoolSummaryList", + "documentation":"

      The list of video stream pools.

      " + }, + "NextToken":{ + "shape":"String", + "documentation":"

      The token used to return the next page of results.

      " + } + } + }, "ListMediaPipelinesRequest":{ "type":"structure", "members":{ @@ -2360,6 +2741,10 @@ "MediaInsightsPipeline":{ "shape":"MediaInsightsPipeline", "documentation":"

      The media insights pipeline of a media pipeline.

      " + }, + "MediaStreamPipeline":{ + "shape":"MediaStreamPipeline", + "documentation":"

      Designates a media pipeline as a media stream pipeline.

      " } }, "documentation":"

      A pipeline consisting of a media capture, media concatenation, or live-streaming pipeline.

      " @@ -2438,6 +2823,108 @@ "max":48000, "min":8000 }, + "MediaStreamPipeline":{ + "type":"structure", + "members":{ + "MediaPipelineId":{ + "shape":"GuidString", + "documentation":"

      The ID of the media stream pipeline

      " + }, + "MediaPipelineArn":{ + "shape":"AmazonResourceName", + "documentation":"

      The ARN of the media stream pipeline.

      " + }, + "CreatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

      The time at which the media stream pipeline was created.

      " + }, + "UpdatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

      The time at which the media stream pipeline was updated.

      " + }, + "Status":{ + "shape":"MediaPipelineStatus", + "documentation":"

      The status of the media stream pipeline.

      " + }, + "Sources":{ + "shape":"MediaStreamSourceList", + "documentation":"

      The media stream pipeline's data sources.

      " + }, + "Sinks":{ + "shape":"MediaStreamSinkList", + "documentation":"

      The media stream pipeline's data sinks.

      " + } + }, + "documentation":"

      Structure that contains the settings for a media stream pipeline.

      " + }, + "MediaStreamPipelineSinkType":{ + "type":"string", + "enum":["KinesisVideoStreamPool"] + }, + "MediaStreamSink":{ + "type":"structure", + "required":[ + "SinkArn", + "SinkType", + "ReservedStreamCapacity", + "MediaStreamType" + ], + "members":{ + "SinkArn":{ + "shape":"Arn", + "documentation":"

      The ARN of the media stream sink.

      " + }, + "SinkType":{ + "shape":"MediaStreamPipelineSinkType", + "documentation":"

      The media stream sink's type.

      " + }, + "ReservedStreamCapacity":{ + "shape":"ReservedStreamCapacity", + "documentation":"

      Specifies the number of streams that the sink can accept.

      " + }, + "MediaStreamType":{ + "shape":"MediaStreamType", + "documentation":"

      The media stream sink's media stream type.

      " + } + }, + "documentation":"

      Structure that contains the settings for a media stream sink.

      " + }, + "MediaStreamSinkList":{ + "type":"list", + "member":{"shape":"MediaStreamSink"}, + "max":2, + "min":1 + }, + "MediaStreamSource":{ + "type":"structure", + "required":[ + "SourceType", + "SourceArn" + ], + "members":{ + "SourceType":{ + "shape":"MediaPipelineSourceType", + "documentation":"

      The type of media stream source.

      " + }, + "SourceArn":{ + "shape":"Arn", + "documentation":"

      The ARN of the media stream source.

      " + } + }, + "documentation":"

      Structure that contains the settings for media stream sources.

      " + }, + "MediaStreamSourceList":{ + "type":"list", + "member":{"shape":"MediaStreamSource"}, + "min":1 + }, + "MediaStreamType":{ + "type":"string", + "enum":[ + "MixedAudio", + "IndividualAudio" + ] + }, "MeetingEventsConcatenationConfiguration":{ "type":"structure", "required":["State"], @@ -2619,6 +3106,11 @@ "max":2, "min":2 }, + "ReservedStreamCapacity":{ + "type":"integer", + "max":10, + "min":1 + }, "ResolutionOption":{ "type":"string", "enum":[ @@ -3206,6 +3698,31 @@ } } }, + "UpdateMediaPipelineKinesisVideoStreamPoolRequest":{ + "type":"structure", + "required":["Identifier"], + "members":{ + "Identifier":{ + "shape":"NonEmptyString", + "documentation":"

      The ID of the video stream pool.

      ", + "location":"uri", + "locationName":"identifier" + }, + "StreamConfiguration":{ + "shape":"KinesisVideoStreamConfigurationUpdate", + "documentation":"

      The configuration settings for the video stream.

      " + } + } + }, + "UpdateMediaPipelineKinesisVideoStreamPoolResponse":{ + "type":"structure", + "members":{ + "KinesisVideoStreamPoolConfiguration":{ + "shape":"KinesisVideoStreamPoolConfiguration", + "documentation":"

      The video stream pool configuration object.

      " + } + } + }, "VerticalLayoutConfiguration":{ "type":"structure", "members":{ diff --git a/services/chimesdkmeetings/pom.xml b/services/chimesdkmeetings/pom.xml index 1c24bd8fd4eb..2f8745c128c6 100644 --- a/services/chimesdkmeetings/pom.xml +++ b/services/chimesdkmeetings/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT chimesdkmeetings AWS Java SDK :: Services :: Chime SDK Meetings diff --git a/services/chimesdkmessaging/pom.xml b/services/chimesdkmessaging/pom.xml index 95762db08b0d..69bbd058cc59 100644 --- a/services/chimesdkmessaging/pom.xml +++ b/services/chimesdkmessaging/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT chimesdkmessaging AWS Java SDK :: Services :: Chime SDK Messaging diff --git a/services/chimesdkmessaging/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/chimesdkmessaging/src/main/resources/codegen-resources/endpoint-rule-set.json index 998720ae9d50..a732e2b01171 100644 --- a/services/chimesdkmessaging/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/chimesdkmessaging/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://messaging-chime-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://messaging-chime-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://messaging-chime-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://messaging-chime-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://messaging-chime.{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://messaging-chime.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://messaging-chime.{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://messaging-chime.{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/services/chimesdkvoice/pom.xml b/services/chimesdkvoice/pom.xml index 7bb803aa8b4c..340e94dca904 100644 --- a/services/chimesdkvoice/pom.xml +++ b/services/chimesdkvoice/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT chimesdkvoice AWS Java SDK :: Services :: Chime SDK Voice diff --git a/services/chimesdkvoice/src/main/resources/codegen-resources/endpoint-tests.json b/services/chimesdkvoice/src/main/resources/codegen-resources/endpoint-tests.json index 9150af502072..5c6ffc0eb12e 100644 --- a/services/chimesdkvoice/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/chimesdkvoice/src/main/resources/codegen-resources/endpoint-tests.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://voice-chime-fips.us-gov-east-1.api.aws" + "url": "https://voice-chime-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": 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://voice-chime-fips.us-gov-east-1.amazonaws.com" + "url": "https://voice-chime-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": true, - "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://voice-chime.us-gov-east-1.api.aws" + "url": "https://voice-chime.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": false, - "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://voice-chime.us-gov-east-1.amazonaws.com" + "url": "https://voice-chime.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -60,9 +60,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -73,9 +73,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -86,9 +86,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -99,109 +99,109 @@ } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": 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://voice-chime-fips.us-gov-east-1.api.aws" + } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": 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://voice-chime-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://voice-chime-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": true, - "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://voice-chime.us-gov-east-1.api.aws" + } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": false, - "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://voice-chime.us-iso-east-1.c2s.ic.gov" + "url": "https://voice-chime.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": 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://voice-chime-fips.us-east-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, + "Region": "us-iso-east-1", "UseFIPS": 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://voice-chime-fips.us-east-1.amazonaws.com" + "url": "https://voice-chime-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": true, - "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://voice-chime.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, + "Region": "us-iso-east-1", "UseFIPS": false, - "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://voice-chime.us-east-1.amazonaws.com" + "url": "https://voice-chime.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": 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": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { @@ -223,9 +223,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -234,9 +234,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { @@ -247,22 +247,35 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "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, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { "UseFIPS": false, - "Region": "us-east-1", + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -272,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -284,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/cleanrooms/pom.xml b/services/cleanrooms/pom.xml index baac90167874..79ed4f15692b 100644 --- a/services/cleanrooms/pom.xml +++ b/services/cleanrooms/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT cleanrooms AWS Java SDK :: Services :: Clean Rooms diff --git a/services/cloud9/pom.xml b/services/cloud9/pom.xml index 2161d7e0808d..7886425d4946 100644 --- a/services/cloud9/pom.xml +++ b/services/cloud9/pom.xml @@ -20,7 +20,7 @@ services software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 cloud9 diff --git a/services/cloud9/src/main/resources/codegen-resources/service-2.json b/services/cloud9/src/main/resources/codegen-resources/service-2.json index 502337f92dc9..6e6cee6be511 100644 --- a/services/cloud9/src/main/resources/codegen-resources/service-2.json +++ b/services/cloud9/src/main/resources/codegen-resources/service-2.json @@ -330,7 +330,7 @@ }, "imageId":{ "shape":"ImageId", - "documentation":"

      The identifier for the Amazon Machine Image (AMI) that's used to create the EC2 instance. To choose an AMI for the instance, you must specify a valid AMI alias or a valid Amazon EC2 Systems Manager (SSM) path.

      The default Amazon Linux AMI is currently used if the parameter isn't explicitly assigned a value in the request. Because Amazon Linux AMI has ended standard support as of December 31, 2020, we recommend you choose Amazon Linux 2, which includes long term support through 2023.

      From December 31, 2023, the parameter for Amazon Linux will no longer be available when you specify an AMI for your instance. Amazon Linux 2 will then become the default AMI, which is used to launch your instance if no parameter is explicitly defined.

      AMI aliases

      • Amazon Linux (default): amazonlinux-1-x86_64

      • Amazon Linux 2: amazonlinux-2-x86_64

      • Ubuntu 18.04: ubuntu-18.04-x86_64

      • Ubuntu 22.04: ubuntu-22.04-x86_64

      SSM paths

      • Amazon Linux (default): resolve:ssm:/aws/service/cloud9/amis/amazonlinux-1-x86_64

      • Amazon Linux 2: resolve:ssm:/aws/service/cloud9/amis/amazonlinux-2-x86_64

      • Ubuntu 18.04: resolve:ssm:/aws/service/cloud9/amis/ubuntu-18.04-x86_64

      • Ubuntu 22.04: resolve:ssm:/aws/service/cloud9/amis/ubuntu-22.04-x86_64

      " + "documentation":"

      The identifier for the Amazon Machine Image (AMI) that's used to create the EC2 instance. To choose an AMI for the instance, you must specify a valid AMI alias or a valid Amazon EC2 Systems Manager (SSM) path.

      The default Amazon Linux AMI is currently used if the parameter isn't explicitly assigned a value in the request. Because Amazon Linux AMI has ended standard support as of December 31, 2020, we recommend you choose Amazon Linux 2, which includes long term support through 2023.

      From December 31, 2023, the parameter for Amazon Linux will no longer be available when you specify an AMI for your instance. Amazon Linux 2 will then become the default AMI, which is used to launch your instance if no parameter is explicitly defined.

      Since Ubuntu 18.04 has ended standard support as of May 31, 2023, we recommend you choose Ubuntu 22.04.

      AMI aliases

      • Amazon Linux (default): amazonlinux-1-x86_64

      • Amazon Linux 2: amazonlinux-2-x86_64

      • Ubuntu 18.04: ubuntu-18.04-x86_64

      • Ubuntu 22.04: ubuntu-22.04-x86_64

      SSM paths

      • Amazon Linux (default): resolve:ssm:/aws/service/cloud9/amis/amazonlinux-1-x86_64

      • Amazon Linux 2: resolve:ssm:/aws/service/cloud9/amis/amazonlinux-2-x86_64

      • Ubuntu 18.04: resolve:ssm:/aws/service/cloud9/amis/ubuntu-18.04-x86_64

      • Ubuntu 22.04: resolve:ssm:/aws/service/cloud9/amis/ubuntu-22.04-x86_64

      " }, "automaticStopTimeMinutes":{ "shape":"AutomaticStopTimeMinutes", diff --git a/services/cloudcontrol/pom.xml b/services/cloudcontrol/pom.xml index 8c44d2529da1..ae7ae32c6b39 100644 --- a/services/cloudcontrol/pom.xml +++ b/services/cloudcontrol/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT cloudcontrol AWS Java SDK :: Services :: Cloud Control diff --git a/services/cloudcontrol/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/cloudcontrol/src/main/resources/codegen-resources/endpoint-rule-set.json index 1812986e28a7..eb2c2c7ec8a9 100644 --- a/services/cloudcontrol/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/cloudcontrol/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://cloudcontrolapi-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://cloudcontrolapi-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://cloudcontrolapi-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://cloudcontrolapi-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://cloudcontrolapi.{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://cloudcontrolapi.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://cloudcontrolapi.{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://cloudcontrolapi.{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/services/clouddirectory/pom.xml b/services/clouddirectory/pom.xml index 3368bb0fa94a..424664a743eb 100644 --- a/services/clouddirectory/pom.xml +++ b/services/clouddirectory/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT clouddirectory AWS Java SDK :: Services :: Amazon CloudDirectory diff --git a/services/clouddirectory/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/clouddirectory/src/main/resources/codegen-resources/endpoint-rule-set.json index 7cd5c3df5bbf..a354ebc7e0d0 100644 --- a/services/clouddirectory/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/clouddirectory/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,64 +45,17 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "ref": "UseFIPS" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + true ] } - ] + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" }, { "conditions": [ @@ -111,19 +63,51 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "booleanEquals", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "UseDualStack" - }, - true - ] + "ref": "Region" + } + ], + "assign": "PartitionResult" } ], "type": "tree", @@ -133,38 +117,57 @@ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] }, { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -177,52 +180,46 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -260,52 +257,46 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -318,20 +309,14 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ] - }, - { - "conditions": [], - "type": "tree", - "rules": [ { "conditions": [], "endpoint": { @@ -344,6 +329,11 @@ ] } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/clouddirectory/src/main/resources/codegen-resources/endpoint-tests.json b/services/clouddirectory/src/main/resources/codegen-resources/endpoint-tests.json index 55b45eb8eb03..fbf4d0e0f1ff 100644 --- a/services/clouddirectory/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/clouddirectory/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,55 +1,81 @@ { "testCases": [ { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://clouddirectory-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://clouddirectory.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-iso-east-1" + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://clouddirectory.us-iso-east-1.c2s.ic.gov" + "url": "https://clouddirectory.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-southeast-2", "UseFIPS": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://clouddirectory.ap-southeast-2.amazonaws.com" + "url": "https://clouddirectory.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ca-central-1", "UseFIPS": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://clouddirectory.us-west-2.amazonaws.com" + "url": "https://clouddirectory.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://clouddirectory.eu-west-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://clouddirectory.eu-west-2.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-2", "UseFIPS": false, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -60,9 +86,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -73,113 +99,113 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-east-2", "UseFIPS": false, - "Region": "us-east-2" + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://clouddirectory.eu-central-1.amazonaws.com" + "url": "https://clouddirectory.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-west-2", "UseFIPS": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://clouddirectory.ca-central-1.amazonaws.com" + "url": "https://clouddirectory-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ca-central-1" + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://clouddirectory.eu-west-1.amazonaws.com" + "url": "https://clouddirectory-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-west-1" + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://clouddirectory.eu-west-2.amazonaws.com" + "url": "https://clouddirectory.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "eu-west-2" + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://clouddirectory.ap-southeast-1.amazonaws.com" + "url": "https://clouddirectory-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-southeast-1" + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://clouddirectory-fips.us-east-1.api.aws" + "url": "https://clouddirectory-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://clouddirectory-fips.us-east-1.amazonaws.com" + "url": "https://clouddirectory.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-east-1" + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://clouddirectory.us-east-1.api.aws" + "url": "https://clouddirectory.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -190,9 +216,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-gov-west-1", "UseFIPS": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { @@ -203,9 +229,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-gov-west-1", "UseFIPS": true, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { @@ -216,9 +242,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -229,9 +255,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -242,9 +268,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -255,100 +281,131 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://clouddirectory-fips.us-isob-east-1.sc2s.sgov.gov" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://clouddirectory.us-isob-east-1.sc2s.sgov.gov" + "url": "https://clouddirectory-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://clouddirectory-fips.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://clouddirectory.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://clouddirectory-fips.cn-north-1.amazonaws.com.cn" + "url": "https://clouddirectory-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://clouddirectory.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://clouddirectory.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://clouddirectory.cn-north-1.amazonaws.com.cn" + "url": "https://example.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": false, + "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" } }, "params": { - "UseDualStack": false, "UseFIPS": false, - "Region": "us-east-1", + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -358,9 +415,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -370,11 +427,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/cloudformation/pom.xml b/services/cloudformation/pom.xml index 0bf138618987..5a2ef4c7c123 100644 --- a/services/cloudformation/pom.xml +++ b/services/cloudformation/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT cloudformation AWS Java SDK :: Services :: AWS CloudFormation diff --git a/services/cloudformation/src/main/resources/codegen-resources/service-2.json b/services/cloudformation/src/main/resources/codegen-resources/service-2.json index 7fe1b649322d..df22b12194c0 100644 --- a/services/cloudformation/src/main/resources/codegen-resources/service-2.json +++ b/services/cloudformation/src/main/resources/codegen-resources/service-2.json @@ -1862,7 +1862,7 @@ }, "RetainExceptOnCreate":{ "shape":"RetainExceptOnCreate", - "documentation":"

      This deletion policy deletes newly created resources, but retains existing resources, when a stack operation is rolled back. This ensures new, empty, and unused resources are deleted, while critical resources and their data are retained. RetainExceptOnCreate can be specified for any resource that supports the DeletionPolicy attribute.

      " + "documentation":"

      When set to true, newly created resources are deleted when the operation rolls back. This includes newly created resources marked with a deletion policy of Retain.

      Default: false

      " } }, "documentation":"

      The input for CreateStack action.

      " @@ -1958,7 +1958,7 @@ }, "Capabilities":{ "shape":"Capabilities", - "documentation":"

      In some cases, you must explicitly acknowledge that your stack set template contains certain capabilities in order for CloudFormation to create the stack set and related stack instances.

      • CAPABILITY_IAM and CAPABILITY_NAMED_IAM

        Some stack templates might include resources that can affect permissions in your Amazon Web Services account; for example, by creating new Identity and Access Management (IAM) users. For those stack sets, you must explicitly acknowledge this by specifying one of these capabilities.

        The following IAM resources require you to specify either the CAPABILITY_IAM or CAPABILITY_NAMED_IAM capability.

        • If you have IAM resources, you can specify either capability.

        • If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM.

        • If you don't specify either of these capabilities, CloudFormation returns an InsufficientCapabilities error.

        If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary.

        For more information, see Acknowledging IAM Resources in CloudFormation Templates.

      • CAPABILITY_AUTO_EXPAND

        Some templates reference macros. If your stack set template references one or more macros, you must create the stack set directly from the processed template, without first reviewing the resulting changes in a change set. To create the stack set directly, you must acknowledge this capability. For more information, see Using CloudFormation Macros to Perform Custom Processing on Templates.

        Stack sets with service-managed permissions don't currently support the use of macros in templates. (This includes the AWS::Include and AWS::Serverless transforms, which are macros hosted by CloudFormation.) Even if you specify this capability for a stack set with service-managed permissions, if you reference a macro in your template the stack set operation will fail.

      " + "documentation":"

      In some cases, you must explicitly acknowledge that your stack set template contains certain capabilities in order for CloudFormation to create the stack set and related stack instances.

      • CAPABILITY_IAM and CAPABILITY_NAMED_IAM

        Some stack templates might include resources that can affect permissions in your Amazon Web Services account; for example, by creating new Identity and Access Management (IAM) users. For those stack sets, you must explicitly acknowledge this by specifying one of these capabilities.

        The following IAM resources require you to specify either the CAPABILITY_IAM or CAPABILITY_NAMED_IAM capability.

        • If you have IAM resources, you can specify either capability.

        • If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM.

        • If you don't specify either of these capabilities, CloudFormation returns an InsufficientCapabilities error.

        If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary.

        For more information, see Acknowledging IAM Resources in CloudFormation Templates.

      • CAPABILITY_AUTO_EXPAND

        Some templates reference macros. If your stack set template references one or more macros, you must create the stack set directly from the processed template, without first reviewing the resulting changes in a change set. To create the stack set directly, you must acknowledge this capability. For more information, see Using CloudFormation Macros to Perform Custom Processing on Templates.

        Stack sets with service-managed permissions don't currently support the use of macros in templates. (This includes the AWS::Include and AWS::Serverless transforms, which are macros hosted by CloudFormation.) Even if you specify this capability for a stack set with service-managed permissions, if you reference a macro in your template the stack set operation will fail.

      " }, "Tags":{ "shape":"Tags", @@ -1966,7 +1966,7 @@ }, "AdministrationRoleARN":{ "shape":"RoleARN", - "documentation":"

      The Amazon Resource Name (ARN) of the IAM role to use to create this stack set.

      Specify an IAM role only if you are using customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see Prerequisites: Granting Permissions for Stack Set Operations in the CloudFormation User Guide.

      " + "documentation":"

      The Amazon Resource Name (ARN) of the IAM role to use to create this stack set.

      Specify an IAM role only if you are using customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see Prerequisites: Granting Permissions for Stack Set Operations in the CloudFormation User Guide.

      " }, "ExecutionRoleName":{ "shape":"ExecutionRoleName", @@ -2714,7 +2714,7 @@ "members":{ "StackName":{ "shape":"StackName", - "documentation":"

      If you don't pass a parameter to StackName, the API returns a response that describes all resources in the account. This requires ListStacks and DescribeStacks permissions.

      The IAM policy below can be added to IAM policies when you want to limit resource-level permissions and avoid returning a response when no parameter is sent in the request:

      { \"Version\": \"2012-10-17\", \"Statement\": [{ \"Effect\": \"Deny\", \"Action\": \"cloudformation:DescribeStacks\", \"NotResource\": \"arn:aws:cloudformation:*:*:stack/*/*\" }] }

      The name or the unique stack ID that's associated with the stack, which aren't always interchangeable:

      • Running stacks: You can specify either the stack's name or its unique stack ID.

      • Deleted stacks: You must specify the unique stack ID.

      Default: There is no default value.

      " + "documentation":"

      If you don't pass a parameter to StackName, the API returns a response that describes all resources in the account, which can impact performance. This requires ListStacks and DescribeStacks permissions.

      Consider using the ListStacks API if you're not passing a parameter to StackName.

      The IAM policy below can be added to IAM policies when you want to limit resource-level permissions and avoid returning a response when no parameter is sent in the request:

      { \"Version\": \"2012-10-17\", \"Statement\": [{ \"Effect\": \"Deny\", \"Action\": \"cloudformation:DescribeStacks\", \"NotResource\": \"arn:aws:cloudformation:*:*:stack/*/*\" }] }

      The name or the unique stack ID that's associated with the stack, which aren't always interchangeable:

      • Running stacks: You can specify either the stack's name or its unique stack ID.

      • Deleted stacks: You must specify the unique stack ID.

      Default: There is no default value.

      " }, "NextToken":{ "shape":"NextToken", @@ -3080,7 +3080,7 @@ }, "RetainExceptOnCreate":{ "shape":"RetainExceptOnCreate", - "documentation":"

      This deletion policy deletes newly created resources, but retains existing resources, when a stack operation is rolled back. This ensures new, empty, and unused resources are deleted, while critical resources and their data are retained. RetainExceptOnCreate can be specified for any resource that supports the DeletionPolicy attribute.

      " + "documentation":"

      When set to true, newly created resources are deleted when the operation rolls back. This includes newly created resources marked with a deletion policy of Retain.

      Default: false

      " } }, "documentation":"

      The input for the ExecuteChangeSet action.

      " @@ -4925,7 +4925,7 @@ }, "RetainExceptOnCreate":{ "shape":"RetainExceptOnCreate", - "documentation":"

      This deletion policy deletes newly created resources, but retains existing resources, when a stack operation is rolled back. This ensures new, empty, and unused resources are deleted, while critical resources and their data are retained. RetainExceptOnCreate can be specified for any resource that supports the DeletionPolicy attribute.

      " + "documentation":"

      When set to true, newly created resources are deleted when the operation rolls back. This includes newly created resources marked with a deletion policy of Retain.

      Default: false

      " } } }, @@ -5182,7 +5182,7 @@ }, "RetainExceptOnCreate":{ "shape":"RetainExceptOnCreate", - "documentation":"

      This deletion policy deletes newly created resources, but retains existing resources, when a stack operation is rolled back. This ensures new, empty, and unused resources are deleted, while critical resources and their data are retained. RetainExceptOnCreate can be specified for any resource that supports the DeletionPolicy attribute.

      " + "documentation":"

      When set to true, newly created resources are deleted when the operation rolls back. This includes newly created resources marked with a deletion policy of Retain.

      Default: false

      " } }, "documentation":"

      The Stack data type.

      " @@ -5916,7 +5916,7 @@ }, "AdministrationRoleARN":{ "shape":"RoleARN", - "documentation":"

      The Amazon Resource Name (ARN) of the IAM role used to create or update the stack set.

      Use customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see Prerequisites: Granting Permissions for Stack Set Operations in the CloudFormation User Guide.

      " + "documentation":"

      The Amazon Resource Name (ARN) of the IAM role used to create or update the stack set.

      Use customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see Prerequisites: Granting Permissions for Stack Set Operations in the CloudFormation User Guide.

      " }, "ExecutionRoleName":{ "shape":"ExecutionRoleName", @@ -6065,7 +6065,7 @@ }, "AdministrationRoleARN":{ "shape":"RoleARN", - "documentation":"

      The Amazon Resource Name (ARN) of the IAM role used to perform this stack set operation.

      Use customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see Define Permissions for Multiple Administrators in the CloudFormation User Guide.

      " + "documentation":"

      The Amazon Resource Name (ARN) of the IAM role used to perform this stack set operation.

      Use customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see Define Permissions for Multiple Administrators in the CloudFormation User Guide.

      " }, "ExecutionRoleName":{ "shape":"ExecutionRoleName", @@ -6964,7 +6964,7 @@ }, "RetainExceptOnCreate":{ "shape":"RetainExceptOnCreate", - "documentation":"

      This deletion policy deletes newly created resources, but retains existing resources, when a stack operation is rolled back. This ensures new, empty, and unused resources are deleted, while critical resources and their data are retained. RetainExceptOnCreate can be specified for any resource that supports the DeletionPolicy attribute.

      " + "documentation":"

      When set to true, newly created resources are deleted when the operation rolls back. This includes newly created resources marked with a deletion policy of Retain.

      Default: false

      " } }, "documentation":"

      The input for an UpdateStack action.

      " @@ -7060,7 +7060,7 @@ }, "Capabilities":{ "shape":"Capabilities", - "documentation":"

      In some cases, you must explicitly acknowledge that your stack template contains certain capabilities in order for CloudFormation to update the stack set and its associated stack instances.

      • CAPABILITY_IAM and CAPABILITY_NAMED_IAM

        Some stack templates might include resources that can affect permissions in your Amazon Web Services account; for example, by creating new Identity and Access Management (IAM) users. For those stacks sets, you must explicitly acknowledge this by specifying one of these capabilities.

        The following IAM resources require you to specify either the CAPABILITY_IAM or CAPABILITY_NAMED_IAM capability.

        • If you have IAM resources, you can specify either capability.

        • If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM.

        • If you don't specify either of these capabilities, CloudFormation returns an InsufficientCapabilities error.

        If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary.

        For more information, see Acknowledging IAM Resources in CloudFormation Templates.

      • CAPABILITY_AUTO_EXPAND

        Some templates reference macros. If your stack set template references one or more macros, you must update the stack set directly from the processed template, without first reviewing the resulting changes in a change set. To update the stack set directly, you must acknowledge this capability. For more information, see Using CloudFormation Macros to Perform Custom Processing on Templates.

        Stack sets with service-managed permissions do not currently support the use of macros in templates. (This includes the AWS::Include and AWS::Serverless transforms, which are macros hosted by CloudFormation.) Even if you specify this capability for a stack set with service-managed permissions, if you reference a macro in your template the stack set operation will fail.

      " + "documentation":"

      In some cases, you must explicitly acknowledge that your stack template contains certain capabilities in order for CloudFormation to update the stack set and its associated stack instances.

      • CAPABILITY_IAM and CAPABILITY_NAMED_IAM

        Some stack templates might include resources that can affect permissions in your Amazon Web Services account; for example, by creating new Identity and Access Management (IAM) users. For those stacks sets, you must explicitly acknowledge this by specifying one of these capabilities.

        The following IAM resources require you to specify either the CAPABILITY_IAM or CAPABILITY_NAMED_IAM capability.

        • If you have IAM resources, you can specify either capability.

        • If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM.

        • If you don't specify either of these capabilities, CloudFormation returns an InsufficientCapabilities error.

        If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary.

        For more information, see Acknowledging IAM Resources in CloudFormation Templates.

      • CAPABILITY_AUTO_EXPAND

        Some templates reference macros. If your stack set template references one or more macros, you must update the stack set directly from the processed template, without first reviewing the resulting changes in a change set. To update the stack set directly, you must acknowledge this capability. For more information, see Using CloudFormation Macros to Perform Custom Processing on Templates.

        Stack sets with service-managed permissions do not currently support the use of macros in templates. (This includes the AWS::Include and AWS::Serverless transforms, which are macros hosted by CloudFormation.) Even if you specify this capability for a stack set with service-managed permissions, if you reference a macro in your template the stack set operation will fail.

      " }, "Tags":{ "shape":"Tags", @@ -7072,7 +7072,7 @@ }, "AdministrationRoleARN":{ "shape":"RoleARN", - "documentation":"

      The Amazon Resource Name (ARN) of the IAM role to use to update this stack set.

      Specify an IAM role only if you are using customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see Granting Permissions for Stack Set Operations in the CloudFormation User Guide.

      If you specified a customized administrator role when you created the stack set, you must specify a customized administrator role, even if it is the same customized administrator role used with this stack set previously.

      " + "documentation":"

      The Amazon Resource Name (ARN) of the IAM role to use to update this stack set.

      Specify an IAM role only if you are using customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see Granting Permissions for Stack Set Operations in the CloudFormation User Guide.

      If you specified a customized administrator role when you created the stack set, you must specify a customized administrator role, even if it is the same customized administrator role used with this stack set previously.

      " }, "ExecutionRoleName":{ "shape":"ExecutionRoleName", diff --git a/services/cloudfront/pom.xml b/services/cloudfront/pom.xml index 05cd7a98d04c..0be74e529c98 100644 --- a/services/cloudfront/pom.xml +++ b/services/cloudfront/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT cloudfront AWS Java SDK :: Services :: Amazon CloudFront @@ -67,5 +67,10 @@ equalsverifier test + + net.bytebuddy + byte-buddy + test + diff --git a/services/cloudfront/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/cloudfront/src/main/resources/codegen-resources/endpoint-rule-set.json index 07a287ff6fef..cbd106d141d0 100644 --- a/services/cloudfront/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/cloudfront/src/main/resources/codegen-resources/endpoint-rule-set.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,393 +115,353 @@ { "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://cloudfront.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "cloudfront", - "signingRegion": "us-east-1" - } - ] + "ref": "UseDualStack" }, - "headers": {} - }, - "type": "endpoint" + false + ] + } + ], + "endpoint": { + "url": "https://cloudfront.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "cloudfront", + "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" + "name" ] }, + "aws" + ] + }, + { + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] + "ref": "UseFIPS" }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - } - ], - "endpoint": { - "url": "https://cloudfront-fips.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "cloudfront", - "signingRegion": "us-east-1" - } - ] + "ref": "UseDualStack" }, - "headers": {} - }, - "type": "endpoint" + false + ] + } + ], + "endpoint": { + "url": "https://cloudfront-fips.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "cloudfront", + "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://cloudfront.cn-northwest-1.amazonaws.com.cn", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "cloudfront", + "signingRegion": "cn-northwest-1" } - ], - "endpoint": { - "url": "https://cloudfront.cn-northwest-1.amazonaws.com.cn", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "cloudfront", - "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://cloudfront-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://cloudfront-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://cloudfront-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://cloudfront-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://cloudfront.{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://cloudfront.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://cloudfront.{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://cloudfront.{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/services/cloudhsm/pom.xml b/services/cloudhsm/pom.xml index 51ce389f6e89..b149c6c0e9e3 100644 --- a/services/cloudhsm/pom.xml +++ b/services/cloudhsm/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT cloudhsm AWS Java SDK :: Services :: AWS CloudHSM diff --git a/services/cloudhsmv2/pom.xml b/services/cloudhsmv2/pom.xml index b2c902e48df0..4d2fc81edf32 100644 --- a/services/cloudhsmv2/pom.xml +++ b/services/cloudhsmv2/pom.xml @@ -20,7 +20,7 @@ services software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 cloudhsmv2 diff --git a/services/cloudhsmv2/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/cloudhsmv2/src/main/resources/codegen-resources/endpoint-rule-set.json index ed7866f88062..e866a7977e40 100644 --- a/services/cloudhsmv2/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/cloudhsmv2/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,227 +140,225 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://cloudhsmv2-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] }, { "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] - }, + } + ], + "type": "tree", + "rules": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://cloudhsmv2-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://cloudhsmv2-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], "type": "tree", "rules": [ { "conditions": [], "endpoint": { - "url": "https://cloudhsmv2-fips.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://cloudhsmv2.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, - { - "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", + "fn": "stringEquals", "argv": [ - true, + "aws", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsDualStack" + "name" ] } ] } ], - "type": "tree", - "rules": [ + "endpoint": { + "url": "https://cloudhsmv2.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ { - "conditions": [], - "endpoint": { - "url": "https://cloudhsmv2.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "fn": "stringEquals", + "argv": [ + "aws-us-gov", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] } - ] + ], + "endpoint": { + "url": "https://cloudhsmv2.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://cloudhsmv2.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://cloudhsmv2.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/cloudhsmv2/src/main/resources/codegen-resources/endpoint-tests.json b/services/cloudhsmv2/src/main/resources/codegen-resources/endpoint-tests.json index 3a4339efde5f..811b511cf53a 100644 --- a/services/cloudhsmv2/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/cloudhsmv2/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,1316 +1,554 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.me-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.me-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2.me-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2.me-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2.ap-northeast-2.api.aws" + "url": "https://cloudhsmv2.af-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "af-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2.ap-northeast-2.amazonaws.com" + "url": "https://cloudhsmv2.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "ap-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2-fips.ap-northeast-1.api.aws" + "url": "https://cloudhsmv2.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, "Region": "ap-northeast-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2-fips.ap-northeast-1.amazonaws.com" + "url": "https://cloudhsmv2.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2.ap-northeast-1.api.aws" + "url": "https://cloudhsmv2.ap-northeast-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "ap-northeast-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2.ap-northeast-1.amazonaws.com" + "url": "https://cloudhsmv2.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2-fips.me-south-1.api.aws" + "url": "https://cloudhsmv2.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2-fips.me-south-1.amazonaws.com" + "url": "https://cloudhsmv2.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": true + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2.me-south-1.api.aws" + "url": "https://cloudhsmv2.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": false + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2.me-south-1.amazonaws.com" + "url": "https://cloudhsmv2.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": false + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2-fips.sa-east-1.api.aws" + "url": "https://cloudhsmv2.eu-north-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": true + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2-fips.sa-east-1.amazonaws.com" + "url": "https://cloudhsmv2.eu-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": true + "Region": "eu-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2.sa-east-1.api.aws" + "url": "https://cloudhsmv2.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": false + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2.sa-east-1.amazonaws.com" + "url": "https://cloudhsmv2.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": false + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2-fips.ap-east-1.api.aws" + "url": "https://cloudhsmv2.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": true + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2-fips.ap-east-1.amazonaws.com" + "url": "https://cloudhsmv2.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": true + "Region": "me-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2.ap-east-1.api.aws" + "url": "https://cloudhsmv2.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": false + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2.ap-east-1.amazonaws.com" + "url": "https://cloudhsmv2.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2-fips.us-gov-west-1.api.aws" + "url": "https://cloudhsmv2.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2-fips.us-gov-west-1.amazonaws.com" + "url": "https://cloudhsmv2.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2.us-gov-west-1.api.aws" + "url": "https://cloudhsmv2.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2.us-gov-west-1.amazonaws.com" + "url": "https://cloudhsmv2-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2-fips.ap-southeast-1.api.aws" + "url": "https://cloudhsmv2-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2-fips.ap-southeast-1.amazonaws.com" + "url": "https://cloudhsmv2.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2.ap-southeast-1.api.aws" + "url": "https://cloudhsmv2-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2.ap-southeast-1.amazonaws.com" + "url": "https://cloudhsmv2-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2-fips.ap-southeast-2.api.aws" + "url": "https://cloudhsmv2.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2-fips.ap-southeast-2.amazonaws.com" + "url": "https://cloudhsmv2.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2.ap-southeast-2.api.aws" + "url": "https://cloudhsmv2.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2.ap-southeast-2.amazonaws.com" + "url": "https://cloudhsmv2.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2-fips.ap-southeast-3.api.aws" + "url": "https://cloudhsmv2-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-3", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2-fips.ap-southeast-3.amazonaws.com" + "url": "https://cloudhsmv2-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-3", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2.ap-southeast-3.api.aws" + "url": "https://cloudhsmv2.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-3", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://cloudhsmv2.ap-southeast-3.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-3", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2-fips.us-east-1.api.aws" + "url": "https://cloudhsmv2-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2.us-east-1.api.aws" + "url": "https://cloudhsmv2.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://cloudhsmv2.us-east-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2-fips.us-east-2.api.aws" + "url": "https://cloudhsmv2-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://cloudhsmv2-fips.us-east-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2.us-east-2.api.aws" + "url": "https://cloudhsmv2.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://cloudhsmv2.us-east-2.amazonaws.com" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1320,9 +558,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1332,11 +570,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/cloudsearch/pom.xml b/services/cloudsearch/pom.xml index ffd492b48b7d..c498be3114d9 100644 --- a/services/cloudsearch/pom.xml +++ b/services/cloudsearch/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT cloudsearch AWS Java SDK :: Services :: Amazon CloudSearch diff --git a/services/cloudsearch/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/cloudsearch/src/main/resources/codegen-resources/endpoint-rule-set.json index 34f002d18783..215b61922433 100644 --- a/services/cloudsearch/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/cloudsearch/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://cloudsearch-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://cloudsearch-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://cloudsearch.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://cloudsearch.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://cloudsearch.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://cloudsearch.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/cloudsearch/src/main/resources/codegen-resources/endpoint-tests.json b/services/cloudsearch/src/main/resources/codegen-resources/endpoint-tests.json index c3ea7e2abaa5..44edfb8d8cc3 100644 --- a/services/cloudsearch/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/cloudsearch/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,146 +1,120 @@ { "testCases": [ { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudsearch-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudsearch-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudsearch.eu-central-1.api.aws" + "url": "https://cloudsearch.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudsearch.eu-central-1.amazonaws.com" + "url": "https://cloudsearch.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudsearch-fips.us-west-1.api.aws" + "url": "https://cloudsearch.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudsearch-fips.us-west-1.amazonaws.com" + "url": "https://cloudsearch.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudsearch.us-west-1.api.aws" + "url": "https://cloudsearch.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudsearch.us-west-1.amazonaws.com" + "url": "https://cloudsearch.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": false + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudsearch-fips.us-west-2.api.aws" + "url": "https://cloudsearch.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudsearch-fips.us-west-2.amazonaws.com" + "url": "https://cloudsearch.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudsearch.us-west-2.api.aws" + "url": "https://cloudsearch.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -151,386 +125,274 @@ } }, "params": { - "UseDualStack": false, "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudsearch-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudsearch-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudsearch.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudsearch.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudsearch-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudsearch-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cloudsearch.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://cloudsearch.ap-northeast-2.amazonaws.com" + "url": "https://cloudsearch-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudsearch-fips.ap-northeast-1.api.aws" + "url": "https://cloudsearch-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://cloudsearch-fips.ap-northeast-1.amazonaws.com" + "url": "https://cloudsearch.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://cloudsearch.ap-northeast-1.api.aws" + "url": "https://cloudsearch-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudsearch.ap-northeast-1.amazonaws.com" + "url": "https://cloudsearch-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://cloudsearch-fips.sa-east-1.api.aws" + "url": "https://cloudsearch.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudsearch-fips.sa-east-1.amazonaws.com" + "url": "https://cloudsearch.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://cloudsearch.sa-east-1.api.aws" + "url": "https://cloudsearch-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudsearch.sa-east-1.amazonaws.com" + "url": "https://cloudsearch-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://cloudsearch-fips.ap-southeast-1.api.aws" + "url": "https://cloudsearch.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudsearch-fips.ap-southeast-1.amazonaws.com" + "url": "https://cloudsearch.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://cloudsearch.ap-southeast-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudsearch.ap-southeast-1.amazonaws.com" + "url": "https://cloudsearch-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://cloudsearch-fips.ap-southeast-2.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudsearch-fips.ap-southeast-2.amazonaws.com" + "url": "https://cloudsearch.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://cloudsearch.ap-southeast-2.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudsearch.ap-southeast-2.amazonaws.com" + "url": "https://cloudsearch-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://cloudsearch-fips.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cloudsearch-fips.us-east-1.amazonaws.com" + "url": "https://cloudsearch.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://cloudsearch.us-east-1.api.aws" + "url": "https://example.com" } }, "params": { - "UseDualStack": true, "Region": "us-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cloudsearch.us-east-1.amazonaws.com" - } - }, - "params": { + "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -540,9 +402,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -552,11 +414,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/cloudsearchdomain/pom.xml b/services/cloudsearchdomain/pom.xml index de926a0038f3..86e694f96d11 100644 --- a/services/cloudsearchdomain/pom.xml +++ b/services/cloudsearchdomain/pom.xml @@ -22,7 +22,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT cloudsearchdomain AWS Java SDK :: Services :: Amazon CloudSearch Domain diff --git a/services/cloudsearchdomain/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/cloudsearchdomain/src/main/resources/codegen-resources/endpoint-rule-set.json index a1d65a7091e3..662a2d24b68c 100644 --- a/services/cloudsearchdomain/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/cloudsearchdomain/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "parseURL", + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,221 +140,175 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://cloudsearchdomain-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] }, { "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] - }, + } + ], + "type": "tree", + "rules": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://cloudsearchdomain-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://cloudsearchdomain-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://cloudsearchdomain-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://cloudsearchdomain.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://cloudsearchdomain.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://cloudsearchdomain.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://cloudsearchdomain.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/cloudsearchdomain/src/main/resources/codegen-resources/endpoint-tests.json b/services/cloudsearchdomain/src/main/resources/codegen-resources/endpoint-tests.json index 91c92af29cd0..e605ba667e46 100644 --- a/services/cloudsearchdomain/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/cloudsearchdomain/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,16 +1,281 @@ { "testCases": [ { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://cloudsearchdomain-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cloudsearchdomain-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://cloudsearchdomain.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cloudsearchdomain.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://cloudsearchdomain-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cloudsearchdomain-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://cloudsearchdomain.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cloudsearchdomain.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://cloudsearchdomain-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cloudsearchdomain-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://cloudsearchdomain.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cloudsearchdomain.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cloudsearchdomain-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cloudsearchdomain.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cloudsearchdomain-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cloudsearchdomain.us-isob-east-1.sc2s.sgov.gov" + } + }, + "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": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -20,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -32,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/cloudtrail/pom.xml b/services/cloudtrail/pom.xml index 36248548ce31..f4c9ea7fc2b4 100644 --- a/services/cloudtrail/pom.xml +++ b/services/cloudtrail/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT cloudtrail AWS Java SDK :: Services :: AWS CloudTrail diff --git a/services/cloudtraildata/pom.xml b/services/cloudtraildata/pom.xml index 80e09f557e43..76340225451e 100644 --- a/services/cloudtraildata/pom.xml +++ b/services/cloudtraildata/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT cloudtraildata AWS Java SDK :: Services :: Cloud Trail Data diff --git a/services/cloudtraildata/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/cloudtraildata/src/main/resources/codegen-resources/endpoint-rule-set.json index a6a78e8737cc..a8833b95e164 100644 --- a/services/cloudtraildata/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/cloudtraildata/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,14 +45,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -62,67 +67,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -131,154 +111,215 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + }, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true ] } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], + ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://cloudtrail-data-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://cloudtrail-data-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], + ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://cloudtrail-data-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://cloudtrail-data-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] - } - ] - }, - { - "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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://cloudtrail-data.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], "type": "tree", @@ -286,7 +327,7 @@ { "conditions": [], "endpoint": { - "url": "https://cloudtrail-data.{Region}.{PartitionResult#dualStackDnsSuffix}", + "url": "https://cloudtrail-data.{Region}.{PartitionResult#dnsSuffix}", "properties": {}, "headers": {} }, @@ -295,28 +336,13 @@ ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } ] }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://cloudtrail-data.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } diff --git a/services/cloudtraildata/src/main/resources/codegen-resources/endpoint-tests.json b/services/cloudtraildata/src/main/resources/codegen-resources/endpoint-tests.json index a1ba4da405d3..86d94a93a6d4 100644 --- a/services/cloudtraildata/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/cloudtraildata/src/main/resources/codegen-resources/endpoint-tests.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://cloudtrail-data-fips.us-gov-east-1.api.aws" + "url": "https://cloudtrail-data-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": 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://cloudtrail-data-fips.us-gov-east-1.amazonaws.com" + "url": "https://cloudtrail-data-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": true, - "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://cloudtrail-data.us-gov-east-1.api.aws" + "url": "https://cloudtrail-data.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": false, - "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://cloudtrail-data.us-gov-east-1.amazonaws.com" + "url": "https://cloudtrail-data.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -60,9 +60,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -73,9 +73,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -86,9 +86,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -99,109 +99,109 @@ } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": 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://cloudtrail-data-fips.us-gov-east-1.api.aws" + } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": 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://cloudtrail-data-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://cloudtrail-data-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": true, - "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://cloudtrail-data.us-gov-east-1.api.aws" + } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": false, - "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://cloudtrail-data.us-iso-east-1.c2s.ic.gov" + "url": "https://cloudtrail-data.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": 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://cloudtrail-data-fips.us-east-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, + "Region": "us-iso-east-1", "UseFIPS": 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://cloudtrail-data-fips.us-east-1.amazonaws.com" + "url": "https://cloudtrail-data-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": true, - "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://cloudtrail-data.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, + "Region": "us-iso-east-1", "UseFIPS": false, - "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://cloudtrail-data.us-east-1.amazonaws.com" + "url": "https://cloudtrail-data.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": 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": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { @@ -223,9 +223,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -234,9 +234,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { @@ -247,22 +247,35 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "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, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { "UseFIPS": false, - "Region": "us-east-1", + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -272,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -284,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/cloudwatch/pom.xml b/services/cloudwatch/pom.xml index 8003fcedf00f..18c7fcf1a30b 100644 --- a/services/cloudwatch/pom.xml +++ b/services/cloudwatch/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT cloudwatch AWS Java SDK :: Services :: Amazon CloudWatch diff --git a/services/cloudwatchevents/pom.xml b/services/cloudwatchevents/pom.xml index c2ea86e5057f..ca6387f3c1e5 100644 --- a/services/cloudwatchevents/pom.xml +++ b/services/cloudwatchevents/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT cloudwatchevents AWS Java SDK :: Services :: Amazon CloudWatch Events diff --git a/services/cloudwatchevents/src/main/resources/codegen-resources/service-2.json b/services/cloudwatchevents/src/main/resources/codegen-resources/service-2.json index 3a7897f179a5..7e9236edbb43 100644 --- a/services/cloudwatchevents/src/main/resources/codegen-resources/service-2.json +++ b/services/cloudwatchevents/src/main/resources/codegen-resources/service-2.json @@ -981,6 +981,13 @@ "min":1, "pattern":"^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$" }, + "AuthHeaderParametersSensitive":{ + "type":"string", + "max":512, + "min":1, + "pattern":"^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", + "sensitive":true + }, "AwsVpcConfiguration":{ "type":"structure", "required":["Subnets"], @@ -1245,7 +1252,7 @@ "documentation":"

      The key for the parameter.

      " }, "Value":{ - "shape":"String", + "shape":"SensitiveString", "documentation":"

      The value associated with the key.

      " }, "IsValueSecret":{ @@ -1274,7 +1281,7 @@ "documentation":"

      The key for the parameter.

      " }, "Value":{ - "shape":"HeaderValue", + "shape":"HeaderValueSensitive", "documentation":"

      The value associated with the key.

      " }, "IsValueSecret":{ @@ -1362,7 +1369,7 @@ "documentation":"

      The key for a query string parameter.

      " }, "Value":{ - "shape":"QueryStringValue", + "shape":"QueryStringValueSensitive", "documentation":"

      The value associated with the key for the query string parameter.

      " }, "IsValueSecret":{ @@ -1517,7 +1524,7 @@ "documentation":"

      The name of the API key to use for authorization.

      " }, "ApiKeyValue":{ - "shape":"AuthHeaderParameters", + "shape":"AuthHeaderParametersSensitive", "documentation":"

      The value for the API key to use for authorization.

      " } }, @@ -1557,7 +1564,7 @@ "documentation":"

      The user name to use for Basic authorization.

      " }, "Password":{ - "shape":"AuthHeaderParameters", + "shape":"AuthHeaderParametersSensitive", "documentation":"

      The password associated with the user name to use for Basic authorization.

      " } }, @@ -1575,7 +1582,7 @@ "documentation":"

      The client ID to use for OAuth authorization for the connection.

      " }, "ClientSecret":{ - "shape":"AuthHeaderParameters", + "shape":"AuthHeaderParametersSensitive", "documentation":"

      The client secret associated with the client ID to use for OAuth authorization for the connection.

      " } }, @@ -2475,6 +2482,12 @@ "max":512, "pattern":"^[ \\t]*[\\x20-\\x7E]+([ \\t]+[\\x20-\\x7E]+)*[ \\t]*$" }, + "HeaderValueSensitive":{ + "type":"string", + "max":512, + "pattern":"^[ \\t]*[\\x20-\\x7E]+([ \\t]+[\\x20-\\x7E]+)*[ \\t]*$", + "sensitive":true + }, "HttpParameters":{ "type":"structure", "members":{ @@ -3477,6 +3490,12 @@ "max":512, "pattern":"[^\\x00-\\x09\\x0B\\x0C\\x0E-\\x1F\\x7F]+" }, + "QueryStringValueSensitive":{ + "type":"string", + "max":512, + "pattern":"[^\\x00-\\x09\\x0B\\x0C\\x0E-\\x1F\\x7F]+", + "sensitive":true + }, "RedshiftDataParameters":{ "type":"structure", "required":[ @@ -3916,6 +3935,10 @@ "min":20, "pattern":"^arn:aws([a-z]|\\-)*:secretsmanager:([a-z]|\\d|\\-)*:([0-9]{12})?:secret:[\\/_+=\\.@\\-A-Za-z0-9]+$" }, + "SensitiveString":{ + "type":"string", + "sensitive":true + }, "Sql":{ "type":"string", "max":100000, @@ -4338,7 +4361,7 @@ "documentation":"

      The name of the API key to use for authorization.

      " }, "ApiKeyValue":{ - "shape":"AuthHeaderParameters", + "shape":"AuthHeaderParametersSensitive", "documentation":"

      The value associated with teh API key to use for authorization.

      " } }, @@ -4374,7 +4397,7 @@ "documentation":"

      The user name to use for Basic authorization.

      " }, "Password":{ - "shape":"AuthHeaderParameters", + "shape":"AuthHeaderParametersSensitive", "documentation":"

      The password associated with the user name to use for Basic authorization.

      " } }, @@ -4388,7 +4411,7 @@ "documentation":"

      The client ID to use for OAuth authorization.

      " }, "ClientSecret":{ - "shape":"AuthHeaderParameters", + "shape":"AuthHeaderParametersSensitive", "documentation":"

      The client secret assciated with the client ID to use for OAuth authorization.

      " } }, diff --git a/services/cloudwatchlogs/pom.xml b/services/cloudwatchlogs/pom.xml index 436815aa5c34..3655a89fd626 100644 --- a/services/cloudwatchlogs/pom.xml +++ b/services/cloudwatchlogs/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT cloudwatchlogs AWS Java SDK :: Services :: Amazon CloudWatch Logs diff --git a/services/cloudwatchlogs/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/cloudwatchlogs/src/main/resources/codegen-resources/endpoint-rule-set.json index 29f4692677a2..e54c13da8343 100644 --- a/services/cloudwatchlogs/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/cloudwatchlogs/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,92 +140,83 @@ { "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://logs-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://logs-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 + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], @@ -221,168 +225,128 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "Region" + }, + "us-gov-east-1" ] } ], - "type": "tree", - "rules": [ + "endpoint": { + "url": "https://logs.us-gov-east-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-east-1" - ] - } - ], - "endpoint": { - "url": "https://logs.us-gov-east-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, + "fn": "stringEquals", + "argv": [ { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-west-1" - ] - } - ], - "endpoint": { - "url": "https://logs.us-gov-west-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "ref": "Region" }, - { - "conditions": [], - "endpoint": { - "url": "https://logs-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "us-gov-west-1" ] } - ] + ], + "endpoint": { + "url": "https://logs.us-gov-west-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://logs-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://logs.{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://logs.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://logs.{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://logs.{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/services/cloudwatchlogs/src/main/resources/codegen-resources/service-2.json b/services/cloudwatchlogs/src/main/resources/codegen-resources/service-2.json index 3a1d7cc00833..c5f2359e243e 100644 --- a/services/cloudwatchlogs/src/main/resources/codegen-resources/service-2.json +++ b/services/cloudwatchlogs/src/main/resources/codegen-resources/service-2.json @@ -74,7 +74,7 @@ {"shape":"OperationAbortedException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

      Creates a log group with the specified name. You can create up to 20,000 log groups per account.

      You must use the following guidelines when naming a log group:

      • Log group names must be unique within a Region for an Amazon Web Services account.

      • Log group names can be between 1 and 512 characters long.

      • Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), '.' (period), and '#' (number sign)

      When you create a log group, by default the log events in the log group do not expire. To set a retention policy so that events expire and are deleted after a specified time, use PutRetentionPolicy.

      If you associate an KMS key with the log group, ingested data is encrypted using the KMS key. This association is stored as long as the data encrypted with the KMS key is still within CloudWatch Logs. This enables CloudWatch Logs to decrypt this data whenever it is requested.

      If you attempt to associate a KMS key with the log group but the KMS key does not exist or the KMS key is disabled, you receive an InvalidParameterException error.

      CloudWatch Logs supports only symmetric KMS keys. Do not associate an asymmetric KMS key with your log group. For more information, see Using Symmetric and Asymmetric Keys.

      " + "documentation":"

      Creates a log group with the specified name. You can create up to 1,000,000 log groups per Region per account.

      You must use the following guidelines when naming a log group:

      • Log group names must be unique within a Region for an Amazon Web Services account.

      • Log group names can be between 1 and 512 characters long.

      • Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), '.' (period), and '#' (number sign)

      When you create a log group, by default the log events in the log group do not expire. To set a retention policy so that events expire and are deleted after a specified time, use PutRetentionPolicy.

      If you associate an KMS key with the log group, ingested data is encrypted using the KMS key. This association is stored as long as the data encrypted with the KMS key is still within CloudWatch Logs. This enables CloudWatch Logs to decrypt this data whenever it is requested.

      If you attempt to associate a KMS key with the log group but the KMS key does not exist or the KMS key is disabled, you receive an InvalidParameterException error.

      CloudWatch Logs supports only symmetric KMS keys. Do not associate an asymmetric KMS key with your log group. For more information, see Using Symmetric and Asymmetric Keys.

      " }, "CreateLogStream":{ "name":"CreateLogStream", @@ -619,7 +619,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

      Creates or updates a metric filter and associates it with the specified log group. With metric filters, you can configure rules to extract metric data from log events ingested through PutLogEvents.

      The maximum number of metric filters that can be associated with a log group is 100.

      When you create a metric filter, you can also optionally assign a unit and dimensions to the metric that is created.

      Metrics extracted from log events are charged as custom metrics. To prevent unexpected high charges, do not specify high-cardinality fields such as IPAddress or requestID as dimensions. Each different value found for a dimension is treated as a separate metric and accrues charges as a separate custom metric.

      CloudWatch Logs disables a metric filter if it generates 1,000 different name/value pairs for your specified dimensions within a certain amount of time. This helps to prevent accidental high charges.

      You can also set up a billing alarm to alert you if your charges are higher than expected. For more information, see Creating a Billing Alarm to Monitor Your Estimated Amazon Web Services Charges.

      " + "documentation":"

      Creates or updates a metric filter and associates it with the specified log group. With metric filters, you can configure rules to extract metric data from log events ingested through PutLogEvents.

      The maximum number of metric filters that can be associated with a log group is 100.

      When you create a metric filter, you can also optionally assign a unit and dimensions to the metric that is created.

      Metrics extracted from log events are charged as custom metrics. To prevent unexpected high charges, do not specify high-cardinality fields such as IPAddress or requestID as dimensions. Each different value found for a dimension is treated as a separate metric and accrues charges as a separate custom metric.

      CloudWatch Logs might disable a metric filter if it generates 1,000 different name/value pairs for your specified dimensions within one hour.

      You can also set up a billing alarm to alert you if your charges are higher than expected. For more information, see Creating a Billing Alarm to Monitor Your Estimated Amazon Web Services Charges.

      " }, "PutQueryDefinition":{ "name":"PutQueryDefinition", @@ -665,7 +665,7 @@ {"shape":"OperationAbortedException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

      Sets the retention of the specified log group. With a retention policy, you can configure the number of days for which to retain log events in the specified log group.

      CloudWatch Logs doesn’t immediately delete log events when they reach their retention setting. It typically takes up to 72 hours after that before log events are deleted, but in rare situations might take longer.

      To illustrate, imagine that you change a log group to have a longer retention setting when it contains log events that are past the expiration date, but haven’t been deleted. Those log events will take up to 72 hours to be deleted after the new retention date is reached. To make sure that log data is deleted permanently, keep a log group at its lower retention setting until 72 hours after the previous retention period ends. Alternatively, wait to change the retention setting until you confirm that the earlier log events are deleted.

      " + "documentation":"

      Sets the retention of the specified log group. With a retention policy, you can configure the number of days for which to retain log events in the specified log group.

      CloudWatch Logs doesn’t immediately delete log events when they reach their retention setting. It typically takes up to 72 hours after that before log events are deleted, but in rare situations might take longer.

      To illustrate, imagine that you change a log group to have a longer retention setting when it contains log events that are past the expiration date, but haven’t been deleted. Those log events will take up to 72 hours to be deleted after the new retention date is reached. To make sure that log data is deleted permanently, keep a log group at its lower retention setting until 72 hours after the previous retention period ends. Alternatively, wait to change the retention setting until you confirm that the earlier log events are deleted.

      When log events reach their retention setting they are marked for deletion. After they are marked for deletion, they do not add to your archival storage costs anymore, even if they are not actually deleted until later. These log events marked for deletion are also not included when you use an API to retrieve the storedBytes value to see how many bytes a log group is storing.

      " }, "PutSubscriptionFilter":{ "name":"PutSubscriptionFilter", @@ -875,6 +875,12 @@ } } }, + "ClientToken":{ + "type":"string", + "max":128, + "min":36, + "pattern":"\\S{36,128}" + }, "CreateExportTaskRequest":{ "type":"structure", "required":[ @@ -2561,6 +2567,11 @@ "queryString":{ "shape":"QueryDefinitionString", "documentation":"

      The query string to use for this definition. For more information, see CloudWatch Logs Insights Query Syntax.

      " + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

      Used as an idempotency token, to avoid returning an exception if the service receives the same request twice because of a network error.

      ", + "idempotencyToken":true } } }, diff --git a/services/codeartifact/pom.xml b/services/codeartifact/pom.xml index 46673af12feb..d0d109f87a0f 100644 --- a/services/codeartifact/pom.xml +++ b/services/codeartifact/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT codeartifact AWS Java SDK :: Services :: Codeartifact diff --git a/services/codeartifact/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/codeartifact/src/main/resources/codegen-resources/endpoint-rule-set.json index 19c036173a9e..a2bfb01a9e14 100644 --- a/services/codeartifact/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/codeartifact/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://codeartifact-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://codeartifact-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://codeartifact-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://codeartifact-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://codeartifact.{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://codeartifact.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://codeartifact.{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://codeartifact.{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/services/codeartifact/src/main/resources/codegen-resources/service-2.json b/services/codeartifact/src/main/resources/codegen-resources/service-2.json index 040adcd6b7a5..62ccaafa93b5 100644 --- a/services/codeartifact/src/main/resources/codegen-resources/service-2.json +++ b/services/codeartifact/src/main/resources/codegen-resources/service-2.json @@ -2631,7 +2631,8 @@ "pypi", "maven", "nuget", - "generic" + "generic", + "swift" ] }, "PackageName":{ diff --git a/services/codebuild/pom.xml b/services/codebuild/pom.xml index 802324e09f48..ad58bc26babf 100644 --- a/services/codebuild/pom.xml +++ b/services/codebuild/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT codebuild AWS Java SDK :: Services :: AWS Code Build diff --git a/services/codebuild/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/codebuild/src/main/resources/codegen-resources/endpoint-rule-set.json index b9abd3d5ee21..3887ed33c5f8 100644 --- a/services/codebuild/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/codebuild/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://codebuild-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://codebuild-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://codebuild.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://codebuild.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://codebuild.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://codebuild.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/codebuild/src/main/resources/codegen-resources/endpoint-tests.json b/services/codebuild/src/main/resources/codegen-resources/endpoint-tests.json index 506a670fede8..ad1d35665975 100644 --- a/services/codebuild/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/codebuild/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,250 +1,120 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codebuild.us-gov-east-1.api.aws" + "url": "https://codebuild.af-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false + "Region": "af-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codebuild.us-gov-east-1.amazonaws.com" + "url": "https://codebuild.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false + "Region": "ap-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codebuild-fips.me-central-1.api.aws" + "url": "https://codebuild.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "me-central-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codebuild-fips.me-central-1.amazonaws.com" + "url": "https://codebuild.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "me-central-1", - "UseFIPS": true + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codebuild.me-central-1.api.aws" + "url": "https://codebuild.ap-northeast-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "me-central-1", - "UseFIPS": false + "Region": "ap-northeast-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codebuild.me-central-1.amazonaws.com" + "url": "https://codebuild.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "me-central-1", - "UseFIPS": false + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codebuild-fips.ca-central-1.api.aws" + "url": "https://codebuild.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codebuild-fips.ca-central-1.amazonaws.com" + "url": "https://codebuild.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codebuild.ca-central-1.api.aws" + "url": "https://codebuild.ap-southeast-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false + "Region": "ap-southeast-3", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -255,48 +125,9 @@ } }, "params": { - "UseDualStack": false, "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -307,1197 +138,421 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "UseDualStack": true, - "Region": "us-iso-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.us-iso-west-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-iso-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "UseDualStack": true, - "Region": "us-iso-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild.us-iso-west-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-iso-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codebuild.us-west-1.api.aws" + "url": "https://codebuild.eu-north-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.ap-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.ap-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild.ap-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild.ap-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codebuild.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codebuild-fips.us-gov-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codebuild-fips.us-gov-west-1.amazonaws.com" + "url": "https://codebuild.eu-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "eu-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codebuild.us-gov-west-1.api.aws" + "url": "https://codebuild.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codebuild.us-gov-west-1.amazonaws.com" + "url": "https://codebuild.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codebuild-fips.ap-southeast-1.api.aws" + "url": "https://codebuild.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codebuild-fips.ap-southeast-1.amazonaws.com" + "url": "https://codebuild.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "me-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codebuild.ap-southeast-1.api.aws" + "url": "https://codebuild.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codebuild.ap-southeast-1.amazonaws.com" + "url": "https://codebuild.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codebuild-fips.ap-southeast-2.api.aws" + "url": "https://codebuild-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codebuild-fips.ap-southeast-2.amazonaws.com" + "url": "https://codebuild.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codebuild.ap-southeast-2.api.aws" + "url": "https://codebuild-fips.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codebuild.ap-southeast-2.amazonaws.com" + "url": "https://codebuild.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + "endpoint": { + "url": "https://codebuild-fips.us-west-1.amazonaws.com" + } }, "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": true + "Region": "us-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codebuild-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://codebuild.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": true + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" + "endpoint": { + "url": "https://codebuild-fips.us-west-2.amazonaws.com" + } }, "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codebuild.us-iso-east-1.c2s.ic.gov" + "url": "https://codebuild-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codebuild-fips.ap-southeast-3.api.aws" + "url": "https://codebuild.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-3", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codebuild-fips.ap-southeast-3.amazonaws.com" + "url": "https://codebuild.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-3", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codebuild.ap-southeast-3.api.aws" + "url": "https://codebuild.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-3", - "UseFIPS": false + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codebuild.ap-southeast-3.amazonaws.com" + "url": "https://codebuild-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-3", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codebuild-fips.us-east-1.api.aws" + "url": "https://codebuild-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codebuild-fips.us-east-1.amazonaws.com" + "url": "https://codebuild.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codebuild.us-east-1.api.aws" + "url": "https://codebuild.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codebuild.us-east-1.amazonaws.com" + "url": "https://codebuild-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codebuild-fips.us-east-2.api.aws" + "url": "https://codebuild.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codebuild-fips.us-east-2.amazonaws.com" + "url": "https://codebuild-fips.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codebuild.us-east-2.api.aws" + "url": "https://codebuild-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codebuild.us-east-2.amazonaws.com" + "url": "https://codebuild.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://codebuild-fips.cn-northwest-1.api.amazonwebservices.com.cn" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codebuild-fips.cn-northwest-1.amazonaws.com.cn" + "url": "https://codebuild-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://codebuild.cn-northwest-1.api.amazonwebservices.com.cn" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codebuild.cn-northwest-1.amazonaws.com.cn" + "url": "https://codebuild.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1506,9 +561,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -1519,9 +574,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -1530,9 +585,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -1543,22 +598,35 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1568,9 +636,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1580,11 +648,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/codecatalyst/pom.xml b/services/codecatalyst/pom.xml index e2b19a006bf4..14c7ca5b775c 100644 --- a/services/codecatalyst/pom.xml +++ b/services/codecatalyst/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT codecatalyst AWS Java SDK :: Services :: Code Catalyst diff --git a/services/codecatalyst/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/codecatalyst/src/main/resources/codegen-resources/endpoint-rule-set.json index 3cd71efdaf34..5a36f6ea758d 100644 --- a/services/codecatalyst/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/codecatalyst/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -1,5 +1,5 @@ { - "version": "1.3", + "version": "1.0", "parameters": { "UseFIPS": { "builtIn": "AWS::UseFIPS", @@ -23,50 +23,60 @@ }, "rules": [ { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "not", + "argv": [ { "fn": "isSet", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ] } - ], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + ] }, + { + "fn": "aws.partition", + "argv": [ + "us-west-2" + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "not", + "fn": "booleanEquals", "argv": [ { - "fn": "isSet", - "argv": [ - { - "ref": "Region" - } - ] - } + "ref": "UseFIPS" + }, + true ] - }, - { - "fn": "aws.partition", - "argv": [ - "us-west-2" - ], - "assign": "PartitionResult" } ], "type": "tree", @@ -77,50 +87,25 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] + "ref": "PartitionResult" }, - false + "supportsFIPS" ] - } - ], - "error": "Partition does not support FIPS.", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": "https://codecatalyst-fips.global.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + }, + false + ] } - ] + ], + "error": "Partition does not support FIPS.", + "type": "error" }, { "conditions": [], "endpoint": { - "url": "https://codecatalyst.global.{PartitionResult#dualStackDnsSuffix}", + "url": "https://codecatalyst-fips.global.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, @@ -128,24 +113,49 @@ } ] }, + { + "conditions": [], + "endpoint": { + "url": "https://codecatalyst.global.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + }, + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } + "ref": "UseFIPS" + }, + true ] - }, - { - "fn": "aws.partition", - "argv": [ - { - "ref": "Region" - } - ], - "assign": "PartitionResult" } ], "type": "tree", @@ -156,56 +166,40 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] + "ref": "PartitionResult" }, - false + "supportsFIPS" ] - } - ], - "error": "Partition does not support FIPS.", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": "https://codecatalyst-fips.global.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + }, + false + ] } - ] + ], + "error": "Partition does not support FIPS.", + "type": "error" }, { "conditions": [], "endpoint": { - "url": "https://codecatalyst.global.{PartitionResult#dualStackDnsSuffix}", + "url": "https://codecatalyst-fips.global.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://codecatalyst.global.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] } diff --git a/services/codecatalyst/src/main/resources/codegen-resources/endpoint-tests.json b/services/codecatalyst/src/main/resources/codegen-resources/endpoint-tests.json index 47fa02a86c41..9af1a7fd1201 100644 --- a/services/codecatalyst/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/codecatalyst/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,4 +1,5 @@ { + "version": "1", "testCases": [ { "documentation": "Override endpoint", @@ -17,7 +18,8 @@ "endpoint": { "url": "https://codecatalyst.global.api.aws" } - } + }, + "params": {} }, { "documentation": "Default FIPS endpoint (region not set)", @@ -99,6 +101,5 @@ "UseFIPS": true } } - ], - "version": "1.0" + ] } \ No newline at end of file diff --git a/services/codecommit/pom.xml b/services/codecommit/pom.xml index b659a2897721..30a6a06254dd 100644 --- a/services/codecommit/pom.xml +++ b/services/codecommit/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT codecommit AWS Java SDK :: Services :: AWS CodeCommit diff --git a/services/codedeploy/pom.xml b/services/codedeploy/pom.xml index d1e27b0acf24..fb8dc0ce800a 100644 --- a/services/codedeploy/pom.xml +++ b/services/codedeploy/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT codedeploy AWS Java SDK :: Services :: AWS CodeDeploy diff --git a/services/codedeploy/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/codedeploy/src/main/resources/codegen-resources/endpoint-rule-set.json index bb2a0fde1ed9..be4aac537125 100644 --- a/services/codedeploy/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/codedeploy/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://codedeploy-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://codedeploy-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://codedeploy.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://codedeploy.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://codedeploy.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://codedeploy.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/codedeploy/src/main/resources/codegen-resources/endpoint-tests.json b/services/codedeploy/src/main/resources/codegen-resources/endpoint-tests.json index dc69623cae36..31767ba560e7 100644 --- a/services/codedeploy/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/codedeploy/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,94 +1,68 @@ { "testCases": [ { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.ap-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.ap-south-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack enabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy.ap-south-2.api.aws" + "url": "https://codedeploy.af-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-2", - "UseFIPS": false + "Region": "af-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy.ap-south-2.amazonaws.com" + "url": "https://codedeploy.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-south-2", - "UseFIPS": false + "Region": "ap-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy-fips.ap-south-1.api.aws" + "url": "https://codedeploy.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy-fips.ap-south-1.amazonaws.com" + "url": "https://codedeploy.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy.ap-south-1.api.aws" + "url": "https://codedeploy.ap-northeast-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false + "Region": "ap-northeast-3", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -99,256 +73,48 @@ } }, "params": { - "UseDualStack": false, "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.eu-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.eu-south-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.eu-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.eu-south-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.me-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.me-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.me-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.me-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-central-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy-fips.ca-central-1.api.aws" + "url": "https://codedeploy.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy-fips.ca-central-1.amazonaws.com" + "url": "https://codedeploy.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy.ca-central-1.api.aws" + "url": "https://codedeploy.ap-southeast-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false + "Region": "ap-southeast-3", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -359,1353 +125,460 @@ } }, "params": { - "UseDualStack": false, "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy-fips.eu-central-1.amazonaws.com" + "url": "https://codedeploy.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, "Region": "eu-central-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy.eu-central-1.api.aws" + "url": "https://codedeploy.eu-north-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "UseDualStack": true, - "Region": "us-iso-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.us-iso-west-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-iso-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "UseDualStack": true, - "Region": "us-iso-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.us-iso-west-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-iso-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.eu-central-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.eu-central-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.eu-central-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.eu-central-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.ap-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.ap-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.ap-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.ap-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.us-gov-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codedeploy-fips.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codedeploy.us-gov-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy.us-gov-west-1.amazonaws.com" + "url": "https://codedeploy.eu-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "eu-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy-fips.ap-southeast-1.api.aws" + "url": "https://codedeploy.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy-fips.ap-southeast-1.amazonaws.com" + "url": "https://codedeploy.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy.ap-southeast-1.api.aws" + "url": "https://codedeploy.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy.ap-southeast-1.amazonaws.com" + "url": "https://codedeploy.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "me-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy-fips.ap-southeast-2.api.aws" + "url": "https://codedeploy.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy-fips.ap-southeast-2.amazonaws.com" + "url": "https://codedeploy.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy.ap-southeast-2.api.aws" + "url": "https://codedeploy-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy.ap-southeast-2.amazonaws.com" + "url": "https://codedeploy.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + "endpoint": { + "url": "https://codedeploy-fips.us-east-2.amazonaws.com" + } }, "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": true + "Region": "us-east-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://codedeploy.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": true + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" + "endpoint": { + "url": "https://codedeploy-fips.us-west-1.amazonaws.com" + } }, "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": false + "Region": "us-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy.us-iso-east-1.c2s.ic.gov" + "url": "https://codedeploy.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy-fips.ap-southeast-3.api.aws" + "url": "https://codedeploy-fips.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-3", - "UseFIPS": true + "Region": "us-west-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codedeploy-fips.ap-southeast-3.amazonaws.com" + "url": "https://codedeploy-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-3", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codedeploy.ap-southeast-3.api.aws" + "url": "https://codedeploy.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-3", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy.ap-southeast-3.amazonaws.com" + "url": "https://codedeploy.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-3", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy-fips.ap-southeast-4.api.aws" + "url": "https://codedeploy.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-4", - "UseFIPS": true + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codedeploy-fips.ap-southeast-4.amazonaws.com" + "url": "https://codedeploy-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-4", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy.ap-southeast-4.api.aws" + "url": "https://codedeploy-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-4", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codedeploy.ap-southeast-4.amazonaws.com" + "url": "https://codedeploy.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-4", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy-fips.us-east-1.api.aws" + "url": "https://codedeploy.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-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://codedeploy-fips.us-east-1.amazonaws.com" + "url": "https://codedeploy-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy.us-east-1.api.aws" + "url": "https://codedeploy.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy.us-east-1.amazonaws.com" + "url": "https://codedeploy-fips.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codedeploy-fips.us-east-2.api.aws" + "url": "https://codedeploy-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codedeploy-fips.us-east-2.amazonaws.com" + "url": "https://codedeploy.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy.us-east-2.api.aws" + "url": "https://codedeploy.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy.us-east-2.amazonaws.com" + "url": "https://codedeploy.us-iso-west-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-iso-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://codedeploy-fips.cn-northwest-1.api.amazonwebservices.com.cn" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy-fips.cn-northwest-1.amazonaws.com.cn" + "url": "https://codedeploy-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://codedeploy.cn-northwest-1.api.amazonwebservices.com.cn" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codedeploy.cn-northwest-1.amazonaws.com.cn" + "url": "https://codedeploy.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1714,9 +587,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -1727,9 +600,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -1738,35 +611,35 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://codedeploy.us-isob-east-1.sc2s.sgov.gov" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, - "Region": "us-isob-east-1", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1776,9 +649,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1788,11 +661,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/codedeploy/src/main/resources/codegen-resources/service-2.json b/services/codedeploy/src/main/resources/codegen-resources/service-2.json index b43507c2a6ff..057afe904375 100644 --- a/services/codedeploy/src/main/resources/codegen-resources/service-2.json +++ b/services/codedeploy/src/main/resources/codegen-resources/service-2.json @@ -367,7 +367,7 @@ "input":{"shape":"DeleteResourcesByExternalIdInput"}, "output":{"shape":"DeleteResourcesByExternalIdOutput"}, "errors":[], - "documentation":"

      Deletes resources linked to an external ID.

      " + "documentation":"

      Deletes resources linked to an external ID. This action only applies if you have configured blue/green deployments through CloudFormation.

      It is not necessary to call this action directly. CloudFormation calls it on your behalf when it needs to delete stack resources. This action is offered publicly in case you need to delete resources to comply with General Data Protection Regulation (GDPR) requirements.

      " }, "DeregisterOnPremisesInstance":{ "name":"DeregisterOnPremisesInstance", @@ -554,7 +554,7 @@ "errors":[ {"shape":"InvalidNextTokenException"} ], - "documentation":"

      Lists the applications registered with the IAM user or Amazon Web Services account.

      " + "documentation":"

      Lists the applications registered with the user or Amazon Web Services account.

      " }, "ListDeploymentConfigs":{ "name":"ListDeploymentConfigs", @@ -567,7 +567,7 @@ "errors":[ {"shape":"InvalidNextTokenException"} ], - "documentation":"

      Lists the deployment configurations with the IAM user or Amazon Web Services account.

      " + "documentation":"

      Lists the deployment configurations with the user or Amazon Web Services account.

      " }, "ListDeploymentGroups":{ "name":"ListDeploymentGroups", @@ -583,7 +583,7 @@ {"shape":"ApplicationDoesNotExistException"}, {"shape":"InvalidNextTokenException"} ], - "documentation":"

      Lists the deployment groups for an application registered with the IAM user or Amazon Web Services account.

      " + "documentation":"

      Lists the deployment groups for an application registered with the Amazon Web Services user or Amazon Web Services account.

      " }, "ListDeploymentInstances":{ "name":"ListDeploymentInstances", @@ -605,7 +605,7 @@ {"shape":"InvalidTargetFilterNameException"}, {"shape":"InvalidComputePlatformException"} ], - "documentation":"

      The newer BatchGetDeploymentTargets should be used instead because it works with all compute types. ListDeploymentInstances throws an exception if it is used with a compute platform other than EC2/On-premises or Lambda.

      Lists the instance for a deployment associated with the IAM user or Amazon Web Services account.

      ", + "documentation":"

      The newer BatchGetDeploymentTargets should be used instead because it works with all compute types. ListDeploymentInstances throws an exception if it is used with a compute platform other than EC2/On-premises or Lambda.

      Lists the instance for a deployment associated with the user or Amazon Web Services account.

      ", "deprecated":true, "deprecatedMessage":"This operation is deprecated, use ListDeploymentTargets instead." }, @@ -650,7 +650,7 @@ {"shape":"InvalidExternalIdException"}, {"shape":"InvalidInputException"} ], - "documentation":"

      Lists the deployments in a deployment group for an application registered with the IAM user or Amazon Web Services account.

      " + "documentation":"

      Lists the deployments in a deployment group for an application registered with the user or Amazon Web Services account.

      " }, "ListGitHubAccountTokenNames":{ "name":"ListGitHubAccountTokenNames", @@ -990,14 +990,14 @@ "type":"structure", "members":{ }, - "documentation":"

      An application with the specified name with the IAM user or Amazon Web Services account already exists.

      ", + "documentation":"

      An application with the specified name with the user or Amazon Web Services account already exists.

      ", "exception":true }, "ApplicationDoesNotExistException":{ "type":"structure", "members":{ }, - "documentation":"

      The application does not exist with the IAM user or Amazon Web Services account.

      ", + "documentation":"

      The application does not exist with the user or Amazon Web Services account.

      ", "exception":true }, "ApplicationId":{"type":"string"}, @@ -1194,7 +1194,7 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

      The name of an CodeDeploy application associated with the applicable IAM or Amazon Web Services account.

      " + "documentation":"

      The name of an CodeDeploy application associated with the applicable user or Amazon Web Services account.

      " }, "deploymentGroupNames":{ "shape":"DeploymentGroupsList", @@ -1433,7 +1433,7 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

      The name of the application. This name must be unique with the applicable IAM or Amazon Web Services account.

      " + "documentation":"

      The name of the application. This name must be unique with the applicable user or Amazon Web Services account.

      " }, "computePlatform":{ "shape":"ComputePlatform", @@ -1499,7 +1499,7 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

      The name of an CodeDeploy application associated with the IAM user or Amazon Web Services account.

      " + "documentation":"

      The name of an CodeDeploy application associated with the user or Amazon Web Services account.

      " }, "deploymentGroupName":{ "shape":"DeploymentGroupName", @@ -1588,7 +1588,7 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

      The name of an CodeDeploy application associated with the IAM user or Amazon Web Services account.

      " + "documentation":"

      The name of an CodeDeploy application associated with the user or Amazon Web Services account.

      " }, "deploymentGroupName":{ "shape":"DeploymentGroupName", @@ -1600,7 +1600,7 @@ }, "deploymentConfigName":{ "shape":"DeploymentConfigName", - "documentation":"

      The name of a deployment configuration associated with the IAM user or Amazon Web Services account.

      If not specified, the value configured in the deployment group is used as the default. If the deployment group does not have a deployment configuration associated with it, CodeDeployDefault.OneAtATime is used by default.

      " + "documentation":"

      The name of a deployment configuration associated with the user or Amazon Web Services account.

      If not specified, the value configured in the deployment group is used as the default. If the deployment group does not have a deployment configuration associated with it, CodeDeployDefault.OneAtATime is used by default.

      " }, "description":{ "shape":"Description", @@ -1649,7 +1649,7 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

      The name of an CodeDeploy application associated with the IAM user or Amazon Web Services account.

      " + "documentation":"

      The name of an CodeDeploy application associated with the user or Amazon Web Services account.

      " } }, "documentation":"

      Represents the input of a DeleteApplication operation.

      " @@ -1660,7 +1660,7 @@ "members":{ "deploymentConfigName":{ "shape":"DeploymentConfigName", - "documentation":"

      The name of a deployment configuration associated with the IAM user or Amazon Web Services account.

      " + "documentation":"

      The name of a deployment configuration associated with the user or Amazon Web Services account.

      " } }, "documentation":"

      Represents the input of a DeleteDeploymentConfig operation.

      " @@ -1674,7 +1674,7 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

      The name of an CodeDeploy application associated with the IAM user or Amazon Web Services account.

      " + "documentation":"

      The name of an CodeDeploy application associated with the user or Amazon Web Services account.

      " }, "deploymentGroupName":{ "shape":"DeploymentGroupName", @@ -1745,14 +1745,14 @@ "type":"structure", "members":{ }, - "documentation":"

      A deployment configuration with the specified name with the IAM user or Amazon Web Services account already exists.

      ", + "documentation":"

      A deployment configuration with the specified name with the user or Amazon Web Services account already exists.

      ", "exception":true }, "DeploymentConfigDoesNotExistException":{ "type":"structure", "members":{ }, - "documentation":"

      The deployment configuration does not exist with the IAM user or Amazon Web Services account.

      ", + "documentation":"

      The deployment configuration does not exist with the user or Amazon Web Services account.

      ", "exception":true }, "DeploymentConfigId":{"type":"string"}, @@ -1832,21 +1832,21 @@ "type":"structure", "members":{ }, - "documentation":"

      The deployment with the IAM user or Amazon Web Services account does not exist.

      ", + "documentation":"

      The deployment with the user or Amazon Web Services account does not exist.

      ", "exception":true }, "DeploymentGroupAlreadyExistsException":{ "type":"structure", "members":{ }, - "documentation":"

      A deployment group with the specified name with the IAM user or Amazon Web Services account already exists.

      ", + "documentation":"

      A deployment group with the specified name with the user or Amazon Web Services account already exists.

      ", "exception":true }, "DeploymentGroupDoesNotExistException":{ "type":"structure", "members":{ }, - "documentation":"

      The named deployment group with the IAM user or Amazon Web Services account does not exist.

      ", + "documentation":"

      The named deployment group with the user or Amazon Web Services account does not exist.

      ", "exception":true }, "DeploymentGroupId":{"type":"string"}, @@ -2489,10 +2489,10 @@ "members":{ "name":{ "shape":"ELBName", - "documentation":"

      For blue/green deployments, the name of the load balancer that is used to route traffic from original instances to replacement instances in a blue/green deployment. For in-place deployments, the name of the load balancer that instances are deregistered from so they are not serving traffic during a deployment, and then re-registered with after the deployment is complete.

      " + "documentation":"

      For blue/green deployments, the name of the Classic Load Balancer that is used to route traffic from original instances to replacement instances in a blue/green deployment. For in-place deployments, the name of the Classic Load Balancer that instances are deregistered from so they are not serving traffic during a deployment, and then re-registered with after the deployment is complete.

      " } }, - "documentation":"

      Information about a load balancer in Elastic Load Balancing to use in a deployment. Instances are registered directly with a load balancer, and traffic is routed to the load balancer.

      " + "documentation":"

      Information about a Classic Load Balancer in Elastic Load Balancing to use in a deployment. Instances are registered directly with a load balancer, and traffic is routed to the load balancer.

      " }, "ELBInfoList":{ "type":"list", @@ -2600,7 +2600,7 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

      The name of an CodeDeploy application associated with the IAM user or Amazon Web Services account.

      " + "documentation":"

      The name of an CodeDeploy application associated with the user or Amazon Web Services account.

      " } }, "documentation":"

      Represents the input of a GetApplication operation.

      " @@ -2657,7 +2657,7 @@ "members":{ "deploymentConfigName":{ "shape":"DeploymentConfigName", - "documentation":"

      The name of a deployment configuration associated with the IAM user or Amazon Web Services account.

      " + "documentation":"

      The name of a deployment configuration associated with the user or Amazon Web Services account.

      " } }, "documentation":"

      Represents the input of a GetDeploymentConfig operation.

      " @@ -2681,7 +2681,7 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

      The name of an CodeDeploy application associated with the IAM user or Amazon Web Services account.

      " + "documentation":"

      The name of an CodeDeploy application associated with the user or Amazon Web Services account.

      " }, "deploymentGroupName":{ "shape":"DeploymentGroupName", @@ -2706,7 +2706,7 @@ "members":{ "deploymentId":{ "shape":"DeploymentId", - "documentation":"

      The unique ID of a deployment associated with the IAM user or Amazon Web Services account.

      " + "documentation":"

      The unique ID of a deployment associated with the user or Amazon Web Services account.

      " } }, "documentation":"

      Represents the input of a GetDeployment operation.

      " @@ -2846,7 +2846,7 @@ "type":"structure", "members":{ }, - "documentation":"

      No IAM ARN was included in the request. You must use an IAM session ARN or IAM user ARN in the request.

      ", + "documentation":"

      No IAM ARN was included in the request. You must use an IAM session ARN or user ARN in the request.

      ", "exception":true }, "IamSessionArn":{"type":"string"}, @@ -2862,14 +2862,14 @@ "type":"structure", "members":{ }, - "documentation":"

      The specified IAM user ARN is already registered with an on-premises instance.

      ", + "documentation":"

      The specified user ARN is already registered with an on-premises instance.

      ", "exception":true }, "IamUserArnRequiredException":{ "type":"structure", "members":{ }, - "documentation":"

      An IAM user ARN was not specified.

      ", + "documentation":"

      An user ARN was not specified.

      ", "exception":true }, "InstanceAction":{ @@ -2913,7 +2913,7 @@ }, "iamUserArn":{ "shape":"IamUserArn", - "documentation":"

      The IAM user ARN associated with the on-premises instance.

      " + "documentation":"

      The user ARN associated with the on-premises instance.

      " }, "instanceArn":{ "shape":"InstanceArn", @@ -3253,7 +3253,7 @@ "type":"structure", "members":{ }, - "documentation":"

      The IAM user ARN was specified in an invalid format.

      ", + "documentation":"

      The user ARN was specified in an invalid format.

      ", "exception":true }, "InvalidIgnoreApplicationStopFailuresValueException":{ @@ -3626,7 +3626,7 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

      The name of an CodeDeploy application associated with the IAM user or Amazon Web Services account.

      " + "documentation":"

      The name of an CodeDeploy application associated with the user or Amazon Web Services account.

      " }, "sortBy":{ "shape":"ApplicationRevisionSortBy", @@ -3723,7 +3723,7 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

      The name of an CodeDeploy application associated with the IAM user or Amazon Web Services account.

      " + "documentation":"

      The name of an CodeDeploy application associated with the user or Amazon Web Services account.

      " }, "nextToken":{ "shape":"NextToken", @@ -3822,7 +3822,7 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

      The name of an CodeDeploy application associated with the IAM user or Amazon Web Services account.

      If applicationName is specified, then deploymentGroupName must be specified. If it is not specified, then deploymentGroupName must not be specified.

      " + "documentation":"

      The name of an CodeDeploy application associated with the user or Amazon Web Services account.

      If applicationName is specified, then deploymentGroupName must be specified. If it is not specified, then deploymentGroupName must not be specified.

      " }, "deploymentGroupName":{ "shape":"DeploymentGroupName", @@ -3962,18 +3962,18 @@ "members":{ "elbInfoList":{ "shape":"ELBInfoList", - "documentation":"

      An array that contains information about the load balancer to use for load balancing in a deployment. In Elastic Load Balancing, load balancers are used with Classic Load Balancers.

      Adding more than one load balancer to the array is not supported.

      " + "documentation":"

      An array that contains information about the load balancers to use for load balancing in a deployment. If you're using Classic Load Balancers, specify those load balancers in this array.

      You can add up to 10 load balancers to the array.

      If you're using Application Load Balancers or Network Load Balancers, use the targetGroupInfoList array instead of this one.

      " }, "targetGroupInfoList":{ "shape":"TargetGroupInfoList", - "documentation":"

      An array that contains information about the target group to use for load balancing in a deployment. In Elastic Load Balancing, target groups are used with Application Load Balancers.

      Adding more than one target group to the array is not supported.

      " + "documentation":"

      An array that contains information about the target groups to use for load balancing in a deployment. If you're using Application Load Balancers and Network Load Balancers, specify their associated target groups in this array.

      You can add up to 10 target groups to the array.

      If you're using Classic Load Balancers, use the elbInfoList array instead of this one.

      " }, "targetGroupPairInfoList":{ "shape":"TargetGroupPairInfoList", "documentation":"

      The target group pair information. This is an array of TargeGroupPairInfo objects with a maximum size of one.

      " } }, - "documentation":"

      Information about the Elastic Load Balancing load balancer or target group used in a deployment.

      " + "documentation":"

      Information about the Elastic Load Balancing load balancer or target group used in a deployment.

      You can use load balancers and target groups in combination. For example, if you have two Classic Load Balancers, and five target groups tied to an Application Load Balancer, you can specify the two Classic Load Balancers in elbInfoList, and the five target groups in targetGroupInfoList.

      " }, "LogTail":{"type":"string"}, "Message":{"type":"string"}, @@ -4003,7 +4003,7 @@ "type":"structure", "members":{ }, - "documentation":"

      Both an IAM user ARN and an IAM session ARN were included in the request. Use only one ARN type.

      ", + "documentation":"

      Both an user ARN and an IAM session ARN were included in the request. Use only one ARN type.

      ", "exception":true }, "NextToken":{"type":"string"}, @@ -4090,7 +4090,7 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

      The name of an CodeDeploy application associated with the IAM user or Amazon Web Services account.

      " + "documentation":"

      The name of an CodeDeploy application associated with the user or Amazon Web Services account.

      " }, "description":{ "shape":"Description", @@ -4117,7 +4117,7 @@ }, "iamUserArn":{ "shape":"IamUserArn", - "documentation":"

      The ARN of the IAM user to associate with the on-premises instance.

      " + "documentation":"

      The ARN of the user to associate with the on-premises instance.

      " } }, "documentation":"

      Represents the input of the register on-premises instance operation.

      " @@ -4180,7 +4180,7 @@ "type":"structure", "members":{ }, - "documentation":"

      The named revision does not exist with the IAM user or Amazon Web Services account.

      ", + "documentation":"

      The named revision does not exist with the user or Amazon Web Services account.

      ", "exception":true }, "RevisionInfo":{ @@ -4288,7 +4288,7 @@ }, "bundleType":{ "shape":"BundleType", - "documentation":"

      The file type of the application revision. Must be one of the following:

      • tar: A tar archive file.

      • tgz: A compressed tar archive file.

      • zip: A zip archive file.

      " + "documentation":"

      The file type of the application revision. Must be one of the following:

      • tar: A tar archive file.

      • tgz: A compressed tar archive file.

      • zip: A zip archive file.

      • YAML: A YAML-formatted file.

      • JSON: A JSON-formatted file.

      " }, "version":{ "shape":"VersionId", @@ -4755,7 +4755,7 @@ }, "autoScalingGroups":{ "shape":"AutoScalingGroupNameList", - "documentation":"

      The replacement list of Auto Scaling groups to be included in the deployment group, if you want to change them.

      " + "documentation":"

      The replacement list of Auto Scaling groups to be included in the deployment group, if you want to change them.

      " }, "serviceRoleArn":{ "shape":"Role", diff --git a/services/codeguruprofiler/pom.xml b/services/codeguruprofiler/pom.xml index 786afe19ab8c..73f682095be7 100644 --- a/services/codeguruprofiler/pom.xml +++ b/services/codeguruprofiler/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT codeguruprofiler AWS Java SDK :: Services :: CodeGuruProfiler diff --git a/services/codeguruprofiler/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/codeguruprofiler/src/main/resources/codegen-resources/endpoint-rule-set.json index c63f56f094e9..0181cf5f9903 100644 --- a/services/codeguruprofiler/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/codeguruprofiler/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "parseURL", + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,221 +140,175 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://codeguru-profiler-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] }, { "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] - }, + } + ], + "type": "tree", + "rules": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://codeguru-profiler-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://codeguru-profiler-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://codeguru-profiler-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://codeguru-profiler.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://codeguru-profiler.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://codeguru-profiler.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://codeguru-profiler.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/codeguruprofiler/src/main/resources/codegen-resources/endpoint-tests.json b/services/codeguruprofiler/src/main/resources/codegen-resources/endpoint-tests.json index 306d13bcb269..1a714cb50aea 100644 --- a/services/codeguruprofiler/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/codeguruprofiler/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,536 +1,281 @@ { "testCases": [ { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codeguru-profiler-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codeguru-profiler-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codeguru-profiler.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codeguru-profiler.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codeguru-profiler-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codeguru-profiler-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codeguru-profiler.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codeguru-profiler.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codeguru-profiler-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codeguru-profiler-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codeguru-profiler.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codeguru-profiler.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codeguru-profiler-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codeguru-profiler-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codeguru-profiler.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codeguru-profiler.eu-west-2.amazonaws.com" + "url": "https://codeguru-profiler-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codeguru-profiler-fips.eu-west-1.api.aws" + "url": "https://codeguru-profiler-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codeguru-profiler-fips.eu-west-1.amazonaws.com" + "url": "https://codeguru-profiler.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codeguru-profiler.eu-west-1.api.aws" + "url": "https://codeguru-profiler.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codeguru-profiler.eu-west-1.amazonaws.com" + "url": "https://codeguru-profiler-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codeguru-profiler-fips.ap-northeast-1.api.aws" + "url": "https://codeguru-profiler-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codeguru-profiler-fips.ap-northeast-1.amazonaws.com" + "url": "https://codeguru-profiler.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codeguru-profiler.ap-northeast-1.api.aws" + "url": "https://codeguru-profiler.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codeguru-profiler.ap-northeast-1.amazonaws.com" + "url": "https://codeguru-profiler-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codeguru-profiler-fips.ap-southeast-1.api.aws" + "url": "https://codeguru-profiler-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codeguru-profiler-fips.ap-southeast-1.amazonaws.com" + "url": "https://codeguru-profiler.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codeguru-profiler.ap-southeast-1.api.aws" + "url": "https://codeguru-profiler.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://codeguru-profiler.ap-southeast-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codeguru-profiler-fips.ap-southeast-2.api.aws" + "url": "https://codeguru-profiler-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://codeguru-profiler-fips.ap-southeast-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codeguru-profiler.ap-southeast-2.api.aws" + "url": "https://codeguru-profiler.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://codeguru-profiler.ap-southeast-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codeguru-profiler-fips.us-east-1.api.aws" + "url": "https://codeguru-profiler-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://codeguru-profiler-fips.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codeguru-profiler.us-east-1.api.aws" + "url": "https://codeguru-profiler.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://codeguru-profiler.us-east-1.amazonaws.com" + "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codeguru-profiler-fips.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codeguru-profiler-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codeguru-profiler.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codeguru-profiler.us-east-2.amazonaws.com" - } - }, - "params": { + "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -540,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -552,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/codegurureviewer/pom.xml b/services/codegurureviewer/pom.xml index c3f22c985941..122329d05868 100644 --- a/services/codegurureviewer/pom.xml +++ b/services/codegurureviewer/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT codegurureviewer AWS Java SDK :: Services :: CodeGuru Reviewer diff --git a/services/codegurureviewer/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/codegurureviewer/src/main/resources/codegen-resources/endpoint-rule-set.json index 0e8d85f60cdc..144e388cca5c 100644 --- a/services/codegurureviewer/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/codegurureviewer/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://codeguru-reviewer-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://codeguru-reviewer-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://codeguru-reviewer.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://codeguru-reviewer.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://codeguru-reviewer.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://codeguru-reviewer.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/codegurureviewer/src/main/resources/codegen-resources/endpoint-tests.json b/services/codegurureviewer/src/main/resources/codegen-resources/endpoint-tests.json index cfc9ec266371..a5d3bac357e7 100644 --- a/services/codegurureviewer/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/codegurureviewer/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,42 +1,42 @@ { "testCases": [ { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codeguru-reviewer-fips.eu-central-1.api.aws" + "url": "https://codeguru-reviewer.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codeguru-reviewer-fips.eu-central-1.amazonaws.com" + "url": "https://codeguru-reviewer.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codeguru-reviewer.eu-central-1.api.aws" + "url": "https://codeguru-reviewer.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -47,100 +47,9 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codeguru-reviewer-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codeguru-reviewer-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codeguru-reviewer.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codeguru-reviewer.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codeguru-reviewer-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codeguru-reviewer-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codeguru-reviewer.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -151,48 +60,22 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codeguru-reviewer-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codeguru-reviewer-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codeguru-reviewer.eu-west-2.api.aws" + "url": "https://codeguru-reviewer.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -203,334 +86,313 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codeguru-reviewer-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codeguru-reviewer-fips.eu-west-1.amazonaws.com" + "url": "https://codeguru-reviewer.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codeguru-reviewer.eu-west-1.api.aws" + "url": "https://codeguru-reviewer.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codeguru-reviewer.eu-west-1.amazonaws.com" + "url": "https://codeguru-reviewer.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codeguru-reviewer-fips.ap-northeast-1.api.aws" + "url": "https://codeguru-reviewer-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codeguru-reviewer-fips.ap-northeast-1.amazonaws.com" + "url": "https://codeguru-reviewer-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codeguru-reviewer.ap-northeast-1.api.aws" + "url": "https://codeguru-reviewer.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codeguru-reviewer.ap-northeast-1.amazonaws.com" + "url": "https://codeguru-reviewer-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codeguru-reviewer-fips.ap-southeast-1.api.aws" + "url": "https://codeguru-reviewer-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codeguru-reviewer-fips.ap-southeast-1.amazonaws.com" + "url": "https://codeguru-reviewer.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codeguru-reviewer.ap-southeast-1.api.aws" + "url": "https://codeguru-reviewer.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codeguru-reviewer.ap-southeast-1.amazonaws.com" + "url": "https://codeguru-reviewer-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codeguru-reviewer-fips.ap-southeast-2.api.aws" + "url": "https://codeguru-reviewer-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codeguru-reviewer-fips.ap-southeast-2.amazonaws.com" + "url": "https://codeguru-reviewer.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codeguru-reviewer.ap-southeast-2.api.aws" + "url": "https://codeguru-reviewer.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://codeguru-reviewer.ap-southeast-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codeguru-reviewer-fips.us-east-1.api.aws" + "url": "https://codeguru-reviewer-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://codeguru-reviewer-fips.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codeguru-reviewer.us-east-1.api.aws" + "url": "https://codeguru-reviewer.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://codeguru-reviewer.us-east-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codeguru-reviewer-fips.us-east-2.api.aws" + "url": "https://codeguru-reviewer-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://codeguru-reviewer-fips.us-east-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codeguru-reviewer.us-east-2.api.aws" + "url": "https://codeguru-reviewer.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://codeguru-reviewer.us-east-2.amazonaws.com" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -540,9 +402,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -552,11 +414,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/codegurusecurity/pom.xml b/services/codegurusecurity/pom.xml index 00540d78411e..a99c6901f1e2 100644 --- a/services/codegurusecurity/pom.xml +++ b/services/codegurusecurity/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT codegurusecurity AWS Java SDK :: Services :: Code Guru Security diff --git a/services/codegurusecurity/src/main/resources/codegen-resources/endpoint-tests.json b/services/codegurusecurity/src/main/resources/codegen-resources/endpoint-tests.json index df56b8cd3835..ceabc0194b32 100644 --- a/services/codegurusecurity/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/codegurusecurity/src/main/resources/codegen-resources/endpoint-tests.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://codeguru-security-fips.us-gov-east-1.api.aws" + "url": "https://codeguru-security-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": 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://codeguru-security-fips.us-gov-east-1.amazonaws.com" + "url": "https://codeguru-security-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": true, - "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://codeguru-security.us-gov-east-1.api.aws" + "url": "https://codeguru-security.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": false, - "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://codeguru-security.us-gov-east-1.amazonaws.com" + "url": "https://codeguru-security.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -60,9 +60,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -73,9 +73,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -86,9 +86,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -99,109 +99,109 @@ } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": 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://codeguru-security-fips.us-gov-east-1.api.aws" + } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": 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://codeguru-security-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://codeguru-security-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": true, - "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://codeguru-security.us-gov-east-1.api.aws" + } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": false, - "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://codeguru-security.us-iso-east-1.c2s.ic.gov" + "url": "https://codeguru-security.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": 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://codeguru-security-fips.us-east-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, + "Region": "us-iso-east-1", "UseFIPS": 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://codeguru-security-fips.us-east-1.amazonaws.com" + "url": "https://codeguru-security-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": true, - "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://codeguru-security.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, + "Region": "us-iso-east-1", "UseFIPS": false, - "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://codeguru-security.us-east-1.amazonaws.com" + "url": "https://codeguru-security.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": 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": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { @@ -223,9 +223,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -234,9 +234,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { @@ -247,22 +247,35 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "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, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { "UseFIPS": false, - "Region": "us-east-1", + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -272,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -284,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/codepipeline/pom.xml b/services/codepipeline/pom.xml index b8c884a9cbd2..7db12f65d7ae 100644 --- a/services/codepipeline/pom.xml +++ b/services/codepipeline/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT codepipeline AWS Java SDK :: Services :: AWS CodePipeline diff --git a/services/codepipeline/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/codepipeline/src/main/resources/codegen-resources/endpoint-rule-set.json index 7e6b2d6bcf15..0a96c803acca 100644 --- a/services/codepipeline/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/codepipeline/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://codepipeline-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://codepipeline-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://codepipeline-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://codepipeline-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://codepipeline.{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://codepipeline.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://codepipeline.{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://codepipeline.{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/services/codestar/pom.xml b/services/codestar/pom.xml index a6f30db40b00..25de0f390ff6 100644 --- a/services/codestar/pom.xml +++ b/services/codestar/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT codestar AWS Java SDK :: Services :: AWS CodeStar diff --git a/services/codestar/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/codestar/src/main/resources/codegen-resources/endpoint-rule-set.json index c79a54f9c2f0..bc48f9d098a6 100644 --- a/services/codestar/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/codestar/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://codestar-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://codestar-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://codestar.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://codestar.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://codestar.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://codestar.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/codestar/src/main/resources/codegen-resources/endpoint-tests.json b/services/codestar/src/main/resources/codegen-resources/endpoint-tests.json index b09e77d08838..a4c4fb48a94d 100644 --- a/services/codestar/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/codestar/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,94 +1,68 @@ { "testCases": [ { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codestar.ca-central-1.api.aws" + "url": "https://codestar.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codestar.ca-central-1.amazonaws.com" + "url": "https://codestar.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": false + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codestar-fips.eu-central-1.api.aws" + "url": "https://codestar.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codestar-fips.eu-central-1.amazonaws.com" + "url": "https://codestar.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codestar.eu-central-1.api.aws" + "url": "https://codestar.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -99,152 +73,9 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-fips.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -255,48 +86,22 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codestar.eu-west-2.api.aws" + "url": "https://codestar.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -307,386 +112,326 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-west-2", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codestar-fips.eu-west-1.api.aws" + "url": "https://codestar.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codestar-fips.eu-west-1.amazonaws.com" + "url": "https://codestar.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codestar.eu-west-1.api.aws" + "url": "https://codestar.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codestar.eu-west-1.amazonaws.com" + "url": "https://codestar.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codestar-fips.ap-northeast-2.api.aws" + "url": "https://codestar-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codestar-fips.ap-northeast-2.amazonaws.com" + "url": "https://codestar-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codestar.ap-northeast-2.api.aws" + "url": "https://codestar.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codestar.ap-northeast-2.amazonaws.com" + "url": "https://codestar-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codestar-fips.ap-northeast-1.api.aws" + "url": "https://codestar-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codestar-fips.ap-northeast-1.amazonaws.com" + "url": "https://codestar.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codestar.ap-northeast-1.api.aws" + "url": "https://codestar.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codestar.ap-northeast-1.amazonaws.com" + "url": "https://codestar-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codestar-fips.ap-southeast-1.api.aws" + "url": "https://codestar-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codestar-fips.ap-southeast-1.amazonaws.com" + "url": "https://codestar.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codestar.ap-southeast-1.api.aws" + "url": "https://codestar.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://codestar.ap-southeast-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codestar-fips.ap-southeast-2.api.aws" + "url": "https://codestar-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://codestar-fips.ap-southeast-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codestar.ap-southeast-2.api.aws" + "url": "https://codestar.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://codestar.ap-southeast-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codestar-fips.us-east-1.api.aws" + "url": "https://codestar-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://codestar-fips.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codestar.us-east-1.api.aws" + "url": "https://codestar.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://codestar.us-east-1.amazonaws.com" + "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-fips.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar.us-east-2.amazonaws.com" - } - }, - "params": { + "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -696,9 +441,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -708,11 +453,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/codestarconnections/pom.xml b/services/codestarconnections/pom.xml index 100832171dc0..8847905a13b4 100644 --- a/services/codestarconnections/pom.xml +++ b/services/codestarconnections/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT codestarconnections AWS Java SDK :: Services :: CodeStar connections diff --git a/services/codestarconnections/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/codestarconnections/src/main/resources/codegen-resources/endpoint-rule-set.json index 546831826172..055eae02f1b0 100644 --- a/services/codestarconnections/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/codestarconnections/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://codestar-connections-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://codestar-connections-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://codestar-connections-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://codestar-connections-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://codestar-connections.{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://codestar-connections.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://codestar-connections.{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://codestar-connections.{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/services/codestarnotifications/pom.xml b/services/codestarnotifications/pom.xml index fea6f31109eb..9872072d8021 100644 --- a/services/codestarnotifications/pom.xml +++ b/services/codestarnotifications/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT codestarnotifications AWS Java SDK :: Services :: Codestar Notifications diff --git a/services/codestarnotifications/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/codestarnotifications/src/main/resources/codegen-resources/endpoint-rule-set.json index 503abea7a4f8..0c1661e63b73 100644 --- a/services/codestarnotifications/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/codestarnotifications/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "parseURL", + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,221 +140,175 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://codestar-notifications-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] }, { "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] - }, + } + ], + "type": "tree", + "rules": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://codestar-notifications-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://codestar-notifications-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://codestar-notifications-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://codestar-notifications.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://codestar-notifications.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://codestar-notifications.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://codestar-notifications.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/codestarnotifications/src/main/resources/codegen-resources/endpoint-tests.json b/services/codestarnotifications/src/main/resources/codegen-resources/endpoint-tests.json index 15655fc20210..e5221d8e88a8 100644 --- a/services/codestarnotifications/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/codestarnotifications/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,952 +1,281 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications-fips.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications-fips.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications-fips.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codestar-notifications.me-south-1.amazonaws.com" + "url": "https://codestar-notifications-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codestar-notifications-fips.sa-east-1.api.aws" + "url": "https://codestar-notifications-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codestar-notifications-fips.sa-east-1.amazonaws.com" + "url": "https://codestar-notifications.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codestar-notifications.sa-east-1.api.aws" + "url": "https://codestar-notifications.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codestar-notifications.sa-east-1.amazonaws.com" + "url": "https://codestar-notifications-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codestar-notifications-fips.ap-east-1.api.aws" + "url": "https://codestar-notifications-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codestar-notifications-fips.ap-east-1.amazonaws.com" + "url": "https://codestar-notifications.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codestar-notifications.ap-east-1.api.aws" + "url": "https://codestar-notifications.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codestar-notifications.ap-east-1.amazonaws.com" + "url": "https://codestar-notifications-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codestar-notifications-fips.ap-southeast-1.api.aws" + "url": "https://codestar-notifications-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://codestar-notifications-fips.ap-southeast-1.amazonaws.com" + "url": "https://codestar-notifications.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codestar-notifications.ap-southeast-1.api.aws" + "url": "https://codestar-notifications.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://codestar-notifications.ap-southeast-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codestar-notifications-fips.ap-southeast-2.api.aws" + "url": "https://codestar-notifications-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://codestar-notifications-fips.ap-southeast-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codestar-notifications.ap-southeast-2.api.aws" + "url": "https://codestar-notifications.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://codestar-notifications.ap-southeast-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codestar-notifications-fips.us-east-1.api.aws" + "url": "https://codestar-notifications-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://codestar-notifications-fips.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://codestar-notifications.us-east-1.api.aws" + "url": "https://codestar-notifications.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://codestar-notifications.us-east-1.amazonaws.com" + "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications-fips.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://codestar-notifications.us-east-2.amazonaws.com" - } - }, - "params": { + "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -956,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -968,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/cognitoidentity/pom.xml b/services/cognitoidentity/pom.xml index 9866dc528ded..2b7b9ec2c4d9 100644 --- a/services/cognitoidentity/pom.xml +++ b/services/cognitoidentity/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT cognitoidentity AWS Java SDK :: Services :: Amazon Cognito Identity diff --git a/services/cognitoidentity/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/cognitoidentity/src/main/resources/codegen-resources/endpoint-rule-set.json index 3799c2c24109..fccd2912a8ed 100644 --- a/services/cognitoidentity/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/cognitoidentity/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://cognito-identity-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://cognito-identity-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://cognito-identity.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://cognito-identity.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://cognito-identity.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://cognito-identity.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/cognitoidentity/src/main/resources/codegen-resources/endpoint-tests.json b/services/cognitoidentity/src/main/resources/codegen-resources/endpoint-tests.json index f03b87d9576c..cfc617981e47 100644 --- a/services/cognitoidentity/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/cognitoidentity/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,666 +1,146 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity-fips.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity-fips.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cognito-identity.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-identity-fips.ap-northeast-2.api.aws" + "url": "https://cognito-identity.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-identity-fips.ap-northeast-2.amazonaws.com" + "url": "https://cognito-identity.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, "Region": "ap-northeast-2", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-identity.ap-northeast-2.api.aws" + "url": "https://cognito-identity.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-identity.ap-northeast-2.amazonaws.com" + "url": "https://cognito-identity.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-identity-fips.ap-northeast-1.api.aws" + "url": "https://cognito-identity.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-identity-fips.ap-northeast-1.amazonaws.com" + "url": "https://cognito-identity.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-identity.ap-northeast-1.api.aws" + "url": "https://cognito-identity.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-identity.ap-northeast-1.amazonaws.com" + "url": "https://cognito-identity.eu-north-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-identity-fips.me-south-1.api.aws" + "url": "https://cognito-identity.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": true + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-identity-fips.me-south-1.amazonaws.com" + "url": "https://cognito-identity.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": true + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-identity.me-south-1.api.aws" + "url": "https://cognito-identity.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": false + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -671,386 +151,391 @@ } }, "params": { - "UseDualStack": false, "Region": "me-south-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-identity-fips.sa-east-1.api.aws" + "url": "https://cognito-identity.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, "Region": "sa-east-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-identity-fips.sa-east-1.amazonaws.com" + "url": "https://cognito-identity.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-identity.sa-east-1.api.aws" + "url": "https://cognito-identity-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-identity.sa-east-1.amazonaws.com" + "url": "https://cognito-identity.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-identity-fips.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://cognito-identity-fips.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": true + "Region": "us-east-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-identity-fips.cn-north-1.amazonaws.com.cn" + "url": "https://cognito-identity.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": true + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-identity.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://cognito-identity.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-identity.cn-north-1.amazonaws.com.cn" + "url": "https://cognito-identity-fips.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://cognito-identity-fips.us-gov-west-1.api.aws" + "url": "https://cognito-identity-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://cognito-identity-fips.us-gov-west-1.amazonaws.com" + "url": "https://cognito-identity.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-identity.us-gov-west-1.api.aws" + "url": "https://cognito-identity.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://cognito-identity.us-gov-west-1.amazonaws.com" + "url": "https://cognito-identity-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-identity-fips.ap-southeast-1.api.aws" + "url": "https://cognito-identity-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://cognito-identity-fips.ap-southeast-1.amazonaws.com" + "url": "https://cognito-identity.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-identity.ap-southeast-1.api.aws" + "url": "https://cognito-identity.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-identity.ap-southeast-1.amazonaws.com" + "url": "https://cognito-identity-fips.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://cognito-identity-fips.ap-southeast-2.api.aws" + "url": "https://cognito-identity-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-identity-fips.ap-southeast-2.amazonaws.com" + "url": "https://cognito-identity-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://cognito-identity.ap-southeast-2.api.aws" + "url": "https://cognito-identity.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-identity.ap-southeast-2.amazonaws.com" + "url": "https://cognito-identity.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "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://cognito-identity-fips.us-east-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "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://cognito-identity-fips.us-east-1.amazonaws.com" + "url": "https://cognito-identity-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "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://cognito-identity.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "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://cognito-identity.us-east-1.amazonaws.com" + "url": "https://cognito-identity.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://cognito-identity-fips.us-east-2.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-identity-fips.us-east-2.amazonaws.com" + "url": "https://cognito-identity-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-identity.us-east-2.api.aws" + "url": "https://cognito-identity.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://cognito-identity.us-east-2.amazonaws.com" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1060,9 +545,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1072,11 +557,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/cognitoidentityprovider/pom.xml b/services/cognitoidentityprovider/pom.xml index 2949dea8bb99..e1e19c67c5d0 100644 --- a/services/cognitoidentityprovider/pom.xml +++ b/services/cognitoidentityprovider/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT cognitoidentityprovider AWS Java SDK :: Services :: Amazon Cognito Identity Provider Service diff --git a/services/cognitoidentityprovider/src/main/resources/codegen-resources/service-2.json b/services/cognitoidentityprovider/src/main/resources/codegen-resources/service-2.json index 2a7f59f92404..ef72edee0568 100644 --- a/services/cognitoidentityprovider/src/main/resources/codegen-resources/service-2.json +++ b/services/cognitoidentityprovider/src/main/resources/codegen-resources/service-2.json @@ -2267,7 +2267,7 @@ }, "Username":{ "shape":"UsernameType", - "documentation":"

      The username for the user. Must be unique within the user pool. Must be a UTF-8 string between 1 and 128 characters. After the user is created, the username can't be changed.

      " + "documentation":"

      The value that you want to set as the username sign-in attribute. The following conditions apply to the username parameter.

      • The username can't be a duplicate of another username in the same user pool.

      • You can't change the value of a username after you create it.

      • You can only provide a value if usernames are a valid sign-in attribute for your user pool. If your user pool only supports phone numbers or email addresses as sign-in attributes, Amazon Cognito automatically generates a username value. For more information, see Customizing sign-in attributes.

      " }, "UserAttributes":{ "shape":"AttributeListType", @@ -8199,7 +8199,9 @@ }, "Status":{ "shape":"StatusType", - "documentation":"

      The user pool status in a user pool description.

      " + "documentation":"

      The user pool status in a user pool description.

      ", + "deprecated":true, + "deprecatedMessage":"This property is no longer available." }, "LastModifiedDate":{ "shape":"DateType", @@ -8288,7 +8290,9 @@ }, "Status":{ "shape":"StatusType", - "documentation":"

      The status of a user pool.

      " + "documentation":"

      The status of a user pool.

      ", + "deprecated":true, + "deprecatedMessage":"This property is no longer available." }, "LastModifiedDate":{ "shape":"DateType", diff --git a/services/cognitosync/pom.xml b/services/cognitosync/pom.xml index 48507a1fc411..a0fb51961b91 100644 --- a/services/cognitosync/pom.xml +++ b/services/cognitosync/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT cognitosync AWS Java SDK :: Services :: Amazon Cognito Sync diff --git a/services/cognitosync/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/cognitosync/src/main/resources/codegen-resources/endpoint-rule-set.json index 4620f720f67d..85e6385286e5 100644 --- a/services/cognitosync/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/cognitosync/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://cognito-sync-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://cognito-sync-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://cognito-sync.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://cognito-sync.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://cognito-sync.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://cognito-sync.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/cognitosync/src/main/resources/codegen-resources/endpoint-tests.json b/services/cognitosync/src/main/resources/codegen-resources/endpoint-tests.json index 9d9e55eefd5d..768080fd35ef 100644 --- a/services/cognitosync/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/cognitosync/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,42 +1,29 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cognito-sync-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-sync-fips.ap-south-1.amazonaws.com" + "url": "https://cognito-sync.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-sync.ap-south-1.api.aws" + "url": "https://cognito-sync.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -47,48 +34,35 @@ } }, "params": { - "UseDualStack": false, "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cognito-sync-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-sync-fips.eu-central-1.amazonaws.com" + "url": "https://cognito-sync.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-sync.eu-central-1.api.aws" + "url": "https://cognito-sync.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -99,100 +73,22 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cognito-sync-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cognito-sync-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cognito-sync.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cognito-sync.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cognito-sync-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cognito-sync-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-sync.eu-west-2.api.aws" + "url": "https://cognito-sync.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -203,386 +99,313 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cognito-sync-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-sync-fips.eu-west-1.amazonaws.com" + "url": "https://cognito-sync.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-sync.eu-west-1.api.aws" + "url": "https://cognito-sync.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-sync.eu-west-1.amazonaws.com" + "url": "https://cognito-sync.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://cognito-sync-fips.ap-northeast-2.api.aws" + "url": "https://cognito-sync-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-sync-fips.ap-northeast-2.amazonaws.com" + "url": "https://cognito-sync-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://cognito-sync.ap-northeast-2.api.aws" + "url": "https://cognito-sync.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://cognito-sync.ap-northeast-2.amazonaws.com" + "url": "https://cognito-sync-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-sync-fips.ap-northeast-1.api.aws" + "url": "https://cognito-sync-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://cognito-sync-fips.ap-northeast-1.amazonaws.com" + "url": "https://cognito-sync.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-sync.ap-northeast-1.api.aws" + "url": "https://cognito-sync.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://cognito-sync.ap-northeast-1.amazonaws.com" + "url": "https://cognito-sync-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-sync-fips.ap-southeast-1.api.aws" + "url": "https://cognito-sync-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://cognito-sync-fips.ap-southeast-1.amazonaws.com" + "url": "https://cognito-sync.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-sync.ap-southeast-1.api.aws" + "url": "https://cognito-sync.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://cognito-sync.ap-southeast-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-sync-fips.ap-southeast-2.api.aws" + "url": "https://cognito-sync-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://cognito-sync-fips.ap-southeast-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-sync.ap-southeast-2.api.aws" + "url": "https://cognito-sync.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://cognito-sync.ap-southeast-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-sync-fips.us-east-1.api.aws" + "url": "https://cognito-sync-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://cognito-sync-fips.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://cognito-sync.us-east-1.api.aws" + "url": "https://cognito-sync.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://cognito-sync.us-east-1.amazonaws.com" + "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cognito-sync-fips.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cognito-sync-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://cognito-sync.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://cognito-sync.us-east-2.amazonaws.com" - } - }, - "params": { + "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -592,9 +415,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -604,11 +427,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/comprehend/pom.xml b/services/comprehend/pom.xml index aa25e1238ae4..551a1f0f6bdf 100644 --- a/services/comprehend/pom.xml +++ b/services/comprehend/pom.xml @@ -20,7 +20,7 @@ services software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 comprehend diff --git a/services/comprehend/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/comprehend/src/main/resources/codegen-resources/endpoint-rule-set.json index f3e6eb40d672..1b17ebb5d7c4 100644 --- a/services/comprehend/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/comprehend/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://comprehend-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://comprehend-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://comprehend-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://comprehend-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://comprehend.{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://comprehend.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://comprehend.{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://comprehend.{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/services/comprehendmedical/pom.xml b/services/comprehendmedical/pom.xml index 5ae548f1ed2f..a9b26e35af1a 100644 --- a/services/comprehendmedical/pom.xml +++ b/services/comprehendmedical/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT comprehendmedical AWS Java SDK :: Services :: ComprehendMedical diff --git a/services/comprehendmedical/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/comprehendmedical/src/main/resources/codegen-resources/endpoint-rule-set.json index f7fd1b5f06ee..d2b92c03f198 100644 --- a/services/comprehendmedical/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/comprehendmedical/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://comprehendmedical-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://comprehendmedical-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://comprehendmedical-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://comprehendmedical-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://comprehendmedical.{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://comprehendmedical.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://comprehendmedical.{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://comprehendmedical.{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/services/computeoptimizer/pom.xml b/services/computeoptimizer/pom.xml index 57900201b415..c054f067215a 100644 --- a/services/computeoptimizer/pom.xml +++ b/services/computeoptimizer/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT computeoptimizer AWS Java SDK :: Services :: Compute Optimizer diff --git a/services/config/pom.xml b/services/config/pom.xml index d90e950e69fb..79ec4a1d89a5 100644 --- a/services/config/pom.xml +++ b/services/config/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT config AWS Java SDK :: Services :: AWS Config diff --git a/services/connect/pom.xml b/services/connect/pom.xml index 9822a66a7a16..2862a9f85a64 100644 --- a/services/connect/pom.xml +++ b/services/connect/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT connect AWS Java SDK :: Services :: Connect diff --git a/services/connect/src/main/resources/codegen-resources/paginators-1.json b/services/connect/src/main/resources/codegen-resources/paginators-1.json index 2b1d93b7baf6..445ee0c83794 100644 --- a/services/connect/src/main/resources/codegen-resources/paginators-1.json +++ b/services/connect/src/main/resources/codegen-resources/paginators-1.json @@ -180,6 +180,12 @@ "output_token": "NextToken", "result_key": "SecurityKeys" }, + "ListSecurityProfileApplications": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Applications" + }, "ListSecurityProfilePermissions": { "input_token": "NextToken", "limit_key": "MaxResults", diff --git a/services/connect/src/main/resources/codegen-resources/service-2.json b/services/connect/src/main/resources/codegen-resources/service-2.json index b289c90e50a7..09577de0badc 100644 --- a/services/connect/src/main/resources/codegen-resources/service-2.json +++ b/services/connect/src/main/resources/codegen-resources/service-2.json @@ -503,7 +503,7 @@ {"shape":"ThrottlingException"}, {"shape":"InternalServiceException"} ], - "documentation":"

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

      Creates a security profile.

      " + "documentation":"

      Creates a security profile.

      " }, "CreateTaskTemplate":{ "name":"CreateTaskTemplate", @@ -890,7 +890,7 @@ {"shape":"AccessDeniedException"}, {"shape":"ResourceInUseException"} ], - "documentation":"

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

      Deletes a security profile.

      " + "documentation":"

      Deletes a security profile.

      " }, "DeleteTaskTemplate":{ "name":"DeleteTaskTemplate", @@ -1315,7 +1315,7 @@ {"shape":"ThrottlingException"}, {"shape":"InternalServiceException"} ], - "documentation":"

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

      Gets basic information about the security profle.

      " + "documentation":"

      Gets basic information about the security profle.

      " }, "DescribeTrafficDistributionGroup":{ "name":"DescribeTrafficDistributionGroup", @@ -1699,7 +1699,7 @@ {"shape":"ThrottlingException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

      Gets metric data from the specified Amazon Connect instance.

      GetMetricDataV2 offers more features than GetMetricData, the previous version of this API. It has new metrics, offers filtering at a metric level, and offers the ability to filter and group data by channels, queues, routing profiles, agents, and agent hierarchy levels. It can retrieve historical data for the last 35 days, in 24-hour intervals.

      For a description of the historical metrics that are supported by GetMetricDataV2 and GetMetricData, see Historical metrics definitions in the Amazon Connect Administrator's Guide.

      " + "documentation":"

      Gets metric data from the specified Amazon Connect instance.

      GetMetricDataV2 offers more features than GetMetricData, the previous version of this API. It has new metrics, offers filtering at a metric level, and offers the ability to filter and group data by channels, queues, routing profiles, agents, and agent hierarchy levels. It can retrieve historical data for the last 3 months, at varying intervals.

      For a description of the historical metrics that are supported by GetMetricDataV2 and GetMetricData, see Historical metrics definitions in the Amazon Connect Administrator's Guide.

      " }, "GetPromptFile":{ "name":"GetPromptFile", @@ -2203,6 +2203,23 @@ ], "documentation":"

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

      Returns a paginated list of all security keys associated with the instance.

      " }, + "ListSecurityProfileApplications":{ + "name":"ListSecurityProfileApplications", + "http":{ + "method":"GET", + "requestUri":"/security-profiles-applications/{InstanceId}/{SecurityProfileId}" + }, + "input":{"shape":"ListSecurityProfileApplicationsRequest"}, + "output":{"shape":"ListSecurityProfileApplicationsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

      Returns a list of third party applications in a specific security profile.

      " + }, "ListSecurityProfilePermissions":{ "name":"ListSecurityProfilePermissions", "http":{ @@ -2218,7 +2235,7 @@ {"shape":"ThrottlingException"}, {"shape":"InternalServiceException"} ], - "documentation":"

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

      Lists the permissions granted to a security profile.

      " + "documentation":"

      Lists the permissions granted to a security profile.

      " }, "ListSecurityProfiles":{ "name":"ListSecurityProfiles", @@ -3410,7 +3427,7 @@ {"shape":"ThrottlingException"}, {"shape":"InternalServiceException"} ], - "documentation":"

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

      Updates a security profile.

      " + "documentation":"

      Updates a security profile.

      " }, "UpdateTaskTemplate":{ "name":"UpdateTaskTemplate", @@ -3930,6 +3947,31 @@ }, "documentation":"

      Configuration of the answering machine detection.

      " }, + "Application":{ + "type":"structure", + "members":{ + "Namespace":{ + "shape":"Namespace", + "documentation":"

      Namespace of the application that you want to give access to.

      " + }, + "ApplicationPermissions":{ + "shape":"ApplicationPermissions", + "documentation":"

      The permissions that the agent is granted on the application. Only the ACCESS permission is supported.

      " + } + }, + "documentation":"

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

      A third party application's metadata.

      " + }, + "ApplicationPermissions":{ + "type":"list", + "member":{"shape":"Permission"}, + "max":10, + "min":1 + }, + "Applications":{ + "type":"list", + "member":{"shape":"Application"}, + "max":10 + }, "ApproximateTotalCount":{"type":"long"}, "AssignContactCategoryActionDefinition":{ "type":"structure", @@ -4608,7 +4650,7 @@ }, "Content":{ "shape":"ContactFlowContent", - "documentation":"

      The content of the flow.

      " + "documentation":"

      The JSON string that represents the content of the flow. For an example, see Example contact flow in Amazon Connect Flow language.

      " }, "Tags":{ "shape":"TagMap", @@ -4640,7 +4682,7 @@ }, "Content":{ "shape":"ContactFlowModuleContent", - "documentation":"

      The content of the flow module.

      " + "documentation":"

      The JSON string that represents the content of the flow. For an example, see Example contact flow in Amazon Connect Flow language.

      Length Constraints: Minimum length of 1. Maximum length of 256000.

      " }, "Description":{ "shape":"ContactFlowModuleDescription", @@ -4999,7 +5041,7 @@ }, "Content":{ "shape":"ContactFlowContent", - "documentation":"

      The content of the flow.

      " + "documentation":"

      The JSON string that represents the content of the flow. For an example, see Example contact flow in Amazon Connect Flow language.

      Length Constraints: Minimum length of 1. Maximum length of 256000.

      " }, "Tags":{ "shape":"TagMap", @@ -5383,7 +5425,7 @@ }, "Name":{ "shape":"QuickConnectName", - "documentation":"

      The name of the quick connect.

      " + "documentation":"

      A unique name of the quick connect.

      " }, "Description":{ "shape":"QuickConnectDescription", @@ -5574,6 +5616,10 @@ "TagRestrictedResources":{ "shape":"TagRestrictedResourceList", "documentation":"

      The list of resources that a security profile applies tag restrictions to in Amazon Connect. Following are acceptable ResourceNames: User | SecurityProfile | Queue | RoutingProfile

      " + }, + "Applications":{ + "shape":"Applications", + "documentation":"

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

      A list of third party applications that the security profile will give access to.

      " } } }, @@ -8677,7 +8723,8 @@ "OnZendeskTicketCreate", "OnZendeskTicketStatusUpdate", "OnSalesforceCaseCreate", - "OnContactEvaluationSubmit" + "OnContactEvaluationSubmit", + "OnMetricDataUpdate" ] }, "FilterV2":{ @@ -8979,11 +9026,15 @@ }, "StartTime":{ "shape":"Timestamp", - "documentation":"

      The timestamp, in UNIX Epoch time format, at which to start the reporting interval for the retrieval of historical metrics data. The time must be before the end time timestamp. The time range between the start and end time must be less than 24 hours. The start time cannot be earlier than 35 days before the time of the request. Historical metrics are available for 35 days.

      " + "documentation":"

      The timestamp, in UNIX Epoch time format, at which to start the reporting interval for the retrieval of historical metrics data. The time must be before the end time timestamp. The start and end time depends on the IntervalPeriod selected. By default the time range between start and end time is 35 days. Historical metrics are available for 3 months.

      " }, "EndTime":{ "shape":"Timestamp", - "documentation":"

      The timestamp, in UNIX Epoch time format, at which to end the reporting interval for the retrieval of historical metrics data. The time must be later than the start time timestamp. It cannot be later than the current timestamp.

      The time range between the start and end time must be less than 24 hours.

      " + "documentation":"

      The timestamp, in UNIX Epoch time format, at which to end the reporting interval for the retrieval of historical metrics data. The time must be later than the start time timestamp. It cannot be later than the current timestamp.

      " + }, + "Interval":{ + "shape":"IntervalDetails", + "documentation":"

      The interval period and timezone to apply to returned metrics.

      • IntervalPeriod: An aggregated grouping applied to request metrics. Valid IntervalPeriod values are: FIFTEEN_MIN | THIRTY_MIN | HOUR | DAY | WEEK | TOTAL.

        For example, if IntervalPeriod is selected THIRTY_MIN, StartTime and EndTime differs by 1 day, then Amazon Connect returns 48 results in the response. Each result is aggregated by the THIRTY_MIN period. By default Amazon Connect aggregates results based on the TOTAL interval period.

        The following list describes restrictions on StartTime and EndTime based on which IntervalPeriod is requested.

        • FIFTEEN_MIN: The difference between StartTime and EndTime must be less than 3 days.

        • THIRTY_MIN: The difference between StartTime and EndTime must be less than 3 days.

        • HOUR: The difference between StartTime and EndTime must be less than 3 days.

        • DAY: The difference between StartTime and EndTime must be less than 35 days.

        • WEEK: The difference between StartTime and EndTime must be less than 35 days.

        • TOTAL: The difference between StartTime and EndTime must be less than 35 days.

      • TimeZone: The timezone applied to requested metrics.

      " }, "Filters":{ "shape":"FiltersV2List", @@ -8995,7 +9046,7 @@ }, "Metrics":{ "shape":"MetricsV2", - "documentation":"

      The metrics to retrieve. Specify the name, groupings, and filters for each metric. The following historical metrics are available. For a description of each metric, see Historical metrics definitions in the Amazon Connect Administrator's Guide.

      AGENT_ADHERENT_TIME

      This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      AGENT_NON_RESPONSE

      Unit: Count

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      AGENT_OCCUPANCY

      Unit: Percentage

      Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

      AGENT_SCHEDULE_ADHERENCE

      This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

      Unit: Percent

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      AGENT_SCHEDULED_TIME

      This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      AVG_ABANDON_TIME

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      AVG_AFTER_CONTACT_WORK_TIME

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature

      Feature is a valid filter but not a valid grouping.

      AVG_AGENT_CONNECTING_TIME

      Unit: Seconds

      Valid metric filter key: INITIATION_METHOD. For now, this metric only supports the following as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK | API

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      AVG_AGENT_CONNECTING_TIME

      Unit: Seconds

      Valid metric filter key: INITIATION_METHOD. For now, this metric only supports the following as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK | API

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      AVG_CONTACT_DURATION

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature

      Feature is a valid filter but not a valid grouping.

      AVG_CONVERSATION_DURATION

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      AVG_GREETING_TIME_AGENT

      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      AVG_HANDLE_TIME

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature

      Feature is a valid filter but not a valid grouping.

      AVG_HOLD_TIME

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature

      Feature is a valid filter but not a valid grouping.

      AVG_HOLDS

      Unit: Count

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature

      Feature is a valid filter but not a valid grouping.

      AVG_INTERACTION_AND_HOLD_TIME

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      AVG_INTERACTION_TIME

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Feature

      Feature is a valid filter but not a valid grouping.

      AVG_INTERRUPTIONS_AGENT

      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

      Unit: Count

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      AVG_INTERRUPTION_TIME_AGENT

      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      AVG_NON_TALK_TIME

      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      AVG_QUEUE_ANSWER_TIME

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Feature

      Feature is a valid filter but not a valid grouping.

      AVG_TALK_TIME

      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      AVG_TALK_TIME_AGENT

      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      AVG_TALK_TIME_CUSTOMER

      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      CONTACTS_ABANDONED

      Unit: Count

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      CONTACTS_CREATED

      Unit: Count

      Valid metric filter key: INITIATION_METHOD

      Valid groupings and filters: Queue, Channel, Routing Profile, Feature

      Feature is a valid filter but not a valid grouping.

      CONTACTS_HANDLED

      Unit: Count

      Valid metric filter key: INITIATION_METHOD, DISCONNECT_REASON

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature

      Feature is a valid filter but not a valid grouping.

      CONTACTS_HOLD_ABANDONS

      Unit: Count

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      CONTACTS_QUEUED

      Unit: Count

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      CONTACTS_TRANSFERRED_OUT

      Unit: Count

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature

      Feature is a valid filter but not a valid grouping.

      CONTACTS_TRANSFERRED_OUT_BY_AGENT

      Unit: Count

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      CONTACTS_TRANSFERRED_OUT_FROM_QUEUE

      Unit: Count

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      MAX_QUEUED_TIME

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      SERVICE_LEVEL

      You can include up to 20 SERVICE_LEVEL metrics in a request.

      Unit: Percent

      Valid groupings and filters: Queue, Channel, Routing Profile

      Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

      SUM_CONTACTS_ANSWERED_IN_X

      Unit: Count

      Valid groupings and filters: Queue, Channel, Routing Profile

      Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

      SUM_CONTACTS_ABANDONED_IN_X

      Unit: Count

      Valid groupings and filters: Queue, Channel, Routing Profile

      Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

      SUM_CONTACTS_DISCONNECTED

      Valid metric filter key: DISCONNECT_REASON

      Unit: Count

      Valid groupings and filters: Queue, Channel, Routing Profile

      SUM_RETRY_CALLBACK_ATTEMPTS

      Unit: Count

      Valid groupings and filters: Queue, Channel, Routing Profile

      " + "documentation":"

      The metrics to retrieve. Specify the name, groupings, and filters for each metric. The following historical metrics are available. For a description of each metric, see Historical metrics definitions in the Amazon Connect Administrator's Guide.

      ABANDONMENT_RATE

      Unit: Percent

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      AGENT_ADHERENT_TIME

      This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      AGENT_NON_RESPONSE

      Unit: Count

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      AGENT_NON_RESPONSE_WITHOUT_CUSTOMER_ABANDONS

      Unit: Count

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      Data for this metric is available starting from October 1, 2023 0:00:00 GMT.

      AGENT_OCCUPANCY

      Unit: Percentage

      Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

      AGENT_SCHEDULE_ADHERENCE

      This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

      Unit: Percent

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      AGENT_SCHEDULED_TIME

      This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      AVG_ABANDON_TIME

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      AVG_AFTER_CONTACT_WORK_TIME

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature

      Feature is a valid filter but not a valid grouping.

      AVG_AGENT_CONNECTING_TIME

      Unit: Seconds

      Valid metric filter key: INITIATION_METHOD. For now, this metric only supports the following as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK | API

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      The Negate key in Metric Level Filters is not applicable for this metric.

      AVG_CONTACT_DURATION

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature

      Feature is a valid filter but not a valid grouping.

      AVG_CONVERSATION_DURATION

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      AVG_GREETING_TIME_AGENT

      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      AVG_HANDLE_TIME

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature

      Feature is a valid filter but not a valid grouping.

      AVG_HOLD_TIME

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature

      Feature is a valid filter but not a valid grouping.

      AVG_HOLD_TIME_ALL_CONTACTS

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      AVG_HOLDS

      Unit: Count

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature

      Feature is a valid filter but not a valid grouping.

      AVG_INTERACTION_AND_HOLD_TIME

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      AVG_INTERACTION_TIME

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Feature

      Feature is a valid filter but not a valid grouping.

      AVG_INTERRUPTIONS_AGENT

      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

      Unit: Count

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      AVG_INTERRUPTION_TIME_AGENT

      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      AVG_NON_TALK_TIME

      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      AVG_QUEUE_ANSWER_TIME

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Feature

      Feature is a valid filter but not a valid grouping.

      AVG_RESOLUTION_TIME

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile

      AVG_TALK_TIME

      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      AVG_TALK_TIME_AGENT

      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      AVG_TALK_TIME_CUSTOMER

      This metric is available only for contacts analyzed by Contact Lens conversational analytics.

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      CONTACTS_ABANDONED

      Unit: Count

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      CONTACTS_CREATED

      Unit: Count

      Valid metric filter key: INITIATION_METHOD

      Valid groupings and filters: Queue, Channel, Routing Profile, Feature

      Feature is a valid filter but not a valid grouping.

      CONTACTS_HANDLED

      Unit: Count

      Valid metric filter key: INITIATION_METHOD, DISCONNECT_REASON

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature

      Feature is a valid filter but not a valid grouping.

      CONTACTS_HOLD_ABANDONS

      Unit: Count

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      CONTACTS_QUEUED

      Unit: Count

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      CONTACTS_RESOLVED_IN_X

      Unit: Count

      Valid groupings and filters: Queue, Channel, Routing Profile

      Threshold: For ThresholdValue enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

      CONTACTS_TRANSFERRED_OUT

      Unit: Count

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature

      Feature is a valid filter but not a valid grouping.

      CONTACTS_TRANSFERRED_OUT_BY_AGENT

      Unit: Count

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      CONTACTS_TRANSFERRED_OUT_FROM_QUEUE

      Unit: Count

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      MAX_QUEUED_TIME

      Unit: Seconds

      Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

      SERVICE_LEVEL

      You can include up to 20 SERVICE_LEVEL metrics in a request.

      Unit: Percent

      Valid groupings and filters: Queue, Channel, Routing Profile

      Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

      SUM_CONTACTS_ANSWERED_IN_X

      Unit: Count

      Valid groupings and filters: Queue, Channel, Routing Profile

      Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

      SUM_CONTACTS_ABANDONED_IN_X

      Unit: Count

      Valid groupings and filters: Queue, Channel, Routing Profile

      Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

      SUM_CONTACTS_DISCONNECTED

      Valid metric filter key: DISCONNECT_REASON

      Unit: Count

      Valid groupings and filters: Queue, Channel, Routing Profile

      SUM_RETRY_CALLBACK_ATTEMPTS

      Unit: Count

      Valid groupings and filters: Queue, Channel, Routing Profile

      " }, "NextToken":{ "shape":"NextToken2500", @@ -9956,7 +10007,8 @@ "PINPOINT_APP", "WISDOM_ASSISTANT", "WISDOM_KNOWLEDGE_BASE", - "CASES_DOMAIN" + "CASES_DOMAIN", + "APPLICATION" ] }, "InternalServiceException":{ @@ -9971,6 +10023,31 @@ "error":{"httpStatusCode":500}, "exception":true }, + "IntervalDetails":{ + "type":"structure", + "members":{ + "TimeZone":{ + "shape":"String", + "documentation":"

      The timezone applied to requested metrics.

      " + }, + "IntervalPeriod":{ + "shape":"IntervalPeriod", + "documentation":"

      IntervalPeriod: An aggregated grouping applied to request metrics. Valid IntervalPeriod values are: FIFTEEN_MIN | THIRTY_MIN | HOUR | DAY | WEEK | TOTAL.

      For example, if IntervalPeriod is selected THIRTY_MIN, StartTime and EndTime differs by 1 day, then Amazon Connect returns 48 results in the response. Each result is aggregated by the THIRTY_MIN period. By default Amazon Connect aggregates results based on the TOTAL interval period.

      The following list describes restrictions on StartTime and EndTime based on what IntervalPeriod is requested.

      • FIFTEEN_MIN: The difference between StartTime and EndTime must be less than 3 days.

      • THIRTY_MIN: The difference between StartTime and EndTime must be less than 3 days.

      • HOUR: The difference between StartTime and EndTime must be less than 3 days.

      • DAY: The difference between StartTime and EndTime must be less than 35 days.

      • WEEK: The difference between StartTime and EndTime must be less than 35 days.

      • TOTAL: The difference between StartTime and EndTime must be less than 35 days.

      " + } + }, + "documentation":"

      Information about the interval period to use for returning results.

      " + }, + "IntervalPeriod":{ + "type":"string", + "enum":[ + "FIFTEEN_MIN", + "THIRTY_MIN", + "HOUR", + "DAY", + "WEEK", + "TOTAL" + ] + }, "InvalidContactFlowException":{ "type":"structure", "members":{ @@ -10869,7 +10946,7 @@ }, "PhoneNumberTypes":{ "shape":"PhoneNumberTypes", - "documentation":"

      The type of phone number.

      ", + "documentation":"

      The type of phone number.

      We recommend using ListPhoneNumbersV2 to return phone number types. While ListPhoneNumbers returns number types UIFN, SHARED, THIRD_PARTY_TF, and THIRD_PARTY_DID, it incorrectly lists them as TOLL_FREE or DID.

      ", "location":"querystring", "locationName":"phoneNumberTypes" }, @@ -11329,6 +11406,52 @@ } } }, + "ListSecurityProfileApplicationsRequest":{ + "type":"structure", + "required":[ + "SecurityProfileId", + "InstanceId" + ], + "members":{ + "SecurityProfileId":{ + "shape":"SecurityProfileId", + "documentation":"

      The security profile identifier.

      ", + "location":"uri", + "locationName":"SecurityProfileId" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

      The instance identifier.

      ", + "location":"uri", + "locationName":"InstanceId" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

      The token for the next set of results. The next set of results can be retrieved by using the token value returned in the previous response when making the next request.

      ", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResult1000", + "documentation":"

      The maximum number of results to return per page.

      ", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListSecurityProfileApplicationsResponse":{ + "type":"structure", + "members":{ + "Applications":{ + "shape":"Applications", + "documentation":"

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

      A list of the third party application's metadata.

      " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

      The token for the next set of results. The next set of results can be retrieved by using the token value returned in the previous response when making the next request.

      " + } + } + }, "ListSecurityProfilePermissionsRequest":{ "type":"structure", "required":[ @@ -11880,6 +12003,10 @@ "MetricFilterValues":{ "shape":"MetricFilterValueList", "documentation":"

      The values to use for filtering data.

      Valid metric filter values for INITIATION_METHOD: INBOUND | OUTBOUND | TRANSFER | QUEUE_TRANSFER | CALLBACK | API

      Valid metric filter values for DISCONNECT_REASON: CUSTOMER_DISCONNECT | AGENT_DISCONNECT | THIRD_PARTY_DISCONNECT | TELECOM_PROBLEM | BARGED | CONTACT_FLOW_DISCONNECT | OTHER | EXPIRED | API

      " + }, + "Negate":{ + "shape":"Boolean", + "documentation":"

      The flag to use to filter on requested metric filter values or to not filter on requested metric filter values. By default the negate is false, which indicates to filter on the requested metric filter.

      " } }, "documentation":"

      Contains information about the filter used when retrieving metrics. MetricFiltersV2 can be used on the following metrics: AVG_AGENT_CONNECTING_TIME, CONTACTS_CREATED, CONTACTS_HANDLED, SUM_CONTACTS_DISCONNECTED.

      " @@ -11895,6 +12022,24 @@ "member":{"shape":"MetricFilterV2"}, "max":2 }, + "MetricInterval":{ + "type":"structure", + "members":{ + "Interval":{ + "shape":"IntervalPeriod", + "documentation":"

      The interval period provided in the API request.

      " + }, + "StartTime":{ + "shape":"Timestamp", + "documentation":"

      The timestamp, in UNIX Epoch time format. Start time is based on the interval period selected.

      " + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

      The timestamp, in UNIX Epoch time format. End time is based on the interval period selected. For example, If IntervalPeriod is selected THIRTY_MIN, StartTime and EndTime in the API request differs by 1 day, then 48 results are returned in the response. Each result is aggregated by the 30 minutes period, with each StartTime and EndTime differing by 30 minutes.

      " + } + }, + "documentation":"

      The interval period with the start and end time for the metrics.

      " + }, "MetricNameV2":{"type":"string"}, "MetricResultV2":{ "type":"structure", @@ -11903,6 +12048,10 @@ "shape":"DimensionsV2Map", "documentation":"

      The dimension for the metrics.

      " }, + "MetricInterval":{ + "shape":"MetricInterval", + "documentation":"

      The interval period with the start and end time for the metrics.

      " + }, "Collections":{ "shape":"MetricDataCollectionsV2", "documentation":"

      The set of metrics.

      " @@ -12003,6 +12152,11 @@ "min":1, "pattern":"(^[\\S].*[\\S]$)|(^[\\S]$)" }, + "Namespace":{ + "type":"string", + "max":128, + "min":1 + }, "NextToken":{"type":"string"}, "NextToken2500":{ "type":"string", @@ -12245,6 +12399,11 @@ "max":100, "min":0 }, + "Permission":{ + "type":"string", + "max":128, + "min":1 + }, "PermissionsList":{ "type":"list", "member":{"shape":"SecurityProfilePermission"}, @@ -13768,15 +13927,15 @@ }, "EventBridgeAction":{ "shape":"EventBridgeActionDefinition", - "documentation":"

      Information about the EventBridge action.

      " + "documentation":"

      Information about the EventBridge action.

      Supported only for TriggerEventSource values: OnPostCallAnalysisAvailable | OnRealTimeCallAnalysisAvailable | OnPostChatAnalysisAvailable | OnContactEvaluationSubmit | OnMetricDataUpdate

      " }, "AssignContactCategoryAction":{ "shape":"AssignContactCategoryActionDefinition", - "documentation":"

      Information about the contact category action.

      " + "documentation":"

      Information about the contact category action.

      Supported only for TriggerEventSource values: OnPostCallAnalysisAvailable | OnRealTimeCallAnalysisAvailable | OnPostChatAnalysisAvailable | OnZendeskTicketCreate | OnZendeskTicketStatusUpdate | OnSalesforceCaseCreate

      " }, "SendNotificationAction":{ "shape":"SendNotificationActionDefinition", - "documentation":"

      Information about the send notification action.

      " + "documentation":"

      Information about the send notification action.

      Supported only for TriggerEventSource values: OnPostCallAnalysisAvailable | OnRealTimeCallAnalysisAvailable | OnPostChatAnalysisAvailable | OnContactEvaluationSubmit | OnMetricDataUpdate

      " } }, "documentation":"

      Information about the action to be performed when a rule is triggered.

      " @@ -13869,7 +14028,7 @@ "documentation":"

      The identifier for the integration association.

      " } }, - "documentation":"

      The name of the event source. This field is required if TriggerEventSource is one of the following values: OnZendeskTicketCreate | OnZendeskTicketStatusUpdate | OnSalesforceCaseCreate

      " + "documentation":"

      The name of the event source. This field is required if TriggerEventSource is one of the following values: OnZendeskTicketCreate | OnZendeskTicketStatusUpdate | OnSalesforceCaseCreate | OnContactEvaluationSubmit | OnMetricDataUpdate.

      " }, "S3Config":{ "type":"structure", @@ -15948,7 +16107,7 @@ }, "Content":{ "shape":"ContactFlowContent", - "documentation":"

      The JSON string that represents flow's content. For an example, see Example contact flow in Amazon Connect Flow language.

      " + "documentation":"

      The JSON string that represents the content of the flow. For an example, see Example contact flow in Amazon Connect Flow language.

      Length Constraints: Minimum length of 1. Maximum length of 256000.

      " } } }, @@ -16017,7 +16176,7 @@ }, "Content":{ "shape":"ContactFlowModuleContent", - "documentation":"

      The content of the flow module.

      " + "documentation":"

      The JSON string that represents the content of the flow. For an example, see Example contact flow in Amazon Connect Flow language.

      " } } }, @@ -16862,6 +17021,10 @@ "TagRestrictedResources":{ "shape":"TagRestrictedResourceList", "documentation":"

      The list of resources that a security profile applies tag restrictions to in Amazon Connect.

      " + }, + "Applications":{ + "shape":"Applications", + "documentation":"

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

      A list of the third party application's metadata.

      " } } }, diff --git a/services/connectcampaigns/pom.xml b/services/connectcampaigns/pom.xml index b259aecf3284..31447d6683ef 100644 --- a/services/connectcampaigns/pom.xml +++ b/services/connectcampaigns/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT connectcampaigns AWS Java SDK :: Services :: Connect Campaigns diff --git a/services/connectcases/pom.xml b/services/connectcases/pom.xml index 79861597b37a..fb280a0c74c7 100644 --- a/services/connectcases/pom.xml +++ b/services/connectcases/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT connectcases AWS Java SDK :: Services :: Connect Cases diff --git a/services/connectcases/src/main/resources/codegen-resources/endpoint-tests.json b/services/connectcases/src/main/resources/codegen-resources/endpoint-tests.json index 5b806555c80e..75768bc0932d 100644 --- a/services/connectcases/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/connectcases/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,54 +1,54 @@ { "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://cases-fips.us-gov-east-1.api.aws" + "url": "https://cases-fips.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": 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://cases-fips.us-gov-east-1.amazonaws.com" + "url": "https://cases-fips.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "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://cases.us-gov-east-1.api.aws" + "url": "https://cases.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "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://cases.us-gov-east-1.amazonaws.com" + "url": "https://cases.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-gov-east-1", "UseDualStack": false } }, @@ -60,8 +60,8 @@ } }, "params": { - "UseFIPS": true, "Region": "cn-north-1", + "UseFIPS": true, "UseDualStack": true } }, @@ -73,8 +73,8 @@ } }, "params": { - "UseFIPS": true, "Region": "cn-north-1", + "UseFIPS": true, "UseDualStack": false } }, @@ -86,8 +86,8 @@ } }, "params": { - "UseFIPS": false, "Region": "cn-north-1", + "UseFIPS": false, "UseDualStack": true } }, @@ -99,108 +99,108 @@ } }, "params": { - "UseFIPS": false, "Region": "cn-north-1", + "UseFIPS": false, "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://cases-fips.us-gov-east-1.api.aws" + } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": 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://cases-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://cases-fips.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "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://cases.us-gov-east-1.api.aws" + } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "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://cases.us-iso-east-1.c2s.ic.gov" + "url": "https://cases.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": 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://cases-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, - "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://cases-fips.us-east-1.amazonaws.com" + "url": "https://cases-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "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://cases.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "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://cases.us-east-1.amazonaws.com" + "url": "https://cases.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "us-east-1", "UseDualStack": false } }, @@ -210,8 +210,8 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseFIPS": true, "Region": "us-isob-east-1", + "UseFIPS": true, "UseDualStack": true } }, @@ -223,8 +223,8 @@ } }, "params": { - "UseFIPS": true, "Region": "us-isob-east-1", + "UseFIPS": true, "UseDualStack": false } }, @@ -234,8 +234,8 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseFIPS": false, "Region": "us-isob-east-1", + "UseFIPS": false, "UseDualStack": true } }, @@ -247,21 +247,34 @@ } }, "params": { - "UseFIPS": false, "Region": "us-isob-east-1", + "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, "UseDualStack": false, "Endpoint": "https://example.com" } @@ -272,8 +285,8 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, "UseDualStack": false, "Endpoint": "https://example.com" } @@ -284,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/connectcontactlens/pom.xml b/services/connectcontactlens/pom.xml index c1fc341def24..33ecbdfe9aea 100644 --- a/services/connectcontactlens/pom.xml +++ b/services/connectcontactlens/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT connectcontactlens AWS Java SDK :: Services :: Connect Contact Lens diff --git a/services/connectcontactlens/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/connectcontactlens/src/main/resources/codegen-resources/endpoint-rule-set.json index 5e1789a03e41..6abbb71bc8f9 100644 --- a/services/connectcontactlens/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/connectcontactlens/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://contact-lens-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://contact-lens-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://contact-lens.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://contact-lens.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://contact-lens.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://contact-lens.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/connectcontactlens/src/main/resources/codegen-resources/endpoint-tests.json b/services/connectcontactlens/src/main/resources/codegen-resources/endpoint-tests.json index adc2ee140b52..01e42bd8ac8a 100644 --- a/services/connectcontactlens/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/connectcontactlens/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,94 +1,42 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://contact-lens-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://contact-lens-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://contact-lens.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://contact-lens.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://contact-lens-fips.ca-central-1.api.aws" + "url": "https://contact-lens.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://contact-lens-fips.ca-central-1.amazonaws.com" + "url": "https://contact-lens.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://contact-lens.ca-central-1.api.aws" + "url": "https://contact-lens.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -99,48 +47,9 @@ } }, "params": { - "UseDualStack": false, "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://contact-lens-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://contact-lens-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://contact-lens.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -151,48 +60,35 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://contact-lens-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://contact-lens-fips.us-west-2.amazonaws.com" + "url": "https://contact-lens.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://contact-lens.us-west-2.api.aws" + "url": "https://contact-lens.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -203,334 +99,274 @@ } }, "params": { - "UseDualStack": false, "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://contact-lens-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://contact-lens-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://contact-lens.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://contact-lens.eu-west-2.amazonaws.com" + "url": "https://contact-lens-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://contact-lens-fips.ap-northeast-2.api.aws" + "url": "https://contact-lens-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://contact-lens-fips.ap-northeast-2.amazonaws.com" + "url": "https://contact-lens.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://contact-lens.ap-northeast-2.api.aws" + "url": "https://contact-lens-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://contact-lens.ap-northeast-2.amazonaws.com" + "url": "https://contact-lens-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://contact-lens-fips.ap-northeast-1.api.aws" + "url": "https://contact-lens.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://contact-lens-fips.ap-northeast-1.amazonaws.com" + "url": "https://contact-lens.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://contact-lens.ap-northeast-1.api.aws" + "url": "https://contact-lens-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://contact-lens.ap-northeast-1.amazonaws.com" + "url": "https://contact-lens-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://contact-lens-fips.ap-southeast-1.api.aws" + "url": "https://contact-lens.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://contact-lens-fips.ap-southeast-1.amazonaws.com" + "url": "https://contact-lens.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://contact-lens.ap-southeast-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://contact-lens.ap-southeast-1.amazonaws.com" + "url": "https://contact-lens-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://contact-lens-fips.ap-southeast-2.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://contact-lens-fips.ap-southeast-2.amazonaws.com" + "url": "https://contact-lens.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://contact-lens.ap-southeast-2.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://contact-lens.ap-southeast-2.amazonaws.com" + "url": "https://contact-lens-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://contact-lens-fips.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://contact-lens-fips.us-east-1.amazonaws.com" + "url": "https://contact-lens.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://contact-lens.us-east-1.api.aws" + "url": "https://example.com" } }, "params": { - "UseDualStack": true, "Region": "us-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://contact-lens.us-east-1.amazonaws.com" - } - }, - "params": { + "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -540,9 +376,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -552,11 +388,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/connectparticipant/pom.xml b/services/connectparticipant/pom.xml index 300c9cacdceb..8767339742c9 100644 --- a/services/connectparticipant/pom.xml +++ b/services/connectparticipant/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT connectparticipant AWS Java SDK :: Services :: ConnectParticipant diff --git a/services/controltower/pom.xml b/services/controltower/pom.xml index 1d117f974e01..f66aee1031b7 100644 --- a/services/controltower/pom.xml +++ b/services/controltower/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT controltower AWS Java SDK :: Services :: Control Tower diff --git a/services/controltower/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/controltower/src/main/resources/codegen-resources/endpoint-rule-set.json index 25bacc660e86..88dcbe68ecd8 100644 --- a/services/controltower/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/controltower/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://controltower-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://controltower-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://controltower.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://controltower.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://controltower.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://controltower.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/controltower/src/main/resources/codegen-resources/endpoint-tests.json b/services/controltower/src/main/resources/codegen-resources/endpoint-tests.json index f7777be8f844..592037b78a16 100644 --- a/services/controltower/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/controltower/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,900 +1,502 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://controltower-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://controltower-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://controltower.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://controltower.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://controltower-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://controltower-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://controltower.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://controltower.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://controltower-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://controltower-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://controltower.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://controltower.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://controltower-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://controltower-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://controltower.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://controltower.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://controltower-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://controltower-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://controltower.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://controltower.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://controltower-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://controltower-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://controltower.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://controltower.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://controltower-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://controltower-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://controltower.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://controltower.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://controltower-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://controltower-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://controltower.eu-west-2.api.aws" + "url": "https://controltower.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://controltower.eu-west-2.amazonaws.com" + "url": "https://controltower.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://controltower-fips.eu-west-1.api.aws" + "url": "https://controltower.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://controltower-fips.eu-west-1.amazonaws.com" + "url": "https://controltower.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://controltower.eu-west-1.api.aws" + "url": "https://controltower.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://controltower.eu-west-1.amazonaws.com" + "url": "https://controltower.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://controltower-fips.ap-northeast-2.api.aws" + "url": "https://controltower-fips.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "ca-central-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://controltower-fips.ap-northeast-2.amazonaws.com" + "url": "https://controltower.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://controltower.ap-northeast-2.api.aws" + "url": "https://controltower.eu-north-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://controltower.ap-northeast-2.amazonaws.com" + "url": "https://controltower.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://controltower-fips.ap-northeast-1.api.aws" + "url": "https://controltower.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://controltower-fips.ap-northeast-1.amazonaws.com" + "url": "https://controltower.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://controltower.ap-northeast-1.api.aws" + "url": "https://controltower.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://controltower.ap-northeast-1.amazonaws.com" + "url": "https://controltower.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://controltower-fips.sa-east-1.api.aws" + "url": "https://controltower-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://controltower-fips.sa-east-1.amazonaws.com" + "url": "https://controltower.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": true + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://controltower.sa-east-1.api.aws" + "url": "https://controltower-fips.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://controltower.sa-east-1.amazonaws.com" + "url": "https://controltower.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://controltower-fips.us-gov-west-1.api.aws" + "url": "https://controltower-fips.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "us-west-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://controltower-fips.us-gov-west-1.amazonaws.com" + "url": "https://controltower-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://controltower.us-gov-west-1.api.aws" + "url": "https://controltower.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://controltower.us-gov-west-1.amazonaws.com" + "url": "https://controltower-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://controltower-fips.ap-southeast-1.api.aws" + "url": "https://controltower-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://controltower-fips.ap-southeast-1.amazonaws.com" + "url": "https://controltower.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://controltower.ap-southeast-1.api.aws" + "url": "https://controltower.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://controltower.ap-southeast-1.amazonaws.com" + "url": "https://controltower-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://controltower-fips.ap-southeast-2.api.aws" + "url": "https://controltower-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://controltower-fips.ap-southeast-2.amazonaws.com" + "url": "https://controltower.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://controltower.ap-southeast-2.api.aws" + "url": "https://controltower.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://controltower.ap-southeast-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://controltower-fips.us-east-1.api.aws" + "url": "https://controltower-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://controltower-fips.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://controltower.us-east-1.api.aws" + "url": "https://controltower.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://controltower.us-east-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://controltower-fips.us-east-2.api.aws" + "url": "https://controltower-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://controltower-fips.us-east-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://controltower.us-east-2.api.aws" + "url": "https://controltower.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://controltower.us-east-2.amazonaws.com" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -904,9 +506,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -916,11 +518,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/costandusagereport/pom.xml b/services/costandusagereport/pom.xml index fb0608ab5dfa..f3a8013845d5 100644 --- a/services/costandusagereport/pom.xml +++ b/services/costandusagereport/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT costandusagereport AWS Java SDK :: Services :: AWS Cost and Usage Report diff --git a/services/costandusagereport/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/costandusagereport/src/main/resources/codegen-resources/endpoint-rule-set.json index a917d0c9310d..1b81a458526a 100644 --- a/services/costandusagereport/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/costandusagereport/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://cur-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://cur-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://cur-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://cur-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://cur.{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://cur.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://cur.{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://cur.{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/services/costexplorer/pom.xml b/services/costexplorer/pom.xml index b0228462c731..a9aa822b6950 100644 --- a/services/costexplorer/pom.xml +++ b/services/costexplorer/pom.xml @@ -20,7 +20,7 @@ services software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 costexplorer diff --git a/services/customerprofiles/pom.xml b/services/customerprofiles/pom.xml index e9804c5407c0..79e32bc95658 100644 --- a/services/customerprofiles/pom.xml +++ b/services/customerprofiles/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT customerprofiles AWS Java SDK :: Services :: Customer Profiles diff --git a/services/databasemigration/pom.xml b/services/databasemigration/pom.xml index 1ade867af520..6bcf01fbc39d 100644 --- a/services/databasemigration/pom.xml +++ b/services/databasemigration/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT databasemigration AWS Java SDK :: Services :: AWS Database Migration Service diff --git a/services/databasemigration/src/main/resources/codegen-resources/service-2.json b/services/databasemigration/src/main/resources/codegen-resources/service-2.json index 3250f07993db..14f5809c1def 100644 --- a/services/databasemigration/src/main/resources/codegen-resources/service-2.json +++ b/services/databasemigration/src/main/resources/codegen-resources/service-2.json @@ -219,7 +219,7 @@ {"shape":"InvalidSubnet"}, {"shape":"KMSKeyNotAccessibleFault"} ], - "documentation":"

      Creates the replication instance using the specified parameters.

      DMS requires that your account have certain roles with appropriate permissions before you can create a replication instance. For information on the required roles, see Creating the IAM Roles to Use With the CLI and DMS API. For information on the required permissions, see IAM Permissions Needed to Use DMS.

      " + "documentation":"

      Creates the replication instance using the specified parameters.

      DMS requires that your account have certain roles with appropriate permissions before you can create a replication instance. For information on the required roles, see Creating the IAM Roles to Use With the CLI and DMS API. For information on the required permissions, see IAM Permissions Needed to Use DMS.

      If you don't specify a version when creating a replication instance, DMS will create the instance using the default engine version. For information about the default engine version, see Release Notes.

      " }, "CreateReplicationSubnetGroup":{ "name":"CreateReplicationSubnetGroup", @@ -1580,7 +1580,7 @@ {"shape":"AccessDeniedFault"}, {"shape":"InvalidResourceStateFault"} ], - "documentation":"

      Migrates 10 active and enabled Amazon SNS subscriptions at a time and converts them to corresponding Amazon EventBridge rules. By default, this operation migrates subscriptions only when all your replication instance versions are 3.4.6 or higher. If any replication instances are from versions earlier than 3.4.6, the operation raises an error and tells you to upgrade these instances to version 3.4.6 or higher. To enable migration regardless of version, set the Force option to true. However, if you don't upgrade instances earlier than version 3.4.6, some types of events might not be available when you use Amazon EventBridge.

      To call this operation, make sure that you have certain permissions added to your user account. For more information, see Migrating event subscriptions to Amazon EventBridge in the Amazon Web Services Database Migration Service User Guide.

      " + "documentation":"

      Migrates 10 active and enabled Amazon SNS subscriptions at a time and converts them to corresponding Amazon EventBridge rules. By default, this operation migrates subscriptions only when all your replication instance versions are 3.4.5 or higher. If any replication instances are from versions earlier than 3.4.5, the operation raises an error and tells you to upgrade these instances to version 3.4.5 or higher. To enable migration regardless of version, set the Force option to true. However, if you don't upgrade instances earlier than version 3.4.5, some types of events might not be available when you use Amazon EventBridge.

      To call this operation, make sure that you have certain permissions added to your user account. For more information, see Migrating event subscriptions to Amazon EventBridge in the Amazon Web Services Database Migration Service User Guide.

      " } }, "shapes":{ @@ -1993,11 +1993,11 @@ }, "MaxCapacityUnits":{ "shape":"IntegerOptional", - "documentation":"

      Specifies the maximum value of the DMS capacity units (DCUs) for which a given DMS Serverless replication can be provisioned. A single DCU is 2GB of RAM, with 2 DCUs as the minimum value allowed. The list of valid DCU values includes 2, 4, 8, 16, 32, 64, 128, 192, 256, and 384. So, the maximum value that you can specify for DMS Serverless is 384. The MaxCapacityUnits parameter is the only DCU parameter you are required to specify.

      " + "documentation":"

      Specifies the maximum value of the DMS capacity units (DCUs) for which a given DMS Serverless replication can be provisioned. A single DCU is 2GB of RAM, with 1 DCU as the minimum value allowed. The list of valid DCU values includes 1, 2, 4, 8, 16, 32, 64, 128, 192, 256, and 384. So, the maximum value that you can specify for DMS Serverless is 384. The MaxCapacityUnits parameter is the only DCU parameter you are required to specify.

      " }, "MinCapacityUnits":{ "shape":"IntegerOptional", - "documentation":"

      Specifies the minimum value of the DMS capacity units (DCUs) for which a given DMS Serverless replication can be provisioned. A single DCU is 2GB of RAM, with 2 DCUs as the minimum value allowed. The list of valid DCU values includes 2, 4, 8, 16, 32, 64, 128, 192, 256, and 384. So, the minimum DCU value that you can specify for DMS Serverless is 2. You don't have to specify a value for the MinCapacityUnits parameter. If you don't set this value, DMS scans the current activity of available source tables to identify an optimum setting for this parameter. If there is no current source activity or DMS can't otherwise identify a more appropriate value, it sets this parameter to the minimum DCU value allowed, 2.

      " + "documentation":"

      Specifies the minimum value of the DMS capacity units (DCUs) for which a given DMS Serverless replication can be provisioned. A single DCU is 2GB of RAM, with 1 DCU as the minimum value allowed. The list of valid DCU values includes 1, 2, 4, 8, 16, 32, 64, 128, 192, 256, and 384. So, the minimum DCU value that you can specify for DMS Serverless is 1. You don't have to specify a value for the MinCapacityUnits parameter. If you don't set this value, DMS scans the current activity of available source tables to identify an optimum setting for this parameter. If there is no current source activity or DMS can't otherwise identify a more appropriate value, it sets this parameter to the minimum DCU value allowed, 1.

      " }, "MultiAZ":{ "shape":"BooleanOptional", @@ -2554,7 +2554,7 @@ }, "AutoMinorVersionUpgrade":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether minor engine upgrades are applied automatically to the replication instance during the maintenance window. This parameter defaults to true.

      Default: true

      When AutoMinorVersionUpgrade is enabled, DMS uses the current default engine version when you create a replication instance. For example, if you set EngineVersion to a lower version number than the current default version, DMS uses the default version.

      If AutoMinorVersionUpgrade isn’t enabled when you create a replication instance, DMS uses the engine version specified by the EngineVersion parameter.

      " + "documentation":"

      A value that indicates whether minor engine upgrades are applied automatically to the replication instance during the maintenance window. This parameter defaults to true.

      Default: true

      " }, "Tags":{ "shape":"TagList", @@ -2679,7 +2679,7 @@ }, "CdcStopPosition":{ "shape":"String", - "documentation":"

      Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.

      Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12”

      Commit time example: --cdc-stop-position “commit_time: 2018-02-09T12:12:12“

      " + "documentation":"

      Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.

      Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12”

      Commit time example: --cdc-stop-position “commit_time:2018-02-09T12:12:12“

      " }, "Tags":{ "shape":"TagList", @@ -2799,10 +2799,20 @@ "DataProviderSettings":{ "type":"structure", "members":{ + "RedshiftSettings":{"shape":"RedshiftDataProviderSettings"}, "PostgreSqlSettings":{"shape":"PostgreSqlDataProviderSettings"}, "MySqlSettings":{"shape":"MySqlDataProviderSettings"}, "OracleSettings":{"shape":"OracleDataProviderSettings"}, - "MicrosoftSqlServerSettings":{"shape":"MicrosoftSqlServerDataProviderSettings"} + "MicrosoftSqlServerSettings":{"shape":"MicrosoftSqlServerDataProviderSettings"}, + "DocDbSettings":{"shape":"DocDbDataProviderSettings"}, + "MariaDbSettings":{ + "shape":"MariaDbDataProviderSettings", + "documentation":"

      Provides information that defines a MariaDB data provider.

      " + }, + "MongoDbSettings":{ + "shape":"MongoDbDataProviderSettings", + "documentation":"

      Provides information that defines a MongoDB data provider.

      " + } }, "documentation":"

      Provides information that defines a data provider.

      ", "union":true @@ -4631,6 +4641,32 @@ }, "documentation":"

      The settings in JSON format for the DMS Transfer type source endpoint.

      " }, + "DocDbDataProviderSettings":{ + "type":"structure", + "members":{ + "ServerName":{ + "shape":"String", + "documentation":"

      The name of the source DocumentDB server.

      " + }, + "Port":{ + "shape":"IntegerOptional", + "documentation":"

      The port value for the DocumentDB data provider.

      " + }, + "DatabaseName":{ + "shape":"String", + "documentation":"

      The database name on the DocumentDB data provider.

      " + }, + "SslMode":{ + "shape":"DmsSslModeValue", + "documentation":"

      The SSL mode used to connect to the DocumentDB data provider. The default value is none.

      " + }, + "CertificateArn":{ + "shape":"String", + "documentation":"

      The Amazon Resource Name (ARN) of the certificate used for SSL connection.

      " + } + }, + "documentation":"

      Provides information that defines a DocumentDB data provider.

      " + }, "DocDbSettings":{ "type":"structure", "members":{ @@ -5812,6 +5848,28 @@ "nclob" ] }, + "MariaDbDataProviderSettings":{ + "type":"structure", + "members":{ + "ServerName":{ + "shape":"String", + "documentation":"

      The name of the MariaDB server.

      " + }, + "Port":{ + "shape":"IntegerOptional", + "documentation":"

      The port value for the MariaDB data provider

      " + }, + "SslMode":{ + "shape":"DmsSslModeValue", + "documentation":"

      The SSL mode used to connect to the MariaDB data provider. The default value is none.

      " + }, + "CertificateArn":{ + "shape":"String", + "documentation":"

      The Amazon Resource Name (ARN) of the certificate used for SSL connection.

      " + } + }, + "documentation":"

      Provides information that defines a MariaDB data provider.

      " + }, "MessageFormatValue":{ "type":"string", "enum":[ @@ -5880,7 +5938,7 @@ }, "TrimSpaceInChar":{ "shape":"BooleanOptional", - "documentation":"

      Use the TrimSpaceInChar source endpoint setting to trim data on CHAR and NCHAR data types during migration. The default value is true.

      " + "documentation":"

      Use the TrimSpaceInChar source endpoint setting to right-trim data on CHAR and NCHAR data types during migration. Setting TrimSpaceInChar does not left-trim data. The default value is true.

      " }, "TlogAccessMode":{ "shape":"TlogAccessMode", @@ -6421,7 +6479,7 @@ }, "AutoMinorVersionUpgrade":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates that minor version upgrades are applied automatically to the replication instance during the maintenance window. Changing this parameter doesn't result in an outage, except in the case described following. The change is asynchronously applied as soon as possible.

      An outage does result if these factors apply:

      • This parameter is set to true during the maintenance window.

      • A newer minor version is available.

      • DMS has enabled automatic patching for the given engine version.

      When AutoMinorVersionUpgrade is enabled, DMS uses the current default engine version when you modify a replication instance. For example, if you set EngineVersion to a lower version number than the current default version, DMS uses the default version.

      If AutoMinorVersionUpgrade isn’t enabled when you modify a replication instance, DMS uses the engine version specified by the EngineVersion parameter.

      " + "documentation":"

      A value that indicates that minor version upgrades are applied automatically to the replication instance during the maintenance window. Changing this parameter doesn't result in an outage, except in the case described following. The change is asynchronously applied as soon as possible.

      An outage does result if these factors apply:

      • This parameter is set to true during the maintenance window.

      • A newer minor version is available.

      • DMS has enabled automatic patching for the given engine version.

      " }, "ReplicationInstanceIdentifier":{ "shape":"String", @@ -6510,7 +6568,7 @@ }, "CdcStopPosition":{ "shape":"String", - "documentation":"

      Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.

      Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12”

      Commit time example: --cdc-stop-position “commit_time: 2018-02-09T12:12:12“

      " + "documentation":"

      Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.

      Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12”

      Commit time example: --cdc-stop-position “commit_time:2018-02-09T12:12:12“

      " }, "TaskData":{ "shape":"String", @@ -6529,6 +6587,44 @@ }, "documentation":"

      " }, + "MongoDbDataProviderSettings":{ + "type":"structure", + "members":{ + "ServerName":{ + "shape":"String", + "documentation":"

      The name of the MongoDB server.

      " + }, + "Port":{ + "shape":"IntegerOptional", + "documentation":"

      The port value for the MongoDB data provider.

      " + }, + "DatabaseName":{ + "shape":"String", + "documentation":"

      The database name on the MongoDB data provider.

      " + }, + "SslMode":{ + "shape":"DmsSslModeValue", + "documentation":"

      The SSL mode used to connect to the MongoDB data provider. The default value is none.

      " + }, + "CertificateArn":{ + "shape":"String", + "documentation":"

      The Amazon Resource Name (ARN) of the certificate used for SSL connection.

      " + }, + "AuthType":{ + "shape":"AuthTypeValue", + "documentation":"

      The authentication type for the database connection. Valid values are PASSWORD or NO.

      " + }, + "AuthSource":{ + "shape":"String", + "documentation":"

      The MongoDB database name. This setting isn't used when AuthType is set to \"no\".

      The default is \"admin\".

      " + }, + "AuthMechanism":{ + "shape":"AuthMechanismValue", + "documentation":"

      The authentication method for connecting to the data provider. Valid values are DEFAULT, MONGODB_CR, or SCRAM_SHA_1.

      " + } + }, + "documentation":"

      Provides information that defines a MongoDB data provider.

      " + }, "MongoDbSettings":{ "type":"structure", "members":{ @@ -6542,7 +6638,7 @@ }, "ServerName":{ "shape":"String", - "documentation":"

      The name of the server on the MongoDB source endpoint.

      " + "documentation":"

      The name of the server on the MongoDB source endpoint. For MongoDB Atlas, provide the server name for any of the servers in the replication set.

      " }, "Port":{ "shape":"IntegerOptional", @@ -6959,7 +7055,7 @@ }, "SecretsManagerOracleAsmAccessRoleArn":{ "shape":"String", - "documentation":"

      Required only if your Oracle endpoint uses Automatic Storage Management (ASM). The full ARN of the IAM role that specifies DMS as the trusted entity and grants the required permissions to access the SecretsManagerOracleAsmSecret. This SecretsManagerOracleAsmSecret has the secret value that allows access to the Oracle ASM of the endpoint.

      You can specify one of two sets of values for these permissions. You can specify the values for this setting and SecretsManagerOracleAsmSecretId. Or you can specify clear-text values for AsmUserName, AsmPassword, and AsmServerName. You can't specify both. For more information on creating this SecretsManagerOracleAsmSecret and the SecretsManagerOracleAsmAccessRoleArn and SecretsManagerOracleAsmSecretId required to access it, see Using secrets to access Database Migration Service resources in the Database Migration Service User Guide.

      " + "documentation":"

      Required only if your Oracle endpoint uses Automatic Storage Management (ASM). The full ARN of the IAM role that specifies DMS as the trusted entity and grants the required permissions to access the SecretsManagerOracleAsmSecret. This SecretsManagerOracleAsmSecret has the secret value that allows access to the Oracle ASM of the endpoint.

      You can specify one of two sets of values for these permissions. You can specify the values for this setting and SecretsManagerOracleAsmSecretId. Or you can specify clear-text values for AsmUser, AsmPassword, and AsmServerName. You can't specify both. For more information on creating this SecretsManagerOracleAsmSecret and the SecretsManagerOracleAsmAccessRoleArn and SecretsManagerOracleAsmSecretId required to access it, see Using secrets to access Database Migration Service resources in the Database Migration Service User Guide.

      " }, "SecretsManagerOracleAsmSecretId":{ "shape":"String", @@ -7167,7 +7263,7 @@ }, "MapBooleanAsBoolean":{ "shape":"BooleanOptional", - "documentation":"

      When true, lets PostgreSQL migrate the boolean type as boolean. By default, PostgreSQL migrates booleans as varchar(5).

      " + "documentation":"

      When true, lets PostgreSQL migrate the boolean type as boolean. By default, PostgreSQL migrates booleans as varchar(5). You must set this setting on both the source and target endpoints for it to take effect.

      " }, "MapJsonbAsClob":{ "shape":"BooleanOptional", @@ -7473,6 +7569,24 @@ }, "documentation":"

      Provides information that defines a Redis target endpoint.

      " }, + "RedshiftDataProviderSettings":{ + "type":"structure", + "members":{ + "ServerName":{ + "shape":"String", + "documentation":"

      The name of the Amazon Redshift server.

      " + }, + "Port":{ + "shape":"IntegerOptional", + "documentation":"

      The port value for the Amazon Redshift data provider.

      " + }, + "DatabaseName":{ + "shape":"String", + "documentation":"

      The database name on the Amazon Redshift data provider.

      " + } + }, + "documentation":"

      Provides information that defines an Amazon Redshift data provider.

      " + }, "RedshiftSettings":{ "type":"structure", "members":{ @@ -7598,7 +7712,7 @@ }, "MapBooleanAsBoolean":{ "shape":"BooleanOptional", - "documentation":"

      When true, lets Redshift migrate the boolean type as boolean. By default, Redshift migrates booleans as varchar(1).

      " + "documentation":"

      When true, lets Redshift migrate the boolean type as boolean. By default, Redshift migrates booleans as varchar(1). You must set this setting on both the source and target endpoints for it to take effect.

      " } }, "documentation":"

      Provides information that defines an Amazon Redshift endpoint.

      " @@ -8236,7 +8350,7 @@ }, "CdcStopPosition":{ "shape":"String", - "documentation":"

      Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.

      Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12”

      Commit time example: --cdc-stop-position “commit_time: 2018-02-09T12:12:12“

      " + "documentation":"

      Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.

      Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12”

      Commit time example: --cdc-stop-position “commit_time:2018-02-09T12:12:12“

      " }, "RecoveryCheckpoint":{ "shape":"String", @@ -8673,7 +8787,7 @@ }, "CsvNullValue":{ "shape":"String", - "documentation":"

      An optional parameter that specifies how DMS treats null values. While handling the null value, you can use this parameter to pass a user-defined string as null when writing to the target. For example, when target columns are not nullable, you can use this option to differentiate between the empty string value and the null value. So, if you set this parameter value to the empty string (\"\" or ''), DMS treats the empty string as the null value instead of NULL.

      The default value is NULL. Valid values include any valid string.

      " + "documentation":"

      An optional parameter that specifies how DMS treats null values. While handling the null value, you can use this parameter to pass a user-defined string as null when writing to the target. For example, when target columns are nullable, you can use this option to differentiate between the empty string value and the null value. So, if you set this parameter value to the empty string (\"\" or ''), DMS treats the empty string as the null value instead of NULL.

      The default value is NULL. Valid values include any valid string.

      " }, "IgnoreHeaderRows":{ "shape":"IntegerOptional", @@ -9234,7 +9348,7 @@ }, "CdcStopPosition":{ "shape":"String", - "documentation":"

      Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.

      Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12”

      Commit time example: --cdc-stop-position “commit_time: 2018-02-09T12:12:12“

      " + "documentation":"

      Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.

      Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12”

      Commit time example: --cdc-stop-position “commit_time:2018-02-09T12:12:12“

      " } }, "documentation":"

      " @@ -9642,7 +9756,7 @@ "members":{ "ForceMove":{ "shape":"BooleanOptional", - "documentation":"

      When set to true, this operation migrates DMS subscriptions for Amazon SNS notifications no matter what your replication instance version is. If not set or set to false, this operation runs only when all your replication instances are from DMS version 3.4.6 or higher.

      " + "documentation":"

      When set to true, this operation migrates DMS subscriptions for Amazon SNS notifications no matter what your replication instance version is. If not set or set to false, this operation runs only when all your replication instances are from DMS version 3.4.5 or higher.

      " } }, "documentation":"

      " diff --git a/services/databrew/pom.xml b/services/databrew/pom.xml index 57364176d6e9..4610fa10b1d6 100644 --- a/services/databrew/pom.xml +++ b/services/databrew/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT databrew AWS Java SDK :: Services :: Data Brew diff --git a/services/databrew/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/databrew/src/main/resources/codegen-resources/endpoint-rule-set.json index 2561a94bb1d5..e274bdaf719c 100644 --- a/services/databrew/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/databrew/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,64 +45,17 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "ref": "UseFIPS" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + true ] } - ] + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" }, { "conditions": [ @@ -111,19 +63,51 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "booleanEquals", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "UseDualStack" - }, - true - ] + "ref": "Region" + } + ], + "assign": "PartitionResult" } ], "type": "tree", @@ -133,38 +117,57 @@ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] }, { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -177,52 +180,46 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -254,52 +251,46 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -312,20 +303,14 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ] - }, - { - "conditions": [], - "type": "tree", - "rules": [ { "conditions": [], "endpoint": { @@ -338,6 +323,11 @@ ] } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/databrew/src/main/resources/codegen-resources/endpoint-tests.json b/services/databrew/src/main/resources/codegen-resources/endpoint-tests.json index 914b5f9848cb..c84963855bbf 100644 --- a/services/databrew/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/databrew/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,144 +1,144 @@ { "testCases": [ { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://databrew.ap-east-1.amazonaws.com" + "url": "https://databrew.af-south-1.amazonaws.com" } }, "params": { - "Region": "ap-east-1", + "Region": "af-south-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://databrew.af-south-1.amazonaws.com" + "url": "https://databrew.ap-east-1.amazonaws.com" } }, "params": { - "Region": "af-south-1", + "Region": "ap-east-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://databrew.sa-east-1.amazonaws.com" + "url": "https://databrew.ap-northeast-1.amazonaws.com" } }, "params": { - "Region": "sa-east-1", + "Region": "ap-northeast-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://databrew.eu-south-1.amazonaws.com" + "url": "https://databrew.ap-northeast-2.amazonaws.com" } }, "params": { - "Region": "eu-south-1", + "Region": "ap-northeast-2", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://databrew.us-west-2.amazonaws.com" + "url": "https://databrew.ap-south-1.amazonaws.com" } }, "params": { - "Region": "us-west-2", + "Region": "ap-south-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://databrew.us-west-1.amazonaws.com" + "url": "https://databrew.ap-southeast-1.amazonaws.com" } }, "params": { - "Region": "us-west-1", + "Region": "ap-southeast-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://databrew.eu-central-1.amazonaws.com" + "url": "https://databrew.ap-southeast-2.amazonaws.com" } }, "params": { - "Region": "eu-central-1", + "Region": "ap-southeast-2", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://databrew.ap-northeast-1.amazonaws.com" + "url": "https://databrew.ca-central-1.amazonaws.com" } }, "params": { - "Region": "ap-northeast-1", + "Region": "ca-central-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://databrew.ap-northeast-2.amazonaws.com" + "url": "https://databrew.eu-central-1.amazonaws.com" } }, "params": { - "Region": "ap-northeast-2", + "Region": "eu-central-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://databrew.eu-west-3.amazonaws.com" + "url": "https://databrew.eu-north-1.amazonaws.com" } }, "params": { - "Region": "eu-west-3", + "Region": "eu-north-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://databrew.eu-west-2.amazonaws.com" + "url": "https://databrew.eu-south-1.amazonaws.com" } }, "params": { - "Region": "eu-west-2", + "Region": "eu-south-1", "UseFIPS": false, "UseDualStack": false } @@ -157,92 +157,92 @@ } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://databrew.us-east-2.amazonaws.com" + "url": "https://databrew.eu-west-2.amazonaws.com" } }, "params": { - "Region": "us-east-2", + "Region": "eu-west-2", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://databrew.us-east-1.amazonaws.com" + "url": "https://databrew.eu-west-3.amazonaws.com" } }, "params": { - "Region": "us-east-1", + "Region": "eu-west-3", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://databrew.ap-southeast-2.amazonaws.com" + "url": "https://databrew.sa-east-1.amazonaws.com" } }, "params": { - "Region": "ap-southeast-2", + "Region": "sa-east-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://databrew.eu-north-1.amazonaws.com" + "url": "https://databrew.us-east-1.amazonaws.com" } }, "params": { - "Region": "eu-north-1", + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://databrew.ap-south-1.amazonaws.com" + "url": "https://databrew.us-east-2.amazonaws.com" } }, "params": { - "Region": "ap-south-1", + "Region": "us-east-2", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://databrew.ap-southeast-1.amazonaws.com" + "url": "https://databrew.us-west-1.amazonaws.com" } }, "params": { - "Region": "ap-southeast-1", + "Region": "us-west-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://databrew.ca-central-1.amazonaws.com" + "url": "https://databrew.us-west-2.amazonaws.com" } }, "params": { - "Region": "ca-central-1", + "Region": "us-west-2", "UseFIPS": false, "UseDualStack": false } @@ -286,32 +286,6 @@ "UseDualStack": true } }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://databrew-fips.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "Region": "us-iso-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://databrew.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "Region": "us-iso-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, { "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { @@ -377,32 +351,6 @@ "UseDualStack": true } }, - { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://databrew-fips.us-isob-east-1.sc2s.sgov.gov" - } - }, - "params": { - "Region": "us-isob-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://databrew.us-isob-east-1.sc2s.sgov.gov" - } - }, - "params": { - "Region": "us-isob-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, { "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { @@ -482,7 +430,103 @@ } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://databrew-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://databrew.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://databrew-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://databrew.us-isob-east-1.sc2s.sgov.gov" + } + }, + "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" @@ -495,6 +539,19 @@ "Endpoint": "https://example.com" } }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, { "documentation": "For custom endpoint with fips enabled and dualstack disabled", "expect": { @@ -518,6 +575,12 @@ "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/dataexchange/pom.xml b/services/dataexchange/pom.xml index fd8eaa10593f..45f9232787e3 100644 --- a/services/dataexchange/pom.xml +++ b/services/dataexchange/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT dataexchange AWS Java SDK :: Services :: DataExchange diff --git a/services/dataexchange/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/dataexchange/src/main/resources/codegen-resources/endpoint-rule-set.json index 1efff28c887e..b87388c66e65 100644 --- a/services/dataexchange/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/dataexchange/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://dataexchange-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://dataexchange-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://dataexchange-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://dataexchange-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://dataexchange.{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://dataexchange.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://dataexchange.{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://dataexchange.{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/services/dataexchange/src/main/resources/codegen-resources/endpoint-tests.json b/services/dataexchange/src/main/resources/codegen-resources/endpoint-tests.json index d25d3633ad59..0593d36ac7a4 100644 --- a/services/dataexchange/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/dataexchange/src/main/resources/codegen-resources/endpoint-tests.json @@ -9,8 +9,8 @@ }, "params": { "Region": "ap-northeast-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -22,8 +22,8 @@ }, "params": { "Region": "ap-northeast-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -35,8 +35,8 @@ }, "params": { "Region": "ap-southeast-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -48,8 +48,8 @@ }, "params": { "Region": "ap-southeast-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -61,8 +61,8 @@ }, "params": { "Region": "eu-central-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -74,8 +74,8 @@ }, "params": { "Region": "eu-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -87,8 +87,8 @@ }, "params": { "Region": "eu-west-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -100,8 +100,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -113,8 +113,8 @@ }, "params": { "Region": "us-east-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -126,8 +126,8 @@ }, "params": { "Region": "us-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -139,8 +139,8 @@ }, "params": { "Region": "us-west-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -152,8 +152,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -165,8 +165,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -178,8 +178,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -191,8 +191,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -204,8 +204,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -217,8 +217,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -230,8 +230,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -243,8 +243,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -256,8 +256,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -269,8 +269,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -282,8 +282,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -293,8 +293,8 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -306,8 +306,8 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -317,8 +317,8 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -330,8 +330,8 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -341,8 +341,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -354,8 +354,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -365,8 +365,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -378,8 +378,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -391,8 +391,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -404,8 +404,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -416,8 +416,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -428,8 +428,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } }, diff --git a/services/datapipeline/pom.xml b/services/datapipeline/pom.xml index 50ab1715e6e7..fb40b405776d 100644 --- a/services/datapipeline/pom.xml +++ b/services/datapipeline/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT datapipeline AWS Java SDK :: Services :: AWS Data Pipeline diff --git a/services/datapipeline/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/datapipeline/src/main/resources/codegen-resources/endpoint-rule-set.json index 7208b2fd1e68..2fb250b9ba19 100644 --- a/services/datapipeline/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/datapipeline/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://datapipeline-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://datapipeline-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://datapipeline.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://datapipeline.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://datapipeline.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://datapipeline.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/datapipeline/src/main/resources/codegen-resources/endpoint-tests.json b/services/datapipeline/src/main/resources/codegen-resources/endpoint-tests.json index da4dd6d5f0a3..1a215b347b05 100644 --- a/services/datapipeline/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/datapipeline/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,94 +1,55 @@ { "testCases": [ { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://datapipeline-fips.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://datapipeline-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://datapipeline.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://datapipeline.eu-south-1.amazonaws.com" + "url": "https://datapipeline.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": false + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://datapipeline-fips.us-west-2.api.aws" + "url": "https://datapipeline.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://datapipeline-fips.us-west-2.amazonaws.com" + "url": "https://datapipeline.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://datapipeline.us-west-2.api.aws" + "url": "https://datapipeline.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -99,217 +60,165 @@ } }, "params": { - "UseDualStack": false, "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://datapipeline-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://datapipeline-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://datapipeline.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://datapipeline.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://datapipeline-fips.eu-west-1.api.aws" + "url": "https://datapipeline-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://datapipeline-fips.eu-west-1.amazonaws.com" + "url": "https://datapipeline-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://datapipeline.eu-west-1.api.aws" + "url": "https://datapipeline.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://datapipeline.eu-west-1.amazonaws.com" + "url": "https://datapipeline-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://datapipeline-fips.ap-northeast-1.api.aws" + "url": "https://datapipeline-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://datapipeline-fips.ap-northeast-1.amazonaws.com" + "url": "https://datapipeline.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://datapipeline.ap-northeast-1.api.aws" + "url": "https://datapipeline.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://datapipeline.ap-northeast-1.amazonaws.com" + "url": "https://datapipeline-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://datapipeline-fips.ap-southeast-2.api.aws" + "url": "https://datapipeline-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://datapipeline-fips.ap-southeast-2.amazonaws.com" + "url": "https://datapipeline.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://datapipeline.ap-southeast-2.api.aws" + "url": "https://datapipeline.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://datapipeline.ap-southeast-2.amazonaws.com" + "url": "https://datapipeline.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -318,9 +227,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, "Region": "us-iso-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -331,9 +240,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-iso-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -342,87 +251,83 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, "Region": "us-iso-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://datapipeline.us-iso-east-1.c2s.ic.gov" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://datapipeline-fips.us-east-1.api.aws" + "url": "https://datapipeline-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://datapipeline-fips.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://datapipeline.us-east-1.api.aws" + "url": "https://datapipeline.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://datapipeline.us-east-1.amazonaws.com" + "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -432,9 +337,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -444,11 +349,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/datasync/pom.xml b/services/datasync/pom.xml index b079c43f57af..e32312b2d120 100644 --- a/services/datasync/pom.xml +++ b/services/datasync/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT datasync AWS Java SDK :: Services :: DataSync diff --git a/services/datasync/src/main/resources/codegen-resources/service-2.json b/services/datasync/src/main/resources/codegen-resources/service-2.json index 0fe7d4a12b1a..944c3fe59a6b 100644 --- a/services/datasync/src/main/resources/codegen-resources/service-2.json +++ b/services/datasync/src/main/resources/codegen-resources/service-2.json @@ -535,7 +535,7 @@ {"shape":"InvalidRequestException"}, {"shape":"InternalException"} ], - "documentation":"

      Creates recommendations about where to migrate your data to in Amazon Web Services. Recommendations are generated based on information that DataSync Discovery collects about your on-premises storage system's resources. For more information, see Recommendations provided by DataSync Discovery.

      Once generated, you can view your recommendations by using the DescribeStorageSystemResources operation.

      If your discovery job completes successfully, you don't need to use this operation. DataSync Discovery generates the recommendations for you automatically.

      ", + "documentation":"

      Creates recommendations about where to migrate your data to in Amazon Web Services. Recommendations are generated based on information that DataSync Discovery collects about your on-premises storage system's resources. For more information, see Recommendations provided by DataSync Discovery.

      Once generated, you can view your recommendations by using the DescribeStorageSystemResources operation.

      ", "endpoint":{"hostPrefix":"discovery-"} }, "ListAgents":{ @@ -4121,7 +4121,7 @@ }, "Verified":{ "shape":"ReportOverride", - "documentation":"

      Specifies the level of reporting for the files, objects, and directories that DataSync attempted to verify at the end of your transfer. This only applies if you configure your task to verify data during and after the transfer (which DataSync does by default).

      " + "documentation":"

      Specifies the level of reporting for the files, objects, and directories that DataSync attempted to verify at the end of your transfer.

      " }, "Deleted":{ "shape":"ReportOverride", diff --git a/services/datazone/pom.xml b/services/datazone/pom.xml new file mode 100644 index 000000000000..b410c684b16d --- /dev/null +++ b/services/datazone/pom.xml @@ -0,0 +1,60 @@ + + + + + 4.0.0 + + software.amazon.awssdk + services + 2.20.163-SNAPSHOT + + datazone + AWS Java SDK :: Services :: Data Zone + The AWS Java SDK for Data Zone module holds the client classes that are used for + communicating with Data Zone. + + https://aws.amazon.com/sdkforjava + + + + org.apache.maven.plugins + maven-jar-plugin + + + + software.amazon.awssdk.services.datazone + + + + + + + + + + software.amazon.awssdk + protocol-core + ${awsjavasdk.version} + + + software.amazon.awssdk + aws-json-protocol + ${awsjavasdk.version} + + + diff --git a/services/datazone/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/datazone/src/main/resources/codegen-resources/endpoint-rule-set.json new file mode 100644 index 000000000000..03a4daf5387c --- /dev/null +++ b/services/datazone/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -0,0 +1,247 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://datazone-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://datazone.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://datazone-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://datazone.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ] +} \ No newline at end of file diff --git a/services/datazone/src/main/resources/codegen-resources/endpoint-tests.json b/services/datazone/src/main/resources/codegen-resources/endpoint-tests.json new file mode 100644 index 000000000000..45e6d01db425 --- /dev/null +++ b/services/datazone/src/main/resources/codegen-resources/endpoint-tests.json @@ -0,0 +1,119 @@ +{ + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://datazone-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://datazone.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://datazone-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://datazone.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://datazone-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://datazone.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": 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, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/services/datazone/src/main/resources/codegen-resources/paginators-1.json b/services/datazone/src/main/resources/codegen-resources/paginators-1.json new file mode 100644 index 000000000000..1f73d4890f8e --- /dev/null +++ b/services/datazone/src/main/resources/codegen-resources/paginators-1.json @@ -0,0 +1,130 @@ +{ + "pagination": { + "ListAssetRevisions": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + }, + "ListDataSourceRunActivities": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + }, + "ListDataSourceRuns": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + }, + "ListDataSources": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + }, + "ListDomains": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + }, + "ListEnvironmentBlueprintConfigurations": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + }, + "ListEnvironmentBlueprints": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + }, + "ListEnvironmentProfiles": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + }, + "ListEnvironments": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + }, + "ListNotifications": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "notifications" + }, + "ListProjectMemberships": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "members" + }, + "ListProjects": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + }, + "ListSubscriptionGrants": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + }, + "ListSubscriptionRequests": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + }, + "ListSubscriptionTargets": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + }, + "ListSubscriptions": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + }, + "Search": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + }, + "SearchGroupProfiles": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + }, + "SearchListings": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + }, + "SearchTypes": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + }, + "SearchUserProfiles": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + } + } +} diff --git a/services/datazone/src/main/resources/codegen-resources/service-2.json b/services/datazone/src/main/resources/codegen-resources/service-2.json new file mode 100644 index 000000000000..47d78cd6d503 --- /dev/null +++ b/services/datazone/src/main/resources/codegen-resources/service-2.json @@ -0,0 +1,12975 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-05-10", + "endpointPrefix":"datazone", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"Amazon DataZone", + "serviceId":"DataZone", + "signatureVersion":"v4", + "signingName":"datazone", + "uid":"datazone-2018-05-10" + }, + "operations":{ + "AcceptPredictions":{ + "name":"AcceptPredictions", + "http":{ + "method":"PUT", + "requestUri":"/v2/domains/{domainIdentifier}/assets/{identifier}/accept-predictions", + "responseCode":200 + }, + "input":{"shape":"AcceptPredictionsInput"}, + "output":{"shape":"AcceptPredictionsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Accepts automatically generated business-friendly metadata for your Amazon DataZone assets.

      ", + "idempotent":true + }, + "AcceptSubscriptionRequest":{ + "name":"AcceptSubscriptionRequest", + "http":{ + "method":"PUT", + "requestUri":"/v2/domains/{domainIdentifier}/subscription-requests/{identifier}/accept", + "responseCode":200 + }, + "input":{"shape":"AcceptSubscriptionRequestInput"}, + "output":{"shape":"AcceptSubscriptionRequestOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Accepts a subscription request to a specific asset.

      ", + "idempotent":true + }, + "CancelSubscription":{ + "name":"CancelSubscription", + "http":{ + "method":"PUT", + "requestUri":"/v2/domains/{domainIdentifier}/subscriptions/{identifier}/cancel", + "responseCode":200 + }, + "input":{"shape":"CancelSubscriptionInput"}, + "output":{"shape":"CancelSubscriptionOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Cancels the subscription to the specified asset.

      ", + "idempotent":true + }, + "CreateAsset":{ + "name":"CreateAsset", + "http":{ + "method":"POST", + "requestUri":"/v2/domains/{domainIdentifier}/assets", + "responseCode":201 + }, + "input":{"shape":"CreateAssetInput"}, + "output":{"shape":"CreateAssetOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Creates an asset in Amazon DataZone catalog.

      ", + "idempotent":true + }, + "CreateAssetRevision":{ + "name":"CreateAssetRevision", + "http":{ + "method":"POST", + "requestUri":"/v2/domains/{domainIdentifier}/assets/{identifier}/revisions", + "responseCode":200 + }, + "input":{"shape":"CreateAssetRevisionInput"}, + "output":{"shape":"CreateAssetRevisionOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Creates a revision of the asset.

      ", + "idempotent":true + }, + "CreateAssetType":{ + "name":"CreateAssetType", + "http":{ + "method":"POST", + "requestUri":"/v2/domains/{domainIdentifier}/asset-types", + "responseCode":201 + }, + "input":{"shape":"CreateAssetTypeInput"}, + "output":{"shape":"CreateAssetTypeOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Creates a custom asset type.

      " + }, + "CreateDataSource":{ + "name":"CreateDataSource", + "http":{ + "method":"POST", + "requestUri":"/v2/domains/{domainIdentifier}/data-sources", + "responseCode":201 + }, + "input":{"shape":"CreateDataSourceInput"}, + "output":{"shape":"CreateDataSourceOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Creates an Amazon DataZone data source.

      ", + "idempotent":true + }, + "CreateDomain":{ + "name":"CreateDomain", + "http":{ + "method":"POST", + "requestUri":"/v2/domains", + "responseCode":201 + }, + "input":{"shape":"CreateDomainInput"}, + "output":{"shape":"CreateDomainOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Creates an Amazon DataZone domain.

      ", + "idempotent":true + }, + "CreateEnvironment":{ + "name":"CreateEnvironment", + "http":{ + "method":"POST", + "requestUri":"/v2/domains/{domainIdentifier}/environments", + "responseCode":201 + }, + "input":{"shape":"CreateEnvironmentInput"}, + "output":{"shape":"CreateEnvironmentOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Create an Amazon DataZone environment.

      " + }, + "CreateEnvironmentProfile":{ + "name":"CreateEnvironmentProfile", + "http":{ + "method":"POST", + "requestUri":"/v2/domains/{domainIdentifier}/environment-profiles", + "responseCode":201 + }, + "input":{"shape":"CreateEnvironmentProfileInput"}, + "output":{"shape":"CreateEnvironmentProfileOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Creates an Amazon DataZone environment profile.

      " + }, + "CreateFormType":{ + "name":"CreateFormType", + "http":{ + "method":"POST", + "requestUri":"/v2/domains/{domainIdentifier}/form-types", + "responseCode":201 + }, + "input":{"shape":"CreateFormTypeInput"}, + "output":{"shape":"CreateFormTypeOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Creates a metadata form type.

      " + }, + "CreateGlossary":{ + "name":"CreateGlossary", + "http":{ + "method":"POST", + "requestUri":"/v2/domains/{domainIdentifier}/glossaries", + "responseCode":201 + }, + "input":{"shape":"CreateGlossaryInput"}, + "output":{"shape":"CreateGlossaryOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Creates an Amazon DataZone business glossary.

      ", + "idempotent":true + }, + "CreateGlossaryTerm":{ + "name":"CreateGlossaryTerm", + "http":{ + "method":"POST", + "requestUri":"/v2/domains/{domainIdentifier}/glossary-terms", + "responseCode":201 + }, + "input":{"shape":"CreateGlossaryTermInput"}, + "output":{"shape":"CreateGlossaryTermOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Creates a business glossary term.

      ", + "idempotent":true + }, + "CreateGroupProfile":{ + "name":"CreateGroupProfile", + "http":{ + "method":"POST", + "requestUri":"/v2/domains/{domainIdentifier}/group-profiles", + "responseCode":201 + }, + "input":{"shape":"CreateGroupProfileInput"}, + "output":{"shape":"CreateGroupProfileOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Creates a group profile in Amazon DataZone.

      ", + "idempotent":true + }, + "CreateListingChangeSet":{ + "name":"CreateListingChangeSet", + "http":{ + "method":"POST", + "requestUri":"/v2/domains/{domainIdentifier}/listings/change-set", + "responseCode":200 + }, + "input":{"shape":"CreateListingChangeSetInput"}, + "output":{"shape":"CreateListingChangeSetOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      " + }, + "CreateProject":{ + "name":"CreateProject", + "http":{ + "method":"POST", + "requestUri":"/v2/domains/{domainIdentifier}/projects", + "responseCode":201 + }, + "input":{"shape":"CreateProjectInput"}, + "output":{"shape":"CreateProjectOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Creates an Amazon DataZone project.

      " + }, + "CreateProjectMembership":{ + "name":"CreateProjectMembership", + "http":{ + "method":"POST", + "requestUri":"/v2/domains/{domainIdentifier}/projects/{projectIdentifier}/createMembership", + "responseCode":201 + }, + "input":{"shape":"CreateProjectMembershipInput"}, + "output":{"shape":"CreateProjectMembershipOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Creates a project membership in Amazon DataZone.

      " + }, + "CreateSubscriptionGrant":{ + "name":"CreateSubscriptionGrant", + "http":{ + "method":"POST", + "requestUri":"/v2/domains/{domainIdentifier}/subscription-grants", + "responseCode":200 + }, + "input":{"shape":"CreateSubscriptionGrantInput"}, + "output":{"shape":"CreateSubscriptionGrantOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Creates a subsscription grant in Amazon DataZone.

      " + }, + "CreateSubscriptionRequest":{ + "name":"CreateSubscriptionRequest", + "http":{ + "method":"POST", + "requestUri":"/v2/domains/{domainIdentifier}/subscription-requests", + "responseCode":200 + }, + "input":{"shape":"CreateSubscriptionRequestInput"}, + "output":{"shape":"CreateSubscriptionRequestOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Creates a subscription request in Amazon DataZone.

      " + }, + "CreateSubscriptionTarget":{ + "name":"CreateSubscriptionTarget", + "http":{ + "method":"POST", + "requestUri":"/v2/domains/{domainIdentifier}/environments/{environmentIdentifier}/subscription-targets", + "responseCode":200 + }, + "input":{"shape":"CreateSubscriptionTargetInput"}, + "output":{"shape":"CreateSubscriptionTargetOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Creates a subscription target in Amazon DataZone.

      " + }, + "CreateUserProfile":{ + "name":"CreateUserProfile", + "http":{ + "method":"POST", + "requestUri":"/v2/domains/{domainIdentifier}/user-profiles", + "responseCode":201 + }, + "input":{"shape":"CreateUserProfileInput"}, + "output":{"shape":"CreateUserProfileOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Creates a user profile in Amazon DataZone.

      ", + "idempotent":true + }, + "DeleteAsset":{ + "name":"DeleteAsset", + "http":{ + "method":"DELETE", + "requestUri":"/v2/domains/{domainIdentifier}/assets/{identifier}", + "responseCode":204 + }, + "input":{"shape":"DeleteAssetInput"}, + "output":{"shape":"DeleteAssetOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Delets an asset in Amazon DataZone.

      ", + "idempotent":true + }, + "DeleteAssetType":{ + "name":"DeleteAssetType", + "http":{ + "method":"DELETE", + "requestUri":"/v2/domains/{domainIdentifier}/asset-types/{identifier}", + "responseCode":204 + }, + "input":{"shape":"DeleteAssetTypeInput"}, + "output":{"shape":"DeleteAssetTypeOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Deletes an asset type in Amazon DataZone.

      " + }, + "DeleteDataSource":{ + "name":"DeleteDataSource", + "http":{ + "method":"DELETE", + "requestUri":"/v2/domains/{domainIdentifier}/data-sources/{identifier}", + "responseCode":200 + }, + "input":{"shape":"DeleteDataSourceInput"}, + "output":{"shape":"DeleteDataSourceOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Deletes a data source in Amazon DataZone.

      ", + "idempotent":true + }, + "DeleteDomain":{ + "name":"DeleteDomain", + "http":{ + "method":"DELETE", + "requestUri":"/v2/domains/{identifier}", + "responseCode":202 + }, + "input":{"shape":"DeleteDomainInput"}, + "output":{"shape":"DeleteDomainOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Deletes a Amazon DataZone domain.

      ", + "idempotent":true + }, + "DeleteEnvironment":{ + "name":"DeleteEnvironment", + "http":{ + "method":"DELETE", + "requestUri":"/v2/domains/{domainIdentifier}/environments/{identifier}", + "responseCode":204 + }, + "input":{"shape":"DeleteEnvironmentInput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Deletes an environment in Amazon DataZone.

      ", + "idempotent":true + }, + "DeleteEnvironmentBlueprintConfiguration":{ + "name":"DeleteEnvironmentBlueprintConfiguration", + "http":{ + "method":"DELETE", + "requestUri":"/v2/domains/{domainIdentifier}/environment-blueprint-configurations/{environmentBlueprintIdentifier}", + "responseCode":204 + }, + "input":{"shape":"DeleteEnvironmentBlueprintConfigurationInput"}, + "output":{"shape":"DeleteEnvironmentBlueprintConfigurationOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Deletes the blueprint configuration in Amazon DataZone.

      ", + "idempotent":true + }, + "DeleteEnvironmentProfile":{ + "name":"DeleteEnvironmentProfile", + "http":{ + "method":"DELETE", + "requestUri":"/v2/domains/{domainIdentifier}/environment-profiles/{identifier}", + "responseCode":204 + }, + "input":{"shape":"DeleteEnvironmentProfileInput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Deletes an environment profile in Amazon DataZone.

      ", + "idempotent":true + }, + "DeleteFormType":{ + "name":"DeleteFormType", + "http":{ + "method":"DELETE", + "requestUri":"/v2/domains/{domainIdentifier}/form-types/{formTypeIdentifier}", + "responseCode":204 + }, + "input":{"shape":"DeleteFormTypeInput"}, + "output":{"shape":"DeleteFormTypeOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Delets and metadata form type in Amazon DataZone.

      " + }, + "DeleteGlossary":{ + "name":"DeleteGlossary", + "http":{ + "method":"DELETE", + "requestUri":"/v2/domains/{domainIdentifier}/glossaries/{identifier}", + "responseCode":204 + }, + "input":{"shape":"DeleteGlossaryInput"}, + "output":{"shape":"DeleteGlossaryOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Deletes a business glossary in Amazon DataZone.

      ", + "idempotent":true + }, + "DeleteGlossaryTerm":{ + "name":"DeleteGlossaryTerm", + "http":{ + "method":"DELETE", + "requestUri":"/v2/domains/{domainIdentifier}/glossary-terms/{identifier}", + "responseCode":204 + }, + "input":{"shape":"DeleteGlossaryTermInput"}, + "output":{"shape":"DeleteGlossaryTermOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Deletes a business glossary term in Amazon DataZone.

      ", + "idempotent":true + }, + "DeleteListing":{ + "name":"DeleteListing", + "http":{ + "method":"DELETE", + "requestUri":"/v2/domains/{domainIdentifier}/listings/{identifier}", + "responseCode":204 + }, + "input":{"shape":"DeleteListingInput"}, + "output":{"shape":"DeleteListingOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      ", + "idempotent":true + }, + "DeleteProject":{ + "name":"DeleteProject", + "http":{ + "method":"DELETE", + "requestUri":"/v2/domains/{domainIdentifier}/projects/{identifier}", + "responseCode":204 + }, + "input":{"shape":"DeleteProjectInput"}, + "output":{"shape":"DeleteProjectOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Deletes a project in Amazon DataZone.

      ", + "idempotent":true + }, + "DeleteProjectMembership":{ + "name":"DeleteProjectMembership", + "http":{ + "method":"POST", + "requestUri":"/v2/domains/{domainIdentifier}/projects/{projectIdentifier}/deleteMembership", + "responseCode":204 + }, + "input":{"shape":"DeleteProjectMembershipInput"}, + "output":{"shape":"DeleteProjectMembershipOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Deletes project membership in Amazon DataZone.

      ", + "idempotent":true + }, + "DeleteSubscriptionGrant":{ + "name":"DeleteSubscriptionGrant", + "http":{ + "method":"DELETE", + "requestUri":"/v2/domains/{domainIdentifier}/subscription-grants/{identifier}", + "responseCode":200 + }, + "input":{"shape":"DeleteSubscriptionGrantInput"}, + "output":{"shape":"DeleteSubscriptionGrantOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Deletes and subscription grant in Amazon DataZone.

      " + }, + "DeleteSubscriptionRequest":{ + "name":"DeleteSubscriptionRequest", + "http":{ + "method":"DELETE", + "requestUri":"/v2/domains/{domainIdentifier}/subscription-requests/{identifier}", + "responseCode":204 + }, + "input":{"shape":"DeleteSubscriptionRequestInput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Deletes a subscription request in Amazon DataZone.

      " + }, + "DeleteSubscriptionTarget":{ + "name":"DeleteSubscriptionTarget", + "http":{ + "method":"DELETE", + "requestUri":"/v2/domains/{domainIdentifier}/environments/{environmentIdentifier}/subscription-targets/{identifier}", + "responseCode":204 + }, + "input":{"shape":"DeleteSubscriptionTargetInput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Deletes a subscription target in Amazon DataZone.

      " + }, + "GetAsset":{ + "name":"GetAsset", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/assets/{identifier}", + "responseCode":200 + }, + "input":{"shape":"GetAssetInput"}, + "output":{"shape":"GetAssetOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Gets an Amazon DataZone asset.

      " + }, + "GetAssetType":{ + "name":"GetAssetType", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/asset-types/{identifier}", + "responseCode":200 + }, + "input":{"shape":"GetAssetTypeInput"}, + "output":{"shape":"GetAssetTypeOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Gets an Amazon DataZone asset type.

      " + }, + "GetDataSource":{ + "name":"GetDataSource", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/data-sources/{identifier}", + "responseCode":200 + }, + "input":{"shape":"GetDataSourceInput"}, + "output":{"shape":"GetDataSourceOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Gets an Amazon DataZone data source.

      " + }, + "GetDataSourceRun":{ + "name":"GetDataSourceRun", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/data-source-runs/{identifier}", + "responseCode":200 + }, + "input":{"shape":"GetDataSourceRunInput"}, + "output":{"shape":"GetDataSourceRunOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Gets an Amazon DataZone data source run.

      " + }, + "GetDomain":{ + "name":"GetDomain", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{identifier}", + "responseCode":200 + }, + "input":{"shape":"GetDomainInput"}, + "output":{"shape":"GetDomainOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Gets an Amazon DataZone domain.

      " + }, + "GetEnvironment":{ + "name":"GetEnvironment", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/environments/{identifier}", + "responseCode":200 + }, + "input":{"shape":"GetEnvironmentInput"}, + "output":{"shape":"GetEnvironmentOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Gets an Amazon DataZone environment.

      " + }, + "GetEnvironmentBlueprint":{ + "name":"GetEnvironmentBlueprint", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/environment-blueprints/{identifier}", + "responseCode":200 + }, + "input":{"shape":"GetEnvironmentBlueprintInput"}, + "output":{"shape":"GetEnvironmentBlueprintOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Gets an Amazon DataZone blueprint.

      " + }, + "GetEnvironmentBlueprintConfiguration":{ + "name":"GetEnvironmentBlueprintConfiguration", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/environment-blueprint-configurations/{environmentBlueprintIdentifier}", + "responseCode":200 + }, + "input":{"shape":"GetEnvironmentBlueprintConfigurationInput"}, + "output":{"shape":"GetEnvironmentBlueprintConfigurationOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Gets the blueprint configuration in Amazon DataZone.

      " + }, + "GetEnvironmentProfile":{ + "name":"GetEnvironmentProfile", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/environment-profiles/{identifier}", + "responseCode":200 + }, + "input":{"shape":"GetEnvironmentProfileInput"}, + "output":{"shape":"GetEnvironmentProfileOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Gets an evinronment profile in Amazon DataZone.

      " + }, + "GetFormType":{ + "name":"GetFormType", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/form-types/{formTypeIdentifier}", + "responseCode":200 + }, + "input":{"shape":"GetFormTypeInput"}, + "output":{"shape":"GetFormTypeOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Gets a metadata form type in Amazon DataZone.

      " + }, + "GetGlossary":{ + "name":"GetGlossary", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/glossaries/{identifier}", + "responseCode":200 + }, + "input":{"shape":"GetGlossaryInput"}, + "output":{"shape":"GetGlossaryOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Gets a business glossary in Amazon DataZone.

      " + }, + "GetGlossaryTerm":{ + "name":"GetGlossaryTerm", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/glossary-terms/{identifier}", + "responseCode":200 + }, + "input":{"shape":"GetGlossaryTermInput"}, + "output":{"shape":"GetGlossaryTermOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Gets a business glossary term in Amazon DataZone.

      " + }, + "GetGroupProfile":{ + "name":"GetGroupProfile", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/group-profiles/{groupIdentifier}", + "responseCode":200 + }, + "input":{"shape":"GetGroupProfileInput"}, + "output":{"shape":"GetGroupProfileOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Gets a group profile in Amazon DataZone.

      " + }, + "GetIamPortalLoginUrl":{ + "name":"GetIamPortalLoginUrl", + "http":{ + "method":"POST", + "requestUri":"/v2/domains/{domainIdentifier}/get-portal-login-url", + "responseCode":200 + }, + "input":{"shape":"GetIamPortalLoginUrlInput"}, + "output":{"shape":"GetIamPortalLoginUrlOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Gets the data portal URL for the specified Amazon DataZone domain.

      " + }, + "GetListing":{ + "name":"GetListing", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/listings/{identifier}", + "responseCode":200 + }, + "input":{"shape":"GetListingInput"}, + "output":{"shape":"GetListingOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      " + }, + "GetProject":{ + "name":"GetProject", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/projects/{identifier}", + "responseCode":200 + }, + "input":{"shape":"GetProjectInput"}, + "output":{"shape":"GetProjectOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Gets a project in Amazon DataZone.

      " + }, + "GetSubscription":{ + "name":"GetSubscription", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/subscriptions/{identifier}", + "responseCode":200 + }, + "input":{"shape":"GetSubscriptionInput"}, + "output":{"shape":"GetSubscriptionOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Gets a subscription in Amazon DataZone.

      " + }, + "GetSubscriptionGrant":{ + "name":"GetSubscriptionGrant", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/subscription-grants/{identifier}", + "responseCode":200 + }, + "input":{"shape":"GetSubscriptionGrantInput"}, + "output":{"shape":"GetSubscriptionGrantOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Gets the subscription grant in Amazon DataZone.

      " + }, + "GetSubscriptionRequestDetails":{ + "name":"GetSubscriptionRequestDetails", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/subscription-requests/{identifier}", + "responseCode":200 + }, + "input":{"shape":"GetSubscriptionRequestDetailsInput"}, + "output":{"shape":"GetSubscriptionRequestDetailsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Gets the details of the specified subscription request.

      " + }, + "GetSubscriptionTarget":{ + "name":"GetSubscriptionTarget", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/environments/{environmentIdentifier}/subscription-targets/{identifier}", + "responseCode":200 + }, + "input":{"shape":"GetSubscriptionTargetInput"}, + "output":{"shape":"GetSubscriptionTargetOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Gets the subscription target in Amazon DataZone.

      " + }, + "GetUserProfile":{ + "name":"GetUserProfile", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/user-profiles/{userIdentifier}", + "responseCode":200 + }, + "input":{"shape":"GetUserProfileInput"}, + "output":{"shape":"GetUserProfileOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Gets a user profile in Amazon DataZone.

      " + }, + "ListAssetRevisions":{ + "name":"ListAssetRevisions", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/assets/{identifier}/revisions", + "responseCode":200 + }, + "input":{"shape":"ListAssetRevisionsInput"}, + "output":{"shape":"ListAssetRevisionsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Lists the revisions for the asset.

      " + }, + "ListDataSourceRunActivities":{ + "name":"ListDataSourceRunActivities", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/data-source-runs/{identifier}/activities", + "responseCode":200 + }, + "input":{"shape":"ListDataSourceRunActivitiesInput"}, + "output":{"shape":"ListDataSourceRunActivitiesOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Lists data source run activities.

      " + }, + "ListDataSourceRuns":{ + "name":"ListDataSourceRuns", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/data-sources/{dataSourceIdentifier}/runs", + "responseCode":200 + }, + "input":{"shape":"ListDataSourceRunsInput"}, + "output":{"shape":"ListDataSourceRunsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Lists data source runs in Amazon DataZone.

      " + }, + "ListDataSources":{ + "name":"ListDataSources", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/data-sources", + "responseCode":200 + }, + "input":{"shape":"ListDataSourcesInput"}, + "output":{"shape":"ListDataSourcesOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Lists data sources in Amazon DataZone.

      " + }, + "ListDomains":{ + "name":"ListDomains", + "http":{ + "method":"GET", + "requestUri":"/v2/domains", + "responseCode":200 + }, + "input":{"shape":"ListDomainsInput"}, + "output":{"shape":"ListDomainsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Lists Amazon DataZone domains.

      " + }, + "ListEnvironmentBlueprintConfigurations":{ + "name":"ListEnvironmentBlueprintConfigurations", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/environment-blueprint-configurations", + "responseCode":200 + }, + "input":{"shape":"ListEnvironmentBlueprintConfigurationsInput"}, + "output":{"shape":"ListEnvironmentBlueprintConfigurationsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Lists blueprint configurations for a Amazon DataZone environment.

      " + }, + "ListEnvironmentBlueprints":{ + "name":"ListEnvironmentBlueprints", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/environment-blueprints", + "responseCode":200 + }, + "input":{"shape":"ListEnvironmentBlueprintsInput"}, + "output":{"shape":"ListEnvironmentBlueprintsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Lists blueprints in an Amazon DataZone environment.

      " + }, + "ListEnvironmentProfiles":{ + "name":"ListEnvironmentProfiles", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/environment-profiles", + "responseCode":200 + }, + "input":{"shape":"ListEnvironmentProfilesInput"}, + "output":{"shape":"ListEnvironmentProfilesOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Lists Amazon DataZone environment profiles.

      " + }, + "ListEnvironments":{ + "name":"ListEnvironments", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/environments", + "responseCode":200 + }, + "input":{"shape":"ListEnvironmentsInput"}, + "output":{"shape":"ListEnvironmentsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Lists Amazon DataZone environments.

      " + }, + "ListNotifications":{ + "name":"ListNotifications", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/notifications", + "responseCode":200 + }, + "input":{"shape":"ListNotificationsInput"}, + "output":{"shape":"ListNotificationsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Lists all Amazon DataZone notifications.

      " + }, + "ListProjectMemberships":{ + "name":"ListProjectMemberships", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/projects/{projectIdentifier}/memberships", + "responseCode":200 + }, + "input":{"shape":"ListProjectMembershipsInput"}, + "output":{"shape":"ListProjectMembershipsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Lists all members of the specified project.

      " + }, + "ListProjects":{ + "name":"ListProjects", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/projects", + "responseCode":200 + }, + "input":{"shape":"ListProjectsInput"}, + "output":{"shape":"ListProjectsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Lists Amazon DataZone projects.

      " + }, + "ListSubscriptionGrants":{ + "name":"ListSubscriptionGrants", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/subscription-grants", + "responseCode":200 + }, + "input":{"shape":"ListSubscriptionGrantsInput"}, + "output":{"shape":"ListSubscriptionGrantsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Lists subscription grants.

      " + }, + "ListSubscriptionRequests":{ + "name":"ListSubscriptionRequests", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/subscription-requests", + "responseCode":200 + }, + "input":{"shape":"ListSubscriptionRequestsInput"}, + "output":{"shape":"ListSubscriptionRequestsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Lists Amazon DataZone subscription requests.

      " + }, + "ListSubscriptionTargets":{ + "name":"ListSubscriptionTargets", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/environments/{environmentIdentifier}/subscription-targets", + "responseCode":200 + }, + "input":{"shape":"ListSubscriptionTargetsInput"}, + "output":{"shape":"ListSubscriptionTargetsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Lists subscription targets in Amazon DataZone.

      " + }, + "ListSubscriptions":{ + "name":"ListSubscriptions", + "http":{ + "method":"GET", + "requestUri":"/v2/domains/{domainIdentifier}/subscriptions", + "responseCode":200 + }, + "input":{"shape":"ListSubscriptionsInput"}, + "output":{"shape":"ListSubscriptionsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Lists subscriptions in Amazon DataZone.

      " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Lists tags for the specified resource in Amazon DataZone.

      " + }, + "PutEnvironmentBlueprintConfiguration":{ + "name":"PutEnvironmentBlueprintConfiguration", + "http":{ + "method":"PUT", + "requestUri":"/v2/domains/{domainIdentifier}/environment-blueprint-configurations/{environmentBlueprintIdentifier}", + "responseCode":200 + }, + "input":{"shape":"PutEnvironmentBlueprintConfigurationInput"}, + "output":{"shape":"PutEnvironmentBlueprintConfigurationOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Writes the configuration for the specified environment blueprint in Amazon DataZone.

      ", + "idempotent":true + }, + "RejectPredictions":{ + "name":"RejectPredictions", + "http":{ + "method":"PUT", + "requestUri":"/v2/domains/{domainIdentifier}/assets/{identifier}/reject-predictions", + "responseCode":200 + }, + "input":{"shape":"RejectPredictionsInput"}, + "output":{"shape":"RejectPredictionsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Rejects automatically generated business-friendly metadata for your Amazon DataZone assets.

      ", + "idempotent":true + }, + "RejectSubscriptionRequest":{ + "name":"RejectSubscriptionRequest", + "http":{ + "method":"PUT", + "requestUri":"/v2/domains/{domainIdentifier}/subscription-requests/{identifier}/reject", + "responseCode":200 + }, + "input":{"shape":"RejectSubscriptionRequestInput"}, + "output":{"shape":"RejectSubscriptionRequestOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Rejects the specified subscription request.

      ", + "idempotent":true + }, + "RevokeSubscription":{ + "name":"RevokeSubscription", + "http":{ + "method":"PUT", + "requestUri":"/v2/domains/{domainIdentifier}/subscriptions/{identifier}/revoke", + "responseCode":200 + }, + "input":{"shape":"RevokeSubscriptionInput"}, + "output":{"shape":"RevokeSubscriptionOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Revokes a specified subscription in Amazon DataZone.

      ", + "idempotent":true + }, + "Search":{ + "name":"Search", + "http":{ + "method":"POST", + "requestUri":"/v2/domains/{domainIdentifier}/search", + "responseCode":200 + }, + "input":{"shape":"SearchInput"}, + "output":{"shape":"SearchOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Searches for assets in Amazon DataZone.

      " + }, + "SearchGroupProfiles":{ + "name":"SearchGroupProfiles", + "http":{ + "method":"POST", + "requestUri":"/v2/domains/{domainIdentifier}/search-group-profiles", + "responseCode":200 + }, + "input":{"shape":"SearchGroupProfilesInput"}, + "output":{"shape":"SearchGroupProfilesOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Searches group profiles in Amazon DataZone.

      " + }, + "SearchListings":{ + "name":"SearchListings", + "http":{ + "method":"POST", + "requestUri":"/v2/domains/{domainIdentifier}/listings/search", + "responseCode":200 + }, + "input":{"shape":"SearchListingsInput"}, + "output":{"shape":"SearchListingsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Searches listings in Amazon DataZone.

      " + }, + "SearchTypes":{ + "name":"SearchTypes", + "http":{ + "method":"POST", + "requestUri":"/v2/domains/{domainIdentifier}/types-search", + "responseCode":200 + }, + "input":{"shape":"SearchTypesInput"}, + "output":{"shape":"SearchTypesOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Searches for types in Amazon DataZone.

      " + }, + "SearchUserProfiles":{ + "name":"SearchUserProfiles", + "http":{ + "method":"POST", + "requestUri":"/v2/domains/{domainIdentifier}/search-user-profiles", + "responseCode":200 + }, + "input":{"shape":"SearchUserProfilesInput"}, + "output":{"shape":"SearchUserProfilesOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Searches user profiles in Amazon DataZone.

      " + }, + "StartDataSourceRun":{ + "name":"StartDataSourceRun", + "http":{ + "method":"POST", + "requestUri":"/v2/domains/{domainIdentifier}/data-sources/{dataSourceIdentifier}/runs", + "responseCode":200 + }, + "input":{"shape":"StartDataSourceRunInput"}, + "output":{"shape":"StartDataSourceRunOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Start the run of the specified data source in Amazon DataZone.

      ", + "idempotent":true + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Tags a resource in Amazon DataZone.

      " + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Untags a resource in Amazon DataZone.

      ", + "idempotent":true + }, + "UpdateDataSource":{ + "name":"UpdateDataSource", + "http":{ + "method":"PATCH", + "requestUri":"/v2/domains/{domainIdentifier}/data-sources/{identifier}", + "responseCode":200 + }, + "input":{"shape":"UpdateDataSourceInput"}, + "output":{"shape":"UpdateDataSourceOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Updates the specified data source in Amazon DataZone.

      ", + "idempotent":true + }, + "UpdateDomain":{ + "name":"UpdateDomain", + "http":{ + "method":"PUT", + "requestUri":"/v2/domains/{identifier}", + "responseCode":200 + }, + "input":{"shape":"UpdateDomainInput"}, + "output":{"shape":"UpdateDomainOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Updates a Amazon DataZone domain.

      ", + "idempotent":true + }, + "UpdateEnvironment":{ + "name":"UpdateEnvironment", + "http":{ + "method":"PATCH", + "requestUri":"/v2/domains/{domainIdentifier}/environments/{identifier}", + "responseCode":200 + }, + "input":{"shape":"UpdateEnvironmentInput"}, + "output":{"shape":"UpdateEnvironmentOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Updates the specified environment in Amazon DataZone.

      " + }, + "UpdateEnvironmentProfile":{ + "name":"UpdateEnvironmentProfile", + "http":{ + "method":"PATCH", + "requestUri":"/v2/domains/{domainIdentifier}/environment-profiles/{identifier}", + "responseCode":200 + }, + "input":{"shape":"UpdateEnvironmentProfileInput"}, + "output":{"shape":"UpdateEnvironmentProfileOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Updates the specified environment profile in Amazon DataZone.

      " + }, + "UpdateGlossary":{ + "name":"UpdateGlossary", + "http":{ + "method":"PATCH", + "requestUri":"/v2/domains/{domainIdentifier}/glossaries/{identifier}", + "responseCode":200 + }, + "input":{"shape":"UpdateGlossaryInput"}, + "output":{"shape":"UpdateGlossaryOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Updates the business glossary in Amazon DataZone.

      ", + "idempotent":true + }, + "UpdateGlossaryTerm":{ + "name":"UpdateGlossaryTerm", + "http":{ + "method":"PATCH", + "requestUri":"/v2/domains/{domainIdentifier}/glossary-terms/{identifier}", + "responseCode":200 + }, + "input":{"shape":"UpdateGlossaryTermInput"}, + "output":{"shape":"UpdateGlossaryTermOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Updates a business glossary term in Amazon DataZone.

      ", + "idempotent":true + }, + "UpdateGroupProfile":{ + "name":"UpdateGroupProfile", + "http":{ + "method":"PUT", + "requestUri":"/v2/domains/{domainIdentifier}/group-profiles/{groupIdentifier}", + "responseCode":200 + }, + "input":{"shape":"UpdateGroupProfileInput"}, + "output":{"shape":"UpdateGroupProfileOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Updates the specified group profile in Amazon DataZone.

      " + }, + "UpdateProject":{ + "name":"UpdateProject", + "http":{ + "method":"PATCH", + "requestUri":"/v2/domains/{domainIdentifier}/projects/{identifier}", + "responseCode":200 + }, + "input":{"shape":"UpdateProjectInput"}, + "output":{"shape":"UpdateProjectOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Updates the specified project in Amazon DataZone.

      ", + "idempotent":true + }, + "UpdateSubscriptionGrantStatus":{ + "name":"UpdateSubscriptionGrantStatus", + "http":{ + "method":"PATCH", + "requestUri":"/v2/domains/{domainIdentifier}/subscription-grants/{identifier}/status/{assetIdentifier}", + "responseCode":200 + }, + "input":{"shape":"UpdateSubscriptionGrantStatusInput"}, + "output":{"shape":"UpdateSubscriptionGrantStatusOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Updates the status of the specified subscription grant status in Amazon DataZone.

      ", + "idempotent":true + }, + "UpdateSubscriptionRequest":{ + "name":"UpdateSubscriptionRequest", + "http":{ + "method":"PATCH", + "requestUri":"/v2/domains/{domainIdentifier}/subscription-requests/{identifier}", + "responseCode":200 + }, + "input":{"shape":"UpdateSubscriptionRequestInput"}, + "output":{"shape":"UpdateSubscriptionRequestOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Updates a specified subscription request in Amazon DataZone.

      ", + "idempotent":true + }, + "UpdateSubscriptionTarget":{ + "name":"UpdateSubscriptionTarget", + "http":{ + "method":"PATCH", + "requestUri":"/v2/domains/{domainIdentifier}/environments/{environmentIdentifier}/subscription-targets/{identifier}", + "responseCode":200 + }, + "input":{"shape":"UpdateSubscriptionTargetInput"}, + "output":{"shape":"UpdateSubscriptionTargetOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Updates the specified subscription target in Amazon DataZone.

      ", + "idempotent":true + }, + "UpdateUserProfile":{ + "name":"UpdateUserProfile", + "http":{ + "method":"PUT", + "requestUri":"/v2/domains/{domainIdentifier}/user-profiles/{userIdentifier}", + "responseCode":200 + }, + "input":{"shape":"UpdateUserProfileInput"}, + "output":{"shape":"UpdateUserProfileOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

      Updates the specified user profile in Amazon DataZone.

      " + } + }, + "shapes":{ + "AcceptChoice":{ + "type":"structure", + "members":{ + "predictionChoice":{ + "shape":"Integer", + "documentation":"

      Specifies the prediction (aka, the automatically generated piece of metadata) that can be accepted.

      " + }, + "predictionTarget":{ + "shape":"String", + "documentation":"

      Specifies the target (for example, a column name) where a prediction can be accepted.

      " + } + }, + "documentation":"

      Specifies the prediction (aka, the automatically generated piece of metadata) and the target (for example, a column name) that can be accepted.

      " + }, + "AcceptChoices":{ + "type":"list", + "member":{"shape":"AcceptChoice"} + }, + "AcceptPredictionsInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "acceptChoices":{ + "shape":"AcceptChoices", + "documentation":"

      " + }, + "acceptRule":{ + "shape":"AcceptRule", + "documentation":"

      Specifies the rule (or the conditions) under which a prediction can be accepted.

      " + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

      A unique, case-sensitive identifier to ensure idempotency of the request. This field is automatically populated if not provided.

      ", + "idempotencyToken":true + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"AssetIdentifier", + "documentation":"

      ", + "location":"uri", + "locationName":"identifier" + }, + "revision":{ + "shape":"Revision", + "documentation":"

      ", + "location":"querystring", + "locationName":"revision" + } + } + }, + "AcceptPredictionsOutput":{ + "type":"structure", + "required":[ + "assetId", + "domainId", + "revision" + ], + "members":{ + "assetId":{ + "shape":"AssetId", + "documentation":"

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      " + }, + "revision":{ + "shape":"Revision", + "documentation":"

      " + } + } + }, + "AcceptRule":{ + "type":"structure", + "members":{ + "rule":{ + "shape":"AcceptRuleBehavior", + "documentation":"

      Specifies whether you want to accept the top prediction for all targets or none.

      " + }, + "threshold":{ + "shape":"Float", + "documentation":"

      The confidence score that specifies the condition at which a prediction can be accepted.

      " + } + }, + "documentation":"

      Specifies the rule and the threshold under which a prediction can be accepted.

      " + }, + "AcceptRuleBehavior":{ + "type":"string", + "enum":[ + "ALL", + "NONE" + ] + }, + "AcceptSubscriptionRequestInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "decisionComment":{ + "shape":"DecisionComment", + "documentation":"

      A description that specifies the reason for accepting the specified subscription request.

      " + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The Amazon DataZone domain where the specified subscription request is being accepted.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"SubscriptionRequestId", + "documentation":"

      The unique identifier of the subscription request that is to be accepted.

      ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "AcceptSubscriptionRequestOutput":{ + "type":"structure", + "required":[ + "createdAt", + "createdBy", + "domainId", + "id", + "requestReason", + "status", + "subscribedListings", + "subscribedPrincipals", + "updatedAt" + ], + "members":{ + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp that specifies when the subscription request was accepted.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      Specifies the Amazon DataZone user that accepted the specified subscription request.

      " + }, + "decisionComment":{ + "shape":"DecisionComment", + "documentation":"

      Specifies the reason for accepting the subscription request.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The unique identifier of the Amazon DataZone domain where the specified subscription request was accepted.

      " + }, + "id":{ + "shape":"SubscriptionRequestId", + "documentation":"

      The identifier of the subscription request.

      " + }, + "requestReason":{ + "shape":"RequestReason", + "documentation":"

      Specifies the reason for requesting a subscription to the asset.

      " + }, + "reviewerId":{ + "shape":"String", + "documentation":"

      Specifes the ID of the Amazon DataZone user who reviewed the subscription request.

      " + }, + "status":{ + "shape":"SubscriptionRequestStatus", + "documentation":"

      Specifies the status of the subscription request.

      " + }, + "subscribedListings":{ + "shape":"AcceptSubscriptionRequestOutputSubscribedListingsList", + "documentation":"

      Specifies the asset for which the subscription request was created.

      " + }, + "subscribedPrincipals":{ + "shape":"AcceptSubscriptionRequestOutputSubscribedPrincipalsList", + "documentation":"

      Specifies the Amazon DataZone users who are subscribed to the asset specified in the subscription request.

      " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

      Specifies the timestamp when subscription request was updated.

      " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

      Specifies the Amazon DataZone user who updated the subscription request.

      " + } + } + }, + "AcceptSubscriptionRequestOutputSubscribedListingsList":{ + "type":"list", + "member":{"shape":"SubscribedListing"}, + "max":1, + "min":1 + }, + "AcceptSubscriptionRequestOutputSubscribedPrincipalsList":{ + "type":"list", + "member":{"shape":"SubscribedPrincipal"}, + "max":1, + "min":1 + }, + "AccessDeniedException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

      You do not have sufficient access to perform this action.

      ", + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "ActionLink":{ + "type":"string", + "sensitive":true + }, + "ApplicableAssetTypes":{ + "type":"list", + "member":{"shape":"TypeName"} + }, + "AssetId":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_-]{1,36}$" + }, + "AssetIdentifier":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_-]{1,36}$" + }, + "AssetItem":{ + "type":"structure", + "required":[ + "domainId", + "identifier", + "name", + "owningProjectId", + "typeIdentifier", + "typeRevision" + ], + "members":{ + "additionalAttributes":{ + "shape":"AssetItemAdditionalAttributes", + "documentation":"

      The additional attributes of a Amazon DataZone inventory asset.

      " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when the Amazon DataZone inventory asset was created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created the inventory asset.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The description of an Amazon DataZone inventory asset.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which the inventory asset exists.

      " + }, + "externalIdentifier":{ + "shape":"ExternalIdentifier", + "documentation":"

      The external identifier of the Amazon DataZone inventory asset.

      " + }, + "firstRevisionCreatedAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when the first revision of the inventory asset was created.

      " + }, + "firstRevisionCreatedBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created the first revision of the inventory asset.

      " + }, + "glossaryTerms":{ + "shape":"GlossaryTerms", + "documentation":"

      The glossary terms attached to the Amazon DataZone inventory asset.

      " + }, + "identifier":{ + "shape":"AssetIdentifier", + "documentation":"

      the identifier of the Amazon DataZone inventory asset.

      " + }, + "name":{ + "shape":"AssetName", + "documentation":"

      The name of the Amazon DataZone inventory asset.

      " + }, + "owningProjectId":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the Amazon DataZone project that owns the inventory asset.

      " + }, + "typeIdentifier":{ + "shape":"AssetTypeIdentifier", + "documentation":"

      The identifier of the asset type of the specified Amazon DataZone inventory asset.

      " + }, + "typeRevision":{ + "shape":"Revision", + "documentation":"

      The revision of the inventory asset type.

      " + } + }, + "documentation":"

      A Amazon DataZone inventory asset.

      " + }, + "AssetItemAdditionalAttributes":{ + "type":"structure", + "members":{ + "formsOutput":{ + "shape":"FormOutputList", + "documentation":"

      The forms included in the additional attributes of an inventory asset.

      " + }, + "readOnlyFormsOutput":{ + "shape":"FormOutputList", + "documentation":"

      The read-only forms included in the additional attributes of an inventory asset.

      " + } + }, + "documentation":"

      The additional attributes of an inventory asset.

      " + }, + "AssetListing":{ + "type":"structure", + "members":{ + "assetId":{ + "shape":"AssetId", + "documentation":"

      The identifier of an asset published in an Amazon DataZone catalog.

      " + }, + "assetRevision":{ + "shape":"Revision", + "documentation":"

      The revision of an asset published in an Amazon DataZone catalog.

      " + }, + "assetType":{ + "shape":"TypeName", + "documentation":"

      The type of an asset published in an Amazon DataZone catalog.

      " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when an asset published in an Amazon DataZone catalog was created.

      " + }, + "forms":{ + "shape":"Forms", + "documentation":"

      The metadata forms attached to an asset published in an Amazon DataZone catalog.

      " + }, + "glossaryTerms":{ + "shape":"DetailedGlossaryTerms", + "documentation":"

      The glossary terms attached to an asset published in an Amazon DataZone catalog.

      " + }, + "owningProjectId":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the project where an asset published in an Amazon DataZone catalog exists.

      " + } + }, + "documentation":"

      An asset published in an Amazon DataZone catalog.

      " + }, + "AssetListingDetails":{ + "type":"structure", + "required":[ + "listingId", + "listingStatus" + ], + "members":{ + "listingId":{ + "shape":"ListingId", + "documentation":"

      The identifier of an asset published in an Amazon DataZone catalog.

      " + }, + "listingStatus":{ + "shape":"ListingStatus", + "documentation":"

      The status of an asset published in an Amazon DataZone catalog.

      " + } + }, + "documentation":"

      The details of an asset published in an Amazon DataZone catalog.

      " + }, + "AssetListingItem":{ + "type":"structure", + "members":{ + "additionalAttributes":{ + "shape":"AssetListingItemAdditionalAttributes", + "documentation":"

      The additional attributes of an asset published in an Amazon DataZone catalog.

      " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when an asset published in an Amazon DataZone catalog was created.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The description of an asset published in an Amazon DataZone catalog.

      " + }, + "entityId":{ + "shape":"AssetId", + "documentation":"

      The identifier of the inventory asset.

      " + }, + "entityRevision":{ + "shape":"Revision", + "documentation":"

      The revision of the inventory asset.

      " + }, + "entityType":{ + "shape":"TypeName", + "documentation":"

      The type of the inventory asset.

      " + }, + "glossaryTerms":{ + "shape":"DetailedGlossaryTerms", + "documentation":"

      Glossary terms attached to the inventory asset.

      " + }, + "listingCreatedBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created the listing.

      " + }, + "listingId":{ + "shape":"ListingId", + "documentation":"

      The identifier of the listing (asset published in Amazon DataZone catalog).

      " + }, + "listingRevision":{ + "shape":"Revision", + "documentation":"

      The revision of the listing (asset published in Amazon DataZone catalog).

      " + }, + "listingUpdatedBy":{ + "shape":"UpdatedBy", + "documentation":"

      The Amazon DataZone user who updated the listing.

      " + }, + "name":{ + "shape":"AssetName", + "documentation":"

      The name of the inventory asset.

      " + }, + "owningProjectId":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the project that owns the inventory asset.

      " + } + }, + "documentation":"

      The details of an asset published in an Amazon DataZone catalog.

      " + }, + "AssetListingItemAdditionalAttributes":{ + "type":"structure", + "members":{ + "forms":{ + "shape":"Forms", + "documentation":"

      The metadata forms that form additional attributes of the metadata asset.

      " + } + }, + "documentation":"

      Additional attributes of an inventory asset.

      " + }, + "AssetName":{ + "type":"string", + "max":256, + "min":1, + "sensitive":true + }, + "AssetRevision":{ + "type":"structure", + "members":{ + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when an inventory asset revison was created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created the asset revision.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The Amazon DataZone user who created the inventory asset.

      " + }, + "id":{ + "shape":"AssetId", + "documentation":"

      The identifier of the inventory asset revision.

      " + }, + "revision":{ + "shape":"Revision", + "documentation":"

      The revision details of the inventory asset.

      " + } + }, + "documentation":"

      The revision of an inventory asset.

      " + }, + "AssetRevisions":{ + "type":"list", + "member":{"shape":"AssetRevision"} + }, + "AssetTargetNameMap":{ + "type":"structure", + "required":[ + "assetId", + "targetName" + ], + "members":{ + "assetId":{ + "shape":"AssetId", + "documentation":"

      The identifier of the inventory asset.

      " + }, + "targetName":{ + "shape":"String", + "documentation":"

      The target name in the asset target name map.

      " + } + }, + "documentation":"

      " + }, + "AssetTargetNames":{ + "type":"list", + "member":{"shape":"AssetTargetNameMap"} + }, + "AssetTypeIdentifier":{ + "type":"string", + "max":385, + "min":1, + "pattern":"^(?!\\.)[\\w\\.]*\\w$" + }, + "AssetTypeItem":{ + "type":"structure", + "required":[ + "domainId", + "formsOutput", + "name", + "owningProjectId", + "revision" + ], + "members":{ + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when the asset type was created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created the asset type.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The description of the asset type.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain where the asset type exists.

      " + }, + "formsOutput":{ + "shape":"FormsOutputMap", + "documentation":"

      The forms included in the details of the asset type.

      " + }, + "name":{ + "shape":"TypeName", + "documentation":"

      The name of the asset type.

      " + }, + "originDomainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain where the asset type was originally created.

      " + }, + "originProjectId":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the Amazon DataZone project where the asset type exists.

      " + }, + "owningProjectId":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the Amazon DataZone project that owns the asset type.

      " + }, + "revision":{ + "shape":"Revision", + "documentation":"

      The revision of the asset type.

      " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

      The timestamp of when the asset type was updated.

      " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

      The Amazon DataZone user who updated the asset type.

      " + } + }, + "documentation":"

      The details of the asset type.

      " + }, + "Attribute":{ + "type":"string", + "max":128, + "min":1 + }, + "AuthType":{ + "type":"string", + "enum":[ + "IAM_IDC", + "DISABLED" + ] + }, + "AuthorizedPrincipalIdentifier":{ + "type":"string", + "pattern":"^[a-zA-Z0-9:/_-]*$" + }, + "AuthorizedPrincipalIdentifiers":{ + "type":"list", + "member":{"shape":"AuthorizedPrincipalIdentifier"}, + "max":10, + "min":1 + }, + "AwsAccountId":{ + "type":"string", + "pattern":"^\\d{12}$" + }, + "AwsRegion":{ + "type":"string", + "pattern":"^[a-z]{2}-[a-z]{4,10}-\\d$" + }, + "Boolean":{ + "type":"boolean", + "box":true + }, + "BusinessNameGenerationConfiguration":{ + "type":"structure", + "members":{ + "enabled":{ + "shape":"Boolean", + "documentation":"

      Specifies whether the business name generation is enabled.

      " + } + }, + "documentation":"

      The configuration of the business name generation.

      " + }, + "CancelSubscriptionInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The unique identifier of the Amazon DataZone domain where the subscription request is being cancelled.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"SubscriptionId", + "documentation":"

      The unique identifier of the subscription that is being cancelled.

      ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "CancelSubscriptionOutput":{ + "type":"structure", + "required":[ + "createdAt", + "createdBy", + "domainId", + "id", + "status", + "subscribedListing", + "subscribedPrincipal", + "updatedAt" + ], + "members":{ + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp that specifies when the request to cancel the subscription was created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      Specifies the Amazon DataZone user who is cancelling the subscription.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The unique identifier of the Amazon DataZone domain where the subscription is being cancelled.

      " + }, + "id":{ + "shape":"SubscriptionId", + "documentation":"

      The identifier of the subscription.

      " + }, + "retainPermissions":{ + "shape":"Boolean", + "documentation":"

      Specifies whether the permissions to the asset are retained after the subscription is cancelled.

      " + }, + "status":{ + "shape":"SubscriptionStatus", + "documentation":"

      The status of the request to cancel the subscription.

      " + }, + "subscribedListing":{ + "shape":"SubscribedListing", + "documentation":"

      The asset to which a subscription is being cancelled.

      " + }, + "subscribedPrincipal":{ + "shape":"SubscribedPrincipal", + "documentation":"

      The Amazon DataZone user who is made a subscriber to the specified asset by the subscription that is being cancelled.

      " + }, + "subscriptionRequestId":{ + "shape":"SubscriptionRequestId", + "documentation":"

      The unique ID of the subscripton request for the subscription that is being cancelled.

      " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

      The timestamp that specifies when the subscription was cancelled.

      " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

      The Amazon DataZone user that cancelled the subscription.

      " + } + } + }, + "ChangeAction":{ + "type":"string", + "enum":[ + "PUBLISH", + "UNPUBLISH" + ] + }, + "ClientToken":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[\\x21-\\x7E]+$" + }, + "CloudFormationProperties":{ + "type":"structure", + "required":["templateUrl"], + "members":{ + "templateUrl":{ + "shape":"String", + "documentation":"

      The template URL of the cloud formation provisioning properties of the environment blueprint.

      " + } + }, + "documentation":"

      Part of the provisioning properties of the environment blueprint.

      " + }, + "ConfigurableActionParameter":{ + "type":"structure", + "members":{ + "key":{ + "shape":"String", + "documentation":"

      The key of the configurable action parameter.

      " + }, + "value":{ + "shape":"String", + "documentation":"

      The value of the configurable action parameter.

      " + } + }, + "documentation":"

      The details of the parameters for the configurable environment action.

      " + }, + "ConfigurableActionParameterList":{ + "type":"list", + "member":{"shape":"ConfigurableActionParameter"} + }, + "ConfigurableActionTypeAuthorization":{ + "type":"string", + "enum":[ + "IAM", + "HTTPS" + ] + }, + "ConfigurableEnvironmentAction":{ + "type":"structure", + "required":[ + "parameters", + "type" + ], + "members":{ + "auth":{ + "shape":"ConfigurableActionTypeAuthorization", + "documentation":"

      The authentication type of a configurable action of a Amazon DataZone environment.

      " + }, + "parameters":{ + "shape":"ConfigurableActionParameterList", + "documentation":"

      The parameters of a configurable action in a Amazon DataZone environment.

      " + }, + "type":{ + "shape":"String", + "documentation":"

      The type of a configurable action in a Amazon DataZone environment.

      " + } + }, + "documentation":"

      The configurable action of a Amazon DataZone environment.

      " + }, + "ConflictException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

      There is a conflict while performing this action.

      ", + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "CreateAssetInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "name", + "owningProjectIdentifier", + "typeIdentifier" + ], + "members":{ + "clientToken":{ + "shape":"ClientToken", + "documentation":"

      A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.

      ", + "idempotencyToken":true + }, + "description":{ + "shape":"Description", + "documentation":"

      Asset description.

      " + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      Amazon DataZone domain where the asset is created.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "externalIdentifier":{ + "shape":"ExternalIdentifier", + "documentation":"

      " + }, + "formsInput":{ + "shape":"FormInputList", + "documentation":"

      Metadata forms attached to the asset.

      " + }, + "glossaryTerms":{ + "shape":"GlossaryTerms", + "documentation":"

      Glossary terms attached to the asset.

      " + }, + "name":{ + "shape":"AssetName", + "documentation":"

      Asset name.

      " + }, + "owningProjectIdentifier":{ + "shape":"ProjectId", + "documentation":"

      The unique identifier of the project that owns this asset.

      " + }, + "predictionConfiguration":{ + "shape":"PredictionConfiguration", + "documentation":"

      The configuration of the automatically generated business-friendly metadata for the asset.

      " + }, + "typeIdentifier":{ + "shape":"AssetTypeIdentifier", + "documentation":"

      The unique identifier of this asset's type.

      " + }, + "typeRevision":{ + "shape":"Revision", + "documentation":"

      The revision of this asset's type.

      " + } + } + }, + "CreateAssetOutput":{ + "type":"structure", + "required":[ + "domainId", + "formsOutput", + "id", + "name", + "owningProjectId", + "revision", + "typeIdentifier", + "typeRevision" + ], + "members":{ + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when the asset was created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user that created this asset in the catalog.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The description of the created asset.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the asset was created.

      " + }, + "externalIdentifier":{ + "shape":"ExternalIdentifier", + "documentation":"

      " + }, + "firstRevisionCreatedAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when the first revision of the asset took place.

      " + }, + "firstRevisionCreatedBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user that made the first revision of the asset.

      " + }, + "formsOutput":{ + "shape":"FormOutputList", + "documentation":"

      The metadata forms that are attached to the created asset.

      " + }, + "glossaryTerms":{ + "shape":"GlossaryTerms", + "documentation":"

      The glossary terms that are attached to the created asset.

      " + }, + "id":{ + "shape":"AssetId", + "documentation":"

      The unique identifier of the created asset.

      " + }, + "listing":{ + "shape":"AssetListingDetails", + "documentation":"

      " + }, + "name":{ + "shape":"AssetName", + "documentation":"

      The name of the created asset.

      " + }, + "owningProjectId":{ + "shape":"ProjectId", + "documentation":"

      The ID of the Amazon DataZone project that owns the created asset.

      " + }, + "predictionConfiguration":{ + "shape":"PredictionConfiguration", + "documentation":"

      The configuration of the automatically generated business-friendly metadata for the asset.

      " + }, + "readOnlyFormsOutput":{ + "shape":"FormOutputList", + "documentation":"

      The read-only metadata forms that are attached to the created asset.

      " + }, + "revision":{ + "shape":"Revision", + "documentation":"

      The revision of the asset.

      " + }, + "typeIdentifier":{ + "shape":"AssetTypeIdentifier", + "documentation":"

      The identifier of the created asset type.

      " + }, + "typeRevision":{ + "shape":"Revision", + "documentation":"

      The revision type of the asset.

      " + } + } + }, + "CreateAssetRevisionInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier", + "name" + ], + "members":{ + "clientToken":{ + "shape":"ClientToken", + "documentation":"

      A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.

      ", + "idempotencyToken":true + }, + "description":{ + "shape":"Description", + "documentation":"

      The revised description of the asset.

      " + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The unique identifier of the domain where the asset is being revised.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "formsInput":{ + "shape":"FormInputList", + "documentation":"

      The metadata forms to be attached to the asset as part of asset revision.

      " + }, + "glossaryTerms":{ + "shape":"GlossaryTerms", + "documentation":"

      The glossary terms to be attached to the asset as part of asset revision.

      " + }, + "identifier":{ + "shape":"AssetIdentifier", + "documentation":"

      The identifier of the asset.

      ", + "location":"uri", + "locationName":"identifier" + }, + "name":{ + "shape":"AssetName", + "documentation":"

      Te revised name of the asset.

      " + }, + "predictionConfiguration":{ + "shape":"PredictionConfiguration", + "documentation":"

      The configuration of the automatically generated business-friendly metadata for the asset.

      " + }, + "typeRevision":{ + "shape":"Revision", + "documentation":"

      The revision type of the asset.

      " + } + } + }, + "CreateAssetRevisionOutput":{ + "type":"structure", + "required":[ + "domainId", + "formsOutput", + "id", + "name", + "owningProjectId", + "revision", + "typeIdentifier", + "typeRevision" + ], + "members":{ + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when the asset revision occured.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who performed the asset revision.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The revised asset description.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The unique identifier of the Amazon DataZone domain where the asset was revised.

      " + }, + "externalIdentifier":{ + "shape":"ExternalIdentifier", + "documentation":"

      " + }, + "firstRevisionCreatedAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when the first asset revision occured.

      " + }, + "firstRevisionCreatedBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who performed the first asset revision.

      " + }, + "formsOutput":{ + "shape":"FormOutputList", + "documentation":"

      The metadata forms that were attached to the asset as part of the asset revision.

      " + }, + "glossaryTerms":{ + "shape":"GlossaryTerms", + "documentation":"

      The glossary terms that were attached to the asset as part of asset revision.

      " + }, + "id":{ + "shape":"AssetId", + "documentation":"

      The unique identifier of the asset revision.

      " + }, + "listing":{ + "shape":"AssetListingDetails", + "documentation":"

      " + }, + "name":{ + "shape":"AssetName", + "documentation":"

      The revised name of the asset.

      " + }, + "owningProjectId":{ + "shape":"ProjectId", + "documentation":"

      The unique identifier of the revised project that owns the asset.

      " + }, + "predictionConfiguration":{ + "shape":"PredictionConfiguration", + "documentation":"

      The configuration of the automatically generated business-friendly metadata for the asset.

      " + }, + "readOnlyFormsOutput":{ + "shape":"FormOutputList", + "documentation":"

      The read-only metadata forms that were attached to the asset as part of the asset revision.

      " + }, + "revision":{ + "shape":"Revision", + "documentation":"

      The revision of the asset.

      " + }, + "typeIdentifier":{ + "shape":"AssetTypeIdentifier", + "documentation":"

      The identifier of the revision type.

      " + }, + "typeRevision":{ + "shape":"Revision", + "documentation":"

      The revision type of the asset.

      " + } + } + }, + "CreateAssetTypeInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "formsInput", + "name", + "owningProjectIdentifier" + ], + "members":{ + "description":{ + "shape":"Description", + "documentation":"

      The descripton of the custom asset type.

      " + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The unique identifier of the Amazon DataZone domain where the custom asset type is being created.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "formsInput":{ + "shape":"FormsInputMap", + "documentation":"

      The metadata forms that are to be attached to the custom asset type.

      " + }, + "name":{ + "shape":"TypeName", + "documentation":"

      The name of the custom asset type.

      " + }, + "owningProjectIdentifier":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the Amazon DataZone project that is to own the custom asset type.

      " + } + } + }, + "CreateAssetTypeOutput":{ + "type":"structure", + "required":[ + "domainId", + "formsOutput", + "name", + "revision" + ], + "members":{ + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when the asset type is to be created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who creates this custom asset type.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The description of the custom asset type.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the asset type was created.

      " + }, + "formsOutput":{ + "shape":"FormsOutputMap", + "documentation":"

      The metadata forms that are attached to the asset type.

      " + }, + "name":{ + "shape":"TypeName", + "documentation":"

      The name of the asset type.

      " + }, + "originDomainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain where the asset type was originally created.

      " + }, + "originProjectId":{ + "shape":"ProjectId", + "documentation":"

      The ID of the Amazon DataZone project where the asset type was originally created.

      " + }, + "owningProjectId":{ + "shape":"ProjectId", + "documentation":"

      The ID of the Amazon DataZone project that currently owns this asset type.

      " + }, + "revision":{ + "shape":"Revision", + "documentation":"

      The revision of the custom asset type.

      " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

      The timestamp of when the custom type was created.

      " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

      The Amazon DataZone user that created the custom asset type.

      " + } + } + }, + "CreateDataSourceInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "environmentIdentifier", + "name", + "projectIdentifier", + "type" + ], + "members":{ + "assetFormsInput":{ + "shape":"FormInputList", + "documentation":"

      The metadata forms that are to be attached to the assets that this data source works with.

      " + }, + "clientToken":{ + "shape":"String", + "documentation":"

      A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.

      ", + "idempotencyToken":true + }, + "configuration":{ + "shape":"DataSourceConfigurationInput", + "documentation":"

      Specifies the configuration of the data source. It can be set to either glueRunConfiguration or redshiftRunConfiguration.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The description of the data source.

      " + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain where the data source is created.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "enableSetting":{ + "shape":"EnableSetting", + "documentation":"

      Specifies whether the data source is enabled.

      " + }, + "environmentIdentifier":{ + "shape":"String", + "documentation":"

      The unique identifier of the Amazon DataZone environment to which the data source publishes assets.

      " + }, + "name":{ + "shape":"Name", + "documentation":"

      The name of the data source.

      " + }, + "projectIdentifier":{ + "shape":"String", + "documentation":"

      The identifier of the Amazon DataZone project in which you want to add this data source.

      " + }, + "publishOnImport":{ + "shape":"Boolean", + "documentation":"

      Specifies whether the assets that this data source creates in the inventory are to be also automatically published to the catalog.

      " + }, + "recommendation":{ + "shape":"RecommendationConfiguration", + "documentation":"

      Specifies whether the business name generation is to be enabled for this data source.

      " + }, + "schedule":{ + "shape":"ScheduleConfiguration", + "documentation":"

      The schedule of the data source runs.

      " + }, + "type":{ + "shape":"DataSourceType", + "documentation":"

      The type of the data source.

      " + } + } + }, + "CreateDataSourceOutput":{ + "type":"structure", + "required":[ + "domainId", + "environmentId", + "id", + "name", + "projectId" + ], + "members":{ + "assetFormsOutput":{ + "shape":"FormOutputList", + "documentation":"

      The metadata forms attached to the assets that this data source creates.

      " + }, + "configuration":{ + "shape":"DataSourceConfigurationOutput", + "documentation":"

      Specifies the configuration of the data source. It can be set to either glueRunConfiguration or redshiftRunConfiguration.

      " + }, + "createdAt":{ + "shape":"DateTime", + "documentation":"

      The timestamp of when the data source was created.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The description of the data source.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the data source is created.

      " + }, + "enableSetting":{ + "shape":"EnableSetting", + "documentation":"

      Specifies whether the data source is enabled.

      " + }, + "environmentId":{ + "shape":"EnvironmentId", + "documentation":"

      The unique identifier of the Amazon DataZone environment to which the data source publishes assets.

      " + }, + "errorMessage":{ + "shape":"DataSourceErrorMessage", + "documentation":"

      Specifies the error message that is returned if the operation cannot be successfully completed.

      " + }, + "id":{ + "shape":"DataSourceId", + "documentation":"

      The unique identifier of the data source.

      " + }, + "lastRunAt":{ + "shape":"DateTime", + "documentation":"

      The timestamp that specifies when the data source was last run.

      " + }, + "lastRunErrorMessage":{ + "shape":"DataSourceErrorMessage", + "documentation":"

      Specifies the error message that is returned if the operation cannot be successfully completed.

      " + }, + "lastRunStatus":{ + "shape":"DataSourceRunStatus", + "documentation":"

      The status of the last run of this data source.

      " + }, + "name":{ + "shape":"Name", + "documentation":"

      The name of the data source.

      " + }, + "projectId":{ + "shape":"ProjectId", + "documentation":"

      The ID of the Amazon DataZone project to which the data source is added.

      " + }, + "publishOnImport":{ + "shape":"Boolean", + "documentation":"

      Specifies whether the assets that this data source creates in the inventory are to be also automatically published to the catalog.

      " + }, + "recommendation":{ + "shape":"RecommendationConfiguration", + "documentation":"

      Specifies whether the business name generation is to be enabled for this data source.

      " + }, + "schedule":{ + "shape":"ScheduleConfiguration", + "documentation":"

      The schedule of the data source runs.

      " + }, + "status":{ + "shape":"DataSourceStatus", + "documentation":"

      The status of the data source.

      " + }, + "type":{ + "shape":"DataSourceType", + "documentation":"

      The type of the data source.

      " + }, + "updatedAt":{ + "shape":"DateTime", + "documentation":"

      The timestamp of when the data source was updated.

      " + } + } + }, + "CreateDomainInput":{ + "type":"structure", + "required":[ + "domainExecutionRole", + "name" + ], + "members":{ + "clientToken":{ + "shape":"String", + "documentation":"

      A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.

      ", + "idempotencyToken":true + }, + "description":{ + "shape":"String", + "documentation":"

      The description of the Amazon DataZone domain.

      " + }, + "domainExecutionRole":{ + "shape":"RoleArn", + "documentation":"

      The domain execution role that is created when an Amazon DataZone domain is created. The domain execution role is created in the Amazon Web Services account that houses the Amazon DataZone domain.

      " + }, + "kmsKeyIdentifier":{ + "shape":"KmsKeyArn", + "documentation":"

      The identifier of the Amazon Web Services Key Management Service (KMS) key that is used to encrypt the Amazon DataZone domain, metadata, and reporting data.

      " + }, + "name":{ + "shape":"String", + "documentation":"

      The name of the Amazon DataZone domain.

      " + }, + "singleSignOn":{ + "shape":"SingleSignOn", + "documentation":"

      The single-sign on configuration of the Amazon DataZone domain.

      " + }, + "tags":{ + "shape":"Tags", + "documentation":"

      The tags specified for the Amazon DataZone domain.

      " + } + } + }, + "CreateDomainOutput":{ + "type":"structure", + "required":["id"], + "members":{ + "arn":{ + "shape":"String", + "documentation":"

      The ARN of the Amazon DataZone domain.

      " + }, + "description":{ + "shape":"String", + "documentation":"

      The description of the Amazon DataZone domain.

      " + }, + "domainExecutionRole":{ + "shape":"RoleArn", + "documentation":"

      The domain execution role that is created when an Amazon DataZone domain is created. The domain execution role is created in the Amazon Web Services account that houses the Amazon DataZone domain.

      " + }, + "id":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain.

      " + }, + "kmsKeyIdentifier":{ + "shape":"KmsKeyArn", + "documentation":"

      The identifier of the Amazon Web Services Key Management Service (KMS) key that is used to encrypt the Amazon DataZone domain, metadata, and reporting data.

      " + }, + "name":{ + "shape":"String", + "documentation":"

      The name of the Amazon DataZone domain.

      " + }, + "portalUrl":{ + "shape":"String", + "documentation":"

      The URL of the data portal for this Amazon DataZone domain.

      " + }, + "singleSignOn":{ + "shape":"SingleSignOn", + "documentation":"

      The single-sign on configuration of the Amazon DataZone domain.

      " + }, + "status":{ + "shape":"DomainStatus", + "documentation":"

      The status of the Amazon DataZone domain.

      " + }, + "tags":{ + "shape":"Tags", + "documentation":"

      The tags specified for the Amazon DataZone domain.

      " + } + } + }, + "CreateEnvironmentInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "environmentProfileIdentifier", + "name", + "projectIdentifier" + ], + "members":{ + "description":{ + "shape":"String", + "documentation":"

      The description of the Amazon DataZone environment.

      " + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which the environment is created.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "environmentProfileIdentifier":{ + "shape":"EnvironmentProfileId", + "documentation":"

      The identifier of the environment profile that is used to create this Amazon DataZone environment.

      " + }, + "glossaryTerms":{ + "shape":"GlossaryTerms", + "documentation":"

      The glossary terms that can be used in this Amazon DataZone environment.

      " + }, + "name":{ + "shape":"String", + "documentation":"

      The name of the Amazon DataZone environment.

      " + }, + "projectIdentifier":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the Amazon DataZone project in which this environment is created.

      " + }, + "userParameters":{ + "shape":"EnvironmentParametersList", + "documentation":"

      The user parameters of this Amazon DataZone environment.

      " + } + } + }, + "CreateEnvironmentOutput":{ + "type":"structure", + "required":[ + "createdBy", + "domainId", + "environmentProfileId", + "name", + "projectId", + "provider" + ], + "members":{ + "awsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

      The Amazon Web Services account in which the Amazon DataZone environment is created.

      " + }, + "awsAccountRegion":{ + "shape":"AwsRegion", + "documentation":"

      The Amazon Web Services region in which the Amazon DataZone environment is created.

      " + }, + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when the environment was created.

      " + }, + "createdBy":{ + "shape":"String", + "documentation":"

      The Amazon DataZone user who created this environment.

      " + }, + "deploymentProperties":{ + "shape":"DeploymentProperties", + "documentation":"

      The deployment properties of this Amazon DataZone environment.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The description of this Amazon DataZone environment.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which the environment is created.

      " + }, + "environmentActions":{ + "shape":"EnvironmentActionList", + "documentation":"

      The configurable actions of this Amazon DataZone environment.

      " + }, + "environmentBlueprintId":{ + "shape":"EnvironmentBlueprintId", + "documentation":"

      The ID of the blueprint with which this Amazon DataZone environment was created.

      " + }, + "environmentProfileId":{ + "shape":"EnvironmentProfileId", + "documentation":"

      The ID of the environment profile with which this Amazon DataZone environment was created.

      " + }, + "glossaryTerms":{ + "shape":"GlossaryTerms", + "documentation":"

      The glossary terms that can be used in this Amazon DataZone environment.

      " + }, + "id":{ + "shape":"EnvironmentId", + "documentation":"

      The ID of this Amazon DataZone environment.

      " + }, + "lastDeployment":{ + "shape":"Deployment", + "documentation":"

      The details of the last deployment of this Amazon DataZone environment.

      " + }, + "name":{ + "shape":"EnvironmentName", + "documentation":"

      The name of this environment.

      " + }, + "projectId":{ + "shape":"ProjectId", + "documentation":"

      The ID of the Amazon DataZone project in which this environment is created.

      " + }, + "provider":{ + "shape":"String", + "documentation":"

      The provider of this Amazon DataZone environment.

      " + }, + "provisionedResources":{ + "shape":"ResourceList", + "documentation":"

      The provisioned resources of this Amazon DataZone environment.

      " + }, + "provisioningProperties":{ + "shape":"ProvisioningProperties", + "documentation":"

      The provisioning properties of this Amazon DataZone environment.

      " + }, + "status":{ + "shape":"EnvironmentStatus", + "documentation":"

      The status of this Amazon DataZone environment.

      " + }, + "updatedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when this environment was updated.

      " + }, + "userParameters":{ + "shape":"CustomParameterList", + "documentation":"

      The user parameters of this Amazon DataZone environment.

      " + } + } + }, + "CreateEnvironmentProfileInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "environmentBlueprintIdentifier", + "name", + "projectIdentifier" + ], + "members":{ + "awsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

      The Amazon Web Services account in which the Amazon DataZone environment is created.

      " + }, + "awsAccountRegion":{ + "shape":"AwsRegion", + "documentation":"

      The Amazon Web Services region in which this environment profile is created.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The description of this Amazon DataZone environment profile.

      " + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which this environment profile is created.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "environmentBlueprintIdentifier":{ + "shape":"EnvironmentBlueprintId", + "documentation":"

      The ID of the blueprint with which this environment profile is created.

      " + }, + "name":{ + "shape":"EnvironmentProfileName", + "documentation":"

      The name of this Amazon DataZone environment profile.

      " + }, + "projectIdentifier":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the project in which to create the environment profile.

      " + }, + "userParameters":{ + "shape":"EnvironmentParametersList", + "documentation":"

      The user parameters of this Amazon DataZone environment profile.

      " + } + } + }, + "CreateEnvironmentProfileOutput":{ + "type":"structure", + "required":[ + "createdBy", + "domainId", + "environmentBlueprintId", + "id", + "name" + ], + "members":{ + "awsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

      The Amazon Web Services account ID in which this Amazon DataZone environment profile is created.

      " + }, + "awsAccountRegion":{ + "shape":"AwsRegion", + "documentation":"

      The Amazon Web Services region in which this Amazon DataZone environment profile is created.

      " + }, + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when this environment profile was created.

      " + }, + "createdBy":{ + "shape":"String", + "documentation":"

      The Amazon DataZone user who created this environment profile.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The description of this Amazon DataZone environment profile.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which this environment profile is created.

      " + }, + "environmentBlueprintId":{ + "shape":"EnvironmentBlueprintId", + "documentation":"

      The ID of the blueprint with which this environment profile is created.

      " + }, + "id":{ + "shape":"EnvironmentProfileId", + "documentation":"

      The ID of this Amazon DataZone environment profile.

      " + }, + "name":{ + "shape":"EnvironmentProfileName", + "documentation":"

      The name of this Amazon DataZone environment profile.

      " + }, + "projectId":{ + "shape":"ProjectId", + "documentation":"

      The ID of the Amazon DataZone project in which this environment profile is created.

      " + }, + "updatedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when this environment profile was updated.

      " + }, + "userParameters":{ + "shape":"CustomParameterList", + "documentation":"

      The user parameters of this Amazon DataZone environment profile.

      " + } + } + }, + "CreateFormTypeInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "model", + "name", + "owningProjectIdentifier" + ], + "members":{ + "description":{ + "shape":"Description", + "documentation":"

      The description of this Amazon DataZone metadata form type.

      " + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which this metadata form type is created.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "model":{ + "shape":"Model", + "documentation":"

      The model of this Amazon DataZone metadata form type.

      " + }, + "name":{ + "shape":"FormTypeName", + "documentation":"

      The name of this Amazon DataZone metadata form type.

      " + }, + "owningProjectIdentifier":{ + "shape":"ProjectId", + "documentation":"

      The ID of the Amazon DataZone project that owns this metadata form type.

      " + }, + "status":{ + "shape":"FormTypeStatus", + "documentation":"

      The status of this Amazon DataZone metadata form type.

      " + } + } + }, + "CreateFormTypeOutput":{ + "type":"structure", + "required":[ + "domainId", + "name", + "revision" + ], + "members":{ + "description":{ + "shape":"Description", + "documentation":"

      The description of this Amazon DataZone metadata form type.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which this metadata form type is created.

      " + }, + "name":{ + "shape":"FormTypeName", + "documentation":"

      The name of this Amazon DataZone metadata form type.

      " + }, + "originDomainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which this metadata form type was originally created.

      " + }, + "originProjectId":{ + "shape":"ProjectId", + "documentation":"

      The ID of the project in which this Amazon DataZone metadata form type was originally created.

      " + }, + "owningProjectId":{ + "shape":"ProjectId", + "documentation":"

      The ID of the project that owns this Amazon DataZone metadata form type.

      " + }, + "revision":{ + "shape":"Revision", + "documentation":"

      The revision of this Amazon DataZone metadata form type.

      " + } + } + }, + "CreateGlossaryInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "name", + "owningProjectIdentifier" + ], + "members":{ + "clientToken":{ + "shape":"ClientToken", + "documentation":"

      A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.

      ", + "idempotencyToken":true + }, + "description":{ + "shape":"GlossaryDescription", + "documentation":"

      The description of this business glossary.

      " + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which this business glossary is created.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "name":{ + "shape":"GlossaryName", + "documentation":"

      The name of this business glossary.

      " + }, + "owningProjectIdentifier":{ + "shape":"ProjectId", + "documentation":"

      The ID of the project that currently owns business glossary.

      " + }, + "status":{ + "shape":"GlossaryStatus", + "documentation":"

      The status of this business glossary.

      " + } + } + }, + "CreateGlossaryOutput":{ + "type":"structure", + "required":[ + "domainId", + "id", + "name", + "owningProjectId" + ], + "members":{ + "description":{ + "shape":"GlossaryDescription", + "documentation":"

      The description of this business glossary.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which this business glossary is created.

      " + }, + "id":{ + "shape":"GlossaryId", + "documentation":"

      The ID of this business glossary.

      " + }, + "name":{ + "shape":"GlossaryName", + "documentation":"

      The name of this business glossary.

      " + }, + "owningProjectId":{ + "shape":"ProjectId", + "documentation":"

      The ID of the project that currently owns this business glossary.

      " + }, + "status":{ + "shape":"GlossaryStatus", + "documentation":"

      The status of this business glossary.

      " + } + } + }, + "CreateGlossaryTermInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "glossaryIdentifier", + "name" + ], + "members":{ + "clientToken":{ + "shape":"ClientToken", + "documentation":"

      A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.

      ", + "idempotencyToken":true + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which this business glossary term is created.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "glossaryIdentifier":{ + "shape":"GlossaryTermId", + "documentation":"

      The ID of the business glossary in which this term is created.

      " + }, + "longDescription":{ + "shape":"LongDescription", + "documentation":"

      The long description of this business glossary term.

      " + }, + "name":{ + "shape":"GlossaryTermName", + "documentation":"

      The name of this business glossary term.

      " + }, + "shortDescription":{ + "shape":"ShortDescription", + "documentation":"

      The short description of this business glossary term.

      " + }, + "status":{ + "shape":"GlossaryTermStatus", + "documentation":"

      The status of this business glossary term.

      " + }, + "termRelations":{ + "shape":"TermRelations", + "documentation":"

      The term relations of this business glossary term.

      " + } + } + }, + "CreateGlossaryTermOutput":{ + "type":"structure", + "required":[ + "domainId", + "glossaryId", + "id", + "name", + "status" + ], + "members":{ + "domainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which this business glossary term is created.

      " + }, + "glossaryId":{ + "shape":"GlossaryId", + "documentation":"

      The ID of the business glossary in which this term is created.

      " + }, + "id":{ + "shape":"GlossaryTermId", + "documentation":"

      The ID of this business glossary term.

      " + }, + "longDescription":{ + "shape":"LongDescription", + "documentation":"

      The long description of this business glossary term.

      " + }, + "name":{ + "shape":"GlossaryTermName", + "documentation":"

      The name of this business glossary term.

      " + }, + "shortDescription":{ + "shape":"ShortDescription", + "documentation":"

      The short description of this business glossary term.

      " + }, + "status":{ + "shape":"GlossaryTermStatus", + "documentation":"

      The status of this business glossary term.

      " + }, + "termRelations":{ + "shape":"TermRelations", + "documentation":"

      The term relations of this business glossary term.

      " + } + } + }, + "CreateGroupProfileInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "groupIdentifier" + ], + "members":{ + "clientToken":{ + "shape":"String", + "documentation":"

      A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.

      ", + "idempotencyToken":true + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which the group profile is created.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "groupIdentifier":{ + "shape":"GroupIdentifier", + "documentation":"

      The identifier of the group for which the group profile is created.

      " + } + } + }, + "CreateGroupProfileOutput":{ + "type":"structure", + "members":{ + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which the group profile is created.

      " + }, + "groupName":{ + "shape":"GroupProfileName", + "documentation":"

      The name of the group for which group profile is created.

      " + }, + "id":{ + "shape":"GroupProfileId", + "documentation":"

      The identifier of the group profile.

      " + }, + "status":{ + "shape":"GroupProfileStatus", + "documentation":"

      The status of the group profile.

      " + } + } + }, + "CreateListingChangeSetInput":{ + "type":"structure", + "required":[ + "action", + "domainIdentifier", + "entityIdentifier", + "entityType" + ], + "members":{ + "action":{ + "shape":"ChangeAction", + "documentation":"

      " + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

      ", + "idempotencyToken":true + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "entityIdentifier":{ + "shape":"EntityId", + "documentation":"

      " + }, + "entityRevision":{ + "shape":"Revision", + "documentation":"

      " + }, + "entityType":{ + "shape":"EntityType", + "documentation":"

      " + } + } + }, + "CreateListingChangeSetOutput":{ + "type":"structure", + "required":[ + "listingId", + "listingRevision", + "status" + ], + "members":{ + "listingId":{ + "shape":"ListingId", + "documentation":"

      " + }, + "listingRevision":{ + "shape":"Revision", + "documentation":"

      " + }, + "status":{ + "shape":"ListingStatus", + "documentation":"

      " + } + } + }, + "CreateProjectInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "name" + ], + "members":{ + "description":{ + "shape":"Description", + "documentation":"

      The description of the Amazon DataZone project.

      " + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which this project is created.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "glossaryTerms":{ + "shape":"GlossaryTerms", + "documentation":"

      The glossary terms that can be used in this Amazon DataZone project.

      " + }, + "name":{ + "shape":"ProjectName", + "documentation":"

      The name of the Amazon DataZone project.

      " + } + } + }, + "CreateProjectMembershipInput":{ + "type":"structure", + "required":[ + "designation", + "domainIdentifier", + "member", + "projectIdentifier" + ], + "members":{ + "designation":{ + "shape":"UserDesignation", + "documentation":"

      The designation of the project membership.

      " + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which project membership is created.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "member":{ + "shape":"Member", + "documentation":"

      The project member whose project membership was created.

      " + }, + "projectIdentifier":{ + "shape":"ProjectId", + "documentation":"

      The ID of the project for which this project membership was created.

      ", + "location":"uri", + "locationName":"projectIdentifier" + } + } + }, + "CreateProjectMembershipOutput":{ + "type":"structure", + "members":{ + } + }, + "CreateProjectOutput":{ + "type":"structure", + "required":[ + "createdBy", + "domainId", + "id", + "name" + ], + "members":{ + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when the project was created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created the project.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The description of the project.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which the project was created.

      " + }, + "glossaryTerms":{ + "shape":"GlossaryTerms", + "documentation":"

      The glossary terms that can be used in the project.

      " + }, + "id":{ + "shape":"ProjectId", + "documentation":"

      The ID of the Amazon DataZone project.

      " + }, + "lastUpdatedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when the project was last updated.

      " + }, + "name":{ + "shape":"ProjectName", + "documentation":"

      The name of the project.

      " + } + } + }, + "CreateSubscriptionGrantInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "environmentIdentifier", + "grantedEntity", + "subscriptionTargetIdentifier" + ], + "members":{ + "assetTargetNames":{ + "shape":"AssetTargetNames", + "documentation":"

      The names of the assets for which the subscription grant is created.

      " + }, + "clientToken":{ + "shape":"String", + "documentation":"

      A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.

      ", + "idempotencyToken":true + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the subscription grant is created.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "environmentIdentifier":{ + "shape":"EnvironmentId", + "documentation":"

      The ID of the environment in which the subscription grant is created.

      " + }, + "grantedEntity":{ + "shape":"GrantedEntityInput", + "documentation":"

      The entity to which the subscription is to be granted.

      " + }, + "subscriptionTargetIdentifier":{ + "shape":"SubscriptionTargetId", + "documentation":"

      The ID of the subscription target for which the subscription grant is created.

      " + } + } + }, + "CreateSubscriptionGrantOutput":{ + "type":"structure", + "required":[ + "createdAt", + "createdBy", + "domainId", + "grantedEntity", + "id", + "status", + "subscriptionTargetId", + "updatedAt" + ], + "members":{ + "assets":{ + "shape":"SubscribedAssets", + "documentation":"

      The assets for which the subscription grant is created.

      " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      A timestamp of when the subscription grant is created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created the subscription grant.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the subscription grant is created.

      " + }, + "grantedEntity":{ + "shape":"GrantedEntity", + "documentation":"

      The entity to which the subscription is granted.

      " + }, + "id":{ + "shape":"SubscriptionGrantId", + "documentation":"

      The ID of the subscription grant.

      " + }, + "status":{ + "shape":"SubscriptionGrantOverallStatus", + "documentation":"

      The status of the subscription grant.

      " + }, + "subscriptionId":{ + "shape":"SubscriptionId", + "documentation":"

      The identifier of the subscription grant.

      " + }, + "subscriptionTargetId":{ + "shape":"SubscriptionTargetId", + "documentation":"

      The ID of the subscription target for which the subscription grant is created.

      " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

      A timestamp of when the subscription grant was updated.

      " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

      The Amazon DataZone user who updated the subscription grant.

      " + } + } + }, + "CreateSubscriptionRequestInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "requestReason", + "subscribedListings", + "subscribedPrincipals" + ], + "members":{ + "clientToken":{ + "shape":"String", + "documentation":"

      A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.

      ", + "idempotencyToken":true + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the subscription request is created.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "requestReason":{ + "shape":"RequestReason", + "documentation":"

      The reason for the subscription request.

      " + }, + "subscribedListings":{ + "shape":"SubscribedListingInputs", + "documentation":"

      " + }, + "subscribedPrincipals":{ + "shape":"SubscribedPrincipalInputs", + "documentation":"

      The Amazon DataZone principals for whom the subscription request is created.

      " + } + } + }, + "CreateSubscriptionRequestOutput":{ + "type":"structure", + "required":[ + "createdAt", + "createdBy", + "domainId", + "id", + "requestReason", + "status", + "subscribedListings", + "subscribedPrincipals", + "updatedAt" + ], + "members":{ + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      A timestamp of when the subscription request is created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created the subscription request.

      " + }, + "decisionComment":{ + "shape":"DecisionComment", + "documentation":"

      The decision comment of the subscription request.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in whcih the subscription request is created.

      " + }, + "id":{ + "shape":"SubscriptionRequestId", + "documentation":"

      The ID of the subscription request.

      " + }, + "requestReason":{ + "shape":"RequestReason", + "documentation":"

      The reason for the subscription request.

      " + }, + "reviewerId":{ + "shape":"String", + "documentation":"

      The ID of the reviewer of the subscription request.

      " + }, + "status":{ + "shape":"SubscriptionRequestStatus", + "documentation":"

      The status of the subscription request.

      " + }, + "subscribedListings":{ + "shape":"CreateSubscriptionRequestOutputSubscribedListingsList", + "documentation":"

      " + }, + "subscribedPrincipals":{ + "shape":"CreateSubscriptionRequestOutputSubscribedPrincipalsList", + "documentation":"

      The subscribed principals of the subscription request.

      " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

      The timestamp of when the subscription request was updated.

      " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

      The Amazon DataZone user who updated the subscription request.

      " + } + } + }, + "CreateSubscriptionRequestOutputSubscribedListingsList":{ + "type":"list", + "member":{"shape":"SubscribedListing"}, + "max":1, + "min":1 + }, + "CreateSubscriptionRequestOutputSubscribedPrincipalsList":{ + "type":"list", + "member":{"shape":"SubscribedPrincipal"}, + "max":1, + "min":1 + }, + "CreateSubscriptionTargetInput":{ + "type":"structure", + "required":[ + "applicableAssetTypes", + "authorizedPrincipals", + "domainIdentifier", + "environmentIdentifier", + "manageAccessRole", + "name", + "subscriptionTargetConfig", + "type" + ], + "members":{ + "applicableAssetTypes":{ + "shape":"ApplicableAssetTypes", + "documentation":"

      The asset types that can be included in the subscription target.

      " + }, + "authorizedPrincipals":{ + "shape":"AuthorizedPrincipalIdentifiers", + "documentation":"

      The authorized principals of the subscription target.

      " + }, + "clientToken":{ + "shape":"String", + "documentation":"

      A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.

      ", + "idempotencyToken":true + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which subscription target is created.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "environmentIdentifier":{ + "shape":"EnvironmentId", + "documentation":"

      The ID of the environment in which subscription target is created.

      ", + "location":"uri", + "locationName":"environmentIdentifier" + }, + "manageAccessRole":{ + "shape":"String", + "documentation":"

      The manage access role that is used to create the subscription target.

      " + }, + "name":{ + "shape":"SubscriptionTargetName", + "documentation":"

      The name of the subscription target.

      " + }, + "provider":{ + "shape":"String", + "documentation":"

      The provider of the subscription target.

      " + }, + "subscriptionTargetConfig":{ + "shape":"SubscriptionTargetForms", + "documentation":"

      The configuration of the subscription target.

      " + }, + "type":{ + "shape":"String", + "documentation":"

      The type of the subscription target.

      " + } + } + }, + "CreateSubscriptionTargetOutput":{ + "type":"structure", + "required":[ + "applicableAssetTypes", + "authorizedPrincipals", + "createdAt", + "createdBy", + "domainId", + "environmentId", + "id", + "manageAccessRole", + "name", + "projectId", + "provider", + "subscriptionTargetConfig", + "type" + ], + "members":{ + "applicableAssetTypes":{ + "shape":"ApplicableAssetTypes", + "documentation":"

      The asset types that can be included in the subscription target.

      " + }, + "authorizedPrincipals":{ + "shape":"AuthorizedPrincipalIdentifiers", + "documentation":"

      The authorised principals of the subscription target.

      " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when the subscription target was created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created the subscription target.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the subscription target was created.

      " + }, + "environmentId":{ + "shape":"EnvironmentId", + "documentation":"

      The ID of the environment in which the subscription target was created.

      " + }, + "id":{ + "shape":"SubscriptionTargetId", + "documentation":"

      The ID of the subscription target.

      " + }, + "manageAccessRole":{ + "shape":"String", + "documentation":"

      The manage access role with which the subscription target was created.

      " + }, + "name":{ + "shape":"SubscriptionTargetName", + "documentation":"

      The name of the subscription target.

      " + }, + "projectId":{ + "shape":"ProjectId", + "documentation":"

      ???

      " + }, + "provider":{ + "shape":"String", + "documentation":"

      The provider of the subscription target.

      " + }, + "subscriptionTargetConfig":{ + "shape":"SubscriptionTargetForms", + "documentation":"

      The configuration of the subscription target.

      " + }, + "type":{ + "shape":"String", + "documentation":"

      The type of the subscription target.

      " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

      The timestamp of when the subscription target was updated.

      " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

      The Amazon DataZone user who updated the subscription target.

      " + } + } + }, + "CreateUserProfileInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "userIdentifier" + ], + "members":{ + "clientToken":{ + "shape":"String", + "documentation":"

      A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.

      ", + "idempotencyToken":true + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which a user profile is created.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "userIdentifier":{ + "shape":"UserIdentifier", + "documentation":"

      The identifier of the user for which the user profile is created.

      " + }, + "userType":{ + "shape":"UserType", + "documentation":"

      The user type of the user for which the user profile is created.

      " + } + } + }, + "CreateUserProfileOutput":{ + "type":"structure", + "members":{ + "details":{"shape":"UserProfileDetails"}, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which a user profile is created.

      " + }, + "id":{ + "shape":"UserProfileId", + "documentation":"

      The identifier of the user profile.

      " + }, + "status":{ + "shape":"UserProfileStatus", + "documentation":"

      The status of the user profile.

      " + }, + "type":{ + "shape":"UserProfileType", + "documentation":"

      The type of the user profile.

      " + } + } + }, + "CreatedAt":{"type":"timestamp"}, + "CreatedBy":{"type":"string"}, + "CronString":{ + "type":"string", + "max":256, + "min":1, + "pattern":"cron\\((\\b[0-5]?[0-9]\\b) (\\b2[0-3]\\b|\\b[0-1]?[0-9]\\b) (.*){1,5} (.*){1,5} (.*){1,5} (.*){1,5}\\)" + }, + "CustomParameter":{ + "type":"structure", + "required":[ + "fieldType", + "keyName" + ], + "members":{ + "defaultValue":{ + "shape":"String", + "documentation":"

      The default value of the parameter.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The description of the parameter.

      " + }, + "fieldType":{ + "shape":"String", + "documentation":"

      The filed type of the parameter.

      " + }, + "isEditable":{ + "shape":"Boolean", + "documentation":"

      Specifies whether the parameter is editable.

      " + }, + "isOptional":{ + "shape":"Boolean", + "documentation":"

      Specifies whether the custom parameter is optional.

      " + }, + "keyName":{ + "shape":"CustomParameterKeyNameString", + "documentation":"

      The key name of the parameter.

      " + } + }, + "documentation":"

      The details of user parameters of an environment blueprint.

      " + }, + "CustomParameterKeyNameString":{ + "type":"string", + "pattern":"^[a-zA-Z_][a-zA-Z0-9_]*$" + }, + "CustomParameterList":{ + "type":"list", + "member":{"shape":"CustomParameter"} + }, + "DataAssetActivityStatus":{ + "type":"string", + "enum":[ + "FAILED", + "PUBLISHING_FAILED", + "SUCCEEDED_CREATED", + "SUCCEEDED_UPDATED", + "SKIPPED_ALREADY_IMPORTED", + "SKIPPED_ARCHIVED", + "SKIPPED_NO_ACCESS", + "UNCHANGED" + ] + }, + "DataProductDescription":{ + "type":"string", + "max":4096, + "min":1, + "sensitive":true + }, + "DataProductId":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_-]{1,36}$" + }, + "DataProductItem":{ + "type":"structure", + "members":{ + "domainId":{ + "shape":"DomainId", + "documentation":"

      " + }, + "itemId":{ + "shape":"DataProductId", + "documentation":"

      " + } + }, + "documentation":"

      " + }, + "DataProductItems":{ + "type":"list", + "member":{"shape":"DataProductItem"}, + "max":100, + "min":0 + }, + "DataProductName":{ + "type":"string", + "max":64, + "min":1, + "sensitive":true + }, + "DataProductSummary":{ + "type":"structure", + "required":[ + "domainId", + "id", + "name", + "owningProjectId" + ], + "members":{ + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      " + }, + "dataProductItems":{ + "shape":"DataProductItems", + "documentation":"

      " + }, + "description":{ + "shape":"DataProductDescription", + "documentation":"

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      " + }, + "glossaryTerms":{ + "shape":"GlossaryTerms", + "documentation":"

      " + }, + "id":{ + "shape":"DataProductId", + "documentation":"

      " + }, + "name":{ + "shape":"DataProductName", + "documentation":"

      " + }, + "owningProjectId":{ + "shape":"ProjectId", + "documentation":"

      " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

      " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

      " + } + }, + "documentation":"

      " + }, + "DataSourceConfigurationInput":{ + "type":"structure", + "members":{ + "glueRunConfiguration":{ + "shape":"GlueRunConfigurationInput", + "documentation":"

      The configuration of the Amazon Web Services Glue data source.

      " + }, + "redshiftRunConfiguration":{ + "shape":"RedshiftRunConfigurationInput", + "documentation":"

      The configuration of the Amazon Redshift data source.

      " + } + }, + "documentation":"

      The configuration of the data source.

      ", + "union":true + }, + "DataSourceConfigurationOutput":{ + "type":"structure", + "members":{ + "glueRunConfiguration":{ + "shape":"GlueRunConfigurationOutput", + "documentation":"

      The configuration of the Amazon Web Services Glue data source.

      " + }, + "redshiftRunConfiguration":{ + "shape":"RedshiftRunConfigurationOutput", + "documentation":"

      The configuration of the Amazon Redshift data source.

      " + } + }, + "documentation":"

      The configuration of the data source.

      ", + "union":true + }, + "DataSourceErrorMessage":{ + "type":"structure", + "required":["errorType"], + "members":{ + "errorDetail":{ + "shape":"String", + "documentation":"

      The details of the error message that is returned if the operation cannot be successfully completed.

      " + }, + "errorType":{ + "shape":"DataSourceErrorType", + "documentation":"

      The type of the error message that is returned if the operation cannot be successfully completed.

      " + } + }, + "documentation":"

      The details of the error message that is returned if the operation cannot be successfully completed.

      " + }, + "DataSourceErrorType":{ + "type":"string", + "enum":[ + "ACCESS_DENIED_EXCEPTION", + "CONFLICT_EXCEPTION", + "INTERNAL_SERVER_EXCEPTION", + "RESOURCE_NOT_FOUND_EXCEPTION", + "SERVICE_QUOTA_EXCEEDED_EXCEPTION", + "THROTTLING_EXCEPTION", + "VALIDATION_EXCEPTION" + ] + }, + "DataSourceId":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_-]{1,36}$" + }, + "DataSourceRunActivities":{ + "type":"list", + "member":{"shape":"DataSourceRunActivity"} + }, + "DataSourceRunActivity":{ + "type":"structure", + "required":[ + "createdAt", + "dataAssetStatus", + "dataSourceRunId", + "database", + "projectId", + "technicalName", + "updatedAt" + ], + "members":{ + "createdAt":{ + "shape":"DateTime", + "documentation":"

      The timestamp of when data source run activity was created.

      " + }, + "dataAssetId":{ + "shape":"String", + "documentation":"

      The identifier of the asset included in the data source run activity.

      " + }, + "dataAssetStatus":{ + "shape":"DataAssetActivityStatus", + "documentation":"

      The status of the asset included in the data source run activity.

      " + }, + "dataSourceRunId":{ + "shape":"DataSourceRunId", + "documentation":"

      The identifier of the data source for the data source run activity.

      " + }, + "database":{ + "shape":"Name", + "documentation":"

      The database included in the data source run activity.

      " + }, + "errorMessage":{"shape":"DataSourceErrorMessage"}, + "projectId":{ + "shape":"ProjectId", + "documentation":"

      The project ID included in the data source run activity.

      " + }, + "technicalDescription":{ + "shape":"Description", + "documentation":"

      The technical description included in the data source run activity.

      " + }, + "technicalName":{ + "shape":"Name", + "documentation":"

      The technical name included in the data source run activity.

      " + }, + "updatedAt":{ + "shape":"DateTime", + "documentation":"

      The timestamp of when data source run activity was updated.

      " + } + }, + "documentation":"

      The activity details of the data source run.

      " + }, + "DataSourceRunId":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_-]{1,36}$" + }, + "DataSourceRunStatus":{ + "type":"string", + "enum":[ + "REQUESTED", + "RUNNING", + "FAILED", + "PARTIALLY_SUCCEEDED", + "SUCCESS" + ] + }, + "DataSourceRunSummaries":{ + "type":"list", + "member":{"shape":"DataSourceRunSummary"} + }, + "DataSourceRunSummary":{ + "type":"structure", + "required":[ + "createdAt", + "dataSourceId", + "id", + "projectId", + "status", + "type", + "updatedAt" + ], + "members":{ + "createdAt":{ + "shape":"DateTime", + "documentation":"

      The timestamp of when a data source run was created.

      " + }, + "dataSourceId":{ + "shape":"DataSourceId", + "documentation":"

      The identifier of the data source of the data source run.

      " + }, + "errorMessage":{"shape":"DataSourceErrorMessage"}, + "id":{ + "shape":"DataSourceRunId", + "documentation":"

      The identifier of the data source run.

      " + }, + "projectId":{ + "shape":"ProjectId", + "documentation":"

      The project ID of the data source run.

      " + }, + "runStatisticsForAssets":{"shape":"RunStatisticsForAssets"}, + "startedAt":{ + "shape":"DateTime", + "documentation":"

      The timestamp of when a data source run was started.

      " + }, + "status":{ + "shape":"DataSourceRunStatus", + "documentation":"

      The status of the data source run.

      " + }, + "stoppedAt":{ + "shape":"DateTime", + "documentation":"

      The timestamp of when a data source run was stopped.

      " + }, + "type":{ + "shape":"DataSourceRunType", + "documentation":"

      The type of the data source run.

      " + }, + "updatedAt":{ + "shape":"DateTime", + "documentation":"

      The timestamp of when a data source run was updated.

      " + } + }, + "documentation":"

      The details of a data source run.

      " + }, + "DataSourceRunType":{ + "type":"string", + "enum":[ + "PRIORITIZED", + "SCHEDULED" + ] + }, + "DataSourceStatus":{ + "type":"string", + "enum":[ + "CREATING", + "FAILED_CREATION", + "READY", + "UPDATING", + "FAILED_UPDATE", + "RUNNING", + "DELETING", + "FAILED_DELETION" + ] + }, + "DataSourceSummaries":{ + "type":"list", + "member":{"shape":"DataSourceSummary"} + }, + "DataSourceSummary":{ + "type":"structure", + "required":[ + "dataSourceId", + "domainId", + "environmentId", + "name", + "status", + "type" + ], + "members":{ + "createdAt":{ + "shape":"DateTime", + "documentation":"

      The timestamp of when the data source was created.

      " + }, + "dataSourceId":{ + "shape":"DataSourceId", + "documentation":"

      The ID of the data source.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the data source exists.

      " + }, + "enableSetting":{ + "shape":"EnableSetting", + "documentation":"

      Specifies whether the data source is enabled.

      " + }, + "environmentId":{ + "shape":"EnvironmentId", + "documentation":"

      The ID of the environment in which the data source exists.

      " + }, + "lastRunAssetCount":{ + "shape":"Integer", + "documentation":"

      The count of the assets created during the last data source run.

      " + }, + "lastRunAt":{ + "shape":"DateTime", + "documentation":"

      The timestamp of when the data source run was last performed.

      " + }, + "lastRunErrorMessage":{"shape":"DataSourceErrorMessage"}, + "lastRunStatus":{ + "shape":"DataSourceRunStatus", + "documentation":"

      The status of the last data source run.

      " + }, + "name":{ + "shape":"Name", + "documentation":"

      The name of the data source.

      " + }, + "schedule":{"shape":"ScheduleConfiguration"}, + "status":{ + "shape":"DataSourceStatus", + "documentation":"

      The status of the data source.

      " + }, + "type":{ + "shape":"String", + "documentation":"

      The type of the data source.

      " + }, + "updatedAt":{ + "shape":"DateTime", + "documentation":"

      The timestamp of when the data source was updated.

      " + } + }, + "documentation":"

      The details of the data source.

      " + }, + "DataSourceType":{ + "type":"string", + "max":256, + "min":1 + }, + "DateTime":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, + "DecisionComment":{ + "type":"string", + "max":4096, + "min":1, + "sensitive":true + }, + "DeleteAssetInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the asset is deleted.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"AssetIdentifier", + "documentation":"

      The identifier of the asset that is deleted.

      ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "DeleteAssetOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteAssetTypeInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the asset type is deleted.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"AssetTypeIdentifier", + "documentation":"

      The identifier of the asset type that is deleted.

      ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "DeleteAssetTypeOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteDataSourceInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "clientToken":{ + "shape":"String", + "documentation":"

      A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.

      ", + "idempotencyToken":true, + "location":"querystring", + "locationName":"clientToken" + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the data source is deleted.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"DataSourceId", + "documentation":"

      The identifier of the data source that is deleted.

      ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "DeleteDataSourceOutput":{ + "type":"structure", + "required":[ + "domainId", + "environmentId", + "id", + "name", + "projectId" + ], + "members":{ + "assetFormsOutput":{ + "shape":"FormOutputList", + "documentation":"

      The asset data forms associated with this data source.

      " + }, + "configuration":{ + "shape":"DataSourceConfigurationOutput", + "documentation":"

      The configuration of the data source that is deleted.

      " + }, + "createdAt":{ + "shape":"DateTime", + "documentation":"

      The timestamp of when this data source was created.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The description of the data source that is deleted.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the data source is deleted.

      " + }, + "enableSetting":{ + "shape":"EnableSetting", + "documentation":"

      The enable setting of the data source that specifies whether the data source is enabled or disabled.

      " + }, + "environmentId":{ + "shape":"EnvironmentId", + "documentation":"

      The ID of the environemnt associated with this data source.

      " + }, + "errorMessage":{ + "shape":"DataSourceErrorMessage", + "documentation":"

      Specifies the error message that is returned if the operation cannot be successfully completed.

      " + }, + "id":{ + "shape":"DataSourceId", + "documentation":"

      The ID of the data source that is deleted.

      " + }, + "lastRunAt":{ + "shape":"DateTime", + "documentation":"

      The timestamp of when the data source was last run.

      " + }, + "lastRunErrorMessage":{ + "shape":"DataSourceErrorMessage", + "documentation":"

      Specifies the error message that is returned if the operation cannot be successfully completed.

      " + }, + "lastRunStatus":{ + "shape":"DataSourceRunStatus", + "documentation":"

      The status of the last run of this data source.

      " + }, + "name":{ + "shape":"Name", + "documentation":"

      The name of the data source that is deleted.

      " + }, + "projectId":{ + "shape":"ProjectId", + "documentation":"

      The ID of the project in which this data source exists and from which it's deleted.

      " + }, + "publishOnImport":{ + "shape":"Boolean", + "documentation":"

      Specifies whether the assets that this data source creates in the inventory are to be also automatically published to the catalog.

      " + }, + "schedule":{ + "shape":"ScheduleConfiguration", + "documentation":"

      The schedule of runs for this data source.

      " + }, + "status":{ + "shape":"DataSourceStatus", + "documentation":"

      The status of this data source.

      " + }, + "type":{ + "shape":"DataSourceType", + "documentation":"

      The type of this data source.

      " + }, + "updatedAt":{ + "shape":"DateTime", + "documentation":"

      The timestamp of when this data source was updated.

      " + } + } + }, + "DeleteDomainInput":{ + "type":"structure", + "required":["identifier"], + "members":{ + "clientToken":{ + "shape":"String", + "documentation":"

      A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.

      ", + "idempotencyToken":true, + "location":"querystring", + "locationName":"clientToken" + }, + "identifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon Web Services domain that is to be deleted.

      ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "DeleteDomainOutput":{ + "type":"structure", + "required":["status"], + "members":{ + "status":{ + "shape":"DomainStatus", + "documentation":"

      The status of the domain.

      " + } + } + }, + "DeleteEnvironmentBlueprintConfigurationInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "environmentBlueprintIdentifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the blueprint configuration is deleted.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "environmentBlueprintIdentifier":{ + "shape":"EnvironmentBlueprintId", + "documentation":"

      The ID of the blueprint the configuration of which is deleted.

      ", + "location":"uri", + "locationName":"environmentBlueprintIdentifier" + } + } + }, + "DeleteEnvironmentBlueprintConfigurationOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteEnvironmentInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the environment is deleted.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"EnvironmentId", + "documentation":"

      The identifier of the environment that is to be deleted.

      ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "DeleteEnvironmentProfileInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the environment profile is deleted.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"EnvironmentProfileId", + "documentation":"

      The ID of the environment profile that is deleted.

      ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "DeleteFormTypeInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "formTypeIdentifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the metadata form type is deleted.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "formTypeIdentifier":{ + "shape":"FormTypeIdentifier", + "documentation":"

      The ID of the metadata form type that is deleted.

      ", + "location":"uri", + "locationName":"formTypeIdentifier" + } + } + }, + "DeleteFormTypeOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteGlossaryInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the business glossary is deleted.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"GlossaryId", + "documentation":"

      The ID of the business glossary that is deleted.

      ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "DeleteGlossaryOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteGlossaryTermInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the business glossary term is deleted.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"GlossaryTermId", + "documentation":"

      The ID of the business glossary term that is deleted.

      ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "DeleteGlossaryTermOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteListingInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"ListingId", + "documentation":"

      ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "DeleteListingOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteProjectInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the project is deleted.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the project that is to be deleted.

      ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "DeleteProjectMembershipInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "member", + "projectIdentifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain where project membership is deleted.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "member":{ + "shape":"Member", + "documentation":"

      The project member whose project membership is deleted.

      " + }, + "projectIdentifier":{ + "shape":"ProjectId", + "documentation":"

      The ID of the Amazon DataZone project the membership to which is deleted.

      ", + "location":"uri", + "locationName":"projectIdentifier" + } + } + }, + "DeleteProjectMembershipOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteProjectOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteSubscriptionGrantInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain where the subscription grant is deleted.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"SubscriptionGrantId", + "documentation":"

      The ID of the subscription grant that is deleted.

      ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "DeleteSubscriptionGrantOutput":{ + "type":"structure", + "required":[ + "createdAt", + "createdBy", + "domainId", + "grantedEntity", + "id", + "status", + "subscriptionTargetId", + "updatedAt" + ], + "members":{ + "assets":{ + "shape":"SubscribedAssets", + "documentation":"

      The assets for which the subsctiption grant that is deleted gave access.

      " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when the subscription grant that is deleted was created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created the subscription grant that is deleted.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the subscription grant is deleted.

      " + }, + "grantedEntity":{ + "shape":"GrantedEntity", + "documentation":"

      The entity to which the subscription is deleted.

      " + }, + "id":{ + "shape":"SubscriptionGrantId", + "documentation":"

      The ID of the subscription grant that is deleted.

      " + }, + "status":{ + "shape":"SubscriptionGrantOverallStatus", + "documentation":"

      The status of the subscription grant that is deleted.

      " + }, + "subscriptionId":{ + "shape":"SubscriptionId", + "documentation":"

      The identifier of the subsctiption whose subscription grant is to be deleted.

      " + }, + "subscriptionTargetId":{ + "shape":"SubscriptionTargetId", + "documentation":"

      The ID of the subscription target associated with the subscription grant that is deleted.

      " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

      The timestamp of when the subscription grant that is deleted was updated.

      " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

      The Amazon DataZone user who updated the subscription grant that is deleted.

      " + } + } + }, + "DeleteSubscriptionRequestInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the subscription request is deleted.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"SubscriptionRequestId", + "documentation":"

      The ID of the subscription request that is deleted.

      ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "DeleteSubscriptionTargetInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "environmentIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the subscription target is deleted.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "environmentIdentifier":{ + "shape":"EnvironmentId", + "documentation":"

      The ID of the Amazon DataZone environment in which the subscription target is deleted.

      ", + "location":"uri", + "locationName":"environmentIdentifier" + }, + "identifier":{ + "shape":"SubscriptionTargetId", + "documentation":"

      The ID of the subscription target that is deleted.

      ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "Deployment":{ + "type":"structure", + "members":{ + "deploymentId":{ + "shape":"String", + "documentation":"

      The identifier of the last deployment of the environment.

      " + }, + "deploymentStatus":{ + "shape":"DeploymentStatus", + "documentation":"

      The status of the last deployment of the environment.

      " + }, + "deploymentType":{ + "shape":"DeploymentType", + "documentation":"

      The type of the last deployment of the environment.

      " + }, + "failureReason":{ + "shape":"EnvironmentError", + "documentation":"

      The failure reason of the last deployment of the environment.

      " + }, + "isDeploymentComplete":{ + "shape":"Boolean", + "documentation":"

      Specifies whether the last deployment of the environment is complete.

      " + }, + "messages":{ + "shape":"DeploymentMessagesList", + "documentation":"

      The messages of the last deployment of the environment.

      " + } + }, + "documentation":"

      The details of the last deployment of the environment.

      " + }, + "DeploymentMessage":{"type":"string"}, + "DeploymentMessagesList":{ + "type":"list", + "member":{"shape":"DeploymentMessage"} + }, + "DeploymentProperties":{ + "type":"structure", + "members":{ + "endTimeoutMinutes":{ + "shape":"DeploymentPropertiesEndTimeoutMinutesInteger", + "documentation":"

      The end timeout of the environment blueprint deployment.

      " + }, + "startTimeoutMinutes":{ + "shape":"DeploymentPropertiesStartTimeoutMinutesInteger", + "documentation":"

      The start timeout of the environment blueprint deployment.

      " + } + }, + "documentation":"

      The deployment properties of the Amazon DataZone blueprint.

      " + }, + "DeploymentPropertiesEndTimeoutMinutesInteger":{ + "type":"integer", + "box":true, + "max":225, + "min":1 + }, + "DeploymentPropertiesStartTimeoutMinutesInteger":{ + "type":"integer", + "box":true, + "max":225, + "min":1 + }, + "DeploymentStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "SUCCESSFUL", + "FAILED", + "PENDING_DEPLOYMENT" + ] + }, + "DeploymentType":{ + "type":"string", + "enum":[ + "CREATE", + "UPDATE", + "DELETE" + ] + }, + "Description":{ + "type":"string", + "max":2048, + "min":0, + "sensitive":true + }, + "DetailedGlossaryTerm":{ + "type":"structure", + "members":{ + "name":{ + "shape":"GlossaryTermName", + "documentation":"

      The name of a glossary term attached to the inventory asset.

      " + }, + "shortDescription":{ + "shape":"ShortDescription", + "documentation":"

      The shoft description of a glossary term attached to the inventory asset.

      " + } + }, + "documentation":"

      Details of a glossary term attached to the inventory asset.

      " + }, + "DetailedGlossaryTerms":{ + "type":"list", + "member":{"shape":"DetailedGlossaryTerm"} + }, + "DomainDescription":{ + "type":"string", + "sensitive":true + }, + "DomainId":{ + "type":"string", + "pattern":"^dzd[-_][a-zA-Z0-9_-]{1,36}$" + }, + "DomainName":{ + "type":"string", + "sensitive":true + }, + "DomainStatus":{ + "type":"string", + "enum":[ + "CREATING", + "AVAILABLE", + "CREATION_FAILED", + "DELETING", + "DELETED", + "DELETION_FAILED" + ] + }, + "DomainSummaries":{ + "type":"list", + "member":{"shape":"DomainSummary"} + }, + "DomainSummary":{ + "type":"structure", + "required":[ + "arn", + "createdAt", + "id", + "managedAccountId", + "name", + "status" + ], + "members":{ + "arn":{ + "shape":"String", + "documentation":"

      The ARN of the Amazon DataZone domain.

      " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      A timestamp of when a Amazon DataZone domain was created.

      " + }, + "description":{ + "shape":"DomainDescription", + "documentation":"

      A description of an Amazon DataZone domain.

      " + }, + "id":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain.

      " + }, + "lastUpdatedAt":{ + "shape":"UpdatedAt", + "documentation":"

      A timestamp of when a Amazon DataZone domain was last updated.

      " + }, + "managedAccountId":{ + "shape":"String", + "documentation":"

      The identifier of the Amazon Web Services account that manages the domain.

      " + }, + "name":{ + "shape":"DomainName", + "documentation":"

      A name of an Amazon DataZone domain.

      " + }, + "portalUrl":{ + "shape":"String", + "documentation":"

      The data portal URL for the Amazon DataZone domain.

      " + }, + "status":{ + "shape":"DomainStatus", + "documentation":"

      The status of the Amazon DataZone domain.

      " + } + }, + "documentation":"

      A summary of a Amazon DataZone domain.

      " + }, + "EnableSetting":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "EnabledRegionList":{ + "type":"list", + "member":{"shape":"RegionName"}, + "min":0 + }, + "EntityId":{"type":"string"}, + "EntityType":{ + "type":"string", + "enum":["ASSET"] + }, + "EnvironmentActionList":{ + "type":"list", + "member":{"shape":"ConfigurableEnvironmentAction"} + }, + "EnvironmentBlueprintConfigurationItem":{ + "type":"structure", + "required":[ + "domainId", + "environmentBlueprintId" + ], + "members":{ + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when an environment blueprint was created.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which an environment blueprint exists.

      " + }, + "enabledRegions":{ + "shape":"EnabledRegionList", + "documentation":"

      The enabled Amazon Web Services Regions specified in a blueprint configuration.

      " + }, + "environmentBlueprintId":{ + "shape":"EnvironmentBlueprintId", + "documentation":"

      The identifier of the environment blueprint.

      " + }, + "manageAccessRoleArn":{ + "shape":"RoleArn", + "documentation":"

      The ARN of the manage access role specified in the environment blueprint configuration.

      " + }, + "provisioningRoleArn":{ + "shape":"RoleArn", + "documentation":"

      The ARN of the provisioning role specified in the environment blueprint configuration.

      " + }, + "regionalParameters":{ + "shape":"RegionalParameterMap", + "documentation":"

      The regional parameters of the environment blueprint.

      " + }, + "updatedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when the environment blueprint was updated.

      " + } + }, + "documentation":"

      The configuration details of an environment blueprint.

      " + }, + "EnvironmentBlueprintConfigurations":{ + "type":"list", + "member":{"shape":"EnvironmentBlueprintConfigurationItem"} + }, + "EnvironmentBlueprintId":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_-]{1,36}$" + }, + "EnvironmentBlueprintName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[\\w -]+$" + }, + "EnvironmentBlueprintSummaries":{ + "type":"list", + "member":{"shape":"EnvironmentBlueprintSummary"} + }, + "EnvironmentBlueprintSummary":{ + "type":"structure", + "required":[ + "id", + "name", + "provider", + "provisioningProperties" + ], + "members":{ + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when an environment blueprint was created.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The description of a blueprint.

      " + }, + "id":{ + "shape":"EnvironmentBlueprintId", + "documentation":"

      The identifier of the blueprint.

      " + }, + "name":{ + "shape":"EnvironmentBlueprintName", + "documentation":"

      The name of the blueprint.

      " + }, + "provider":{ + "shape":"String", + "documentation":"

      The provider of the blueprint.

      " + }, + "provisioningProperties":{ + "shape":"ProvisioningProperties", + "documentation":"

      The provisioning properties of the blueprint.

      " + }, + "updatedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when the blueprint was enabled.

      " + } + }, + "documentation":"

      The details of an environment blueprint summary.

      " + }, + "EnvironmentError":{ + "type":"structure", + "required":["message"], + "members":{ + "code":{ + "shape":"String", + "documentation":"

      The error code for the failure reason for the environment deployment.

      " + }, + "message":{ + "shape":"String", + "documentation":"

      The error message for the failure reason for the environment deployment.

      " + } + }, + "documentation":"

      The failure reasons for the environment deployment.

      " + }, + "EnvironmentId":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_-]{1,36}$" + }, + "EnvironmentName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[\\w -]+$", + "sensitive":true + }, + "EnvironmentParameter":{ + "type":"structure", + "members":{ + "name":{ + "shape":"String", + "documentation":"

      The name of an environment profile parameter.

      " + }, + "value":{ + "shape":"String", + "documentation":"

      The value of an environment profile parameter.

      " + } + }, + "documentation":"

      The parameter details of an evironment profile.

      " + }, + "EnvironmentParametersList":{ + "type":"list", + "member":{"shape":"EnvironmentParameter"} + }, + "EnvironmentProfileId":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_-]{1,36}$" + }, + "EnvironmentProfileName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[\\w -]+$", + "sensitive":true + }, + "EnvironmentProfileSummaries":{ + "type":"list", + "member":{"shape":"EnvironmentProfileSummary"} + }, + "EnvironmentProfileSummary":{ + "type":"structure", + "required":[ + "createdBy", + "domainId", + "environmentBlueprintId", + "id", + "name" + ], + "members":{ + "awsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

      The identifier of an Amazon Web Services account in which an environment profile exists.

      " + }, + "awsAccountRegion":{ + "shape":"AwsRegion", + "documentation":"

      The Amazon Web Services Region in which an environment profile exists.

      " + }, + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when an environment profile was created.

      " + }, + "createdBy":{ + "shape":"String", + "documentation":"

      The Amazon DataZone user who created the environment profile.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The description of the environment profile.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which the environment profile exists.

      " + }, + "environmentBlueprintId":{ + "shape":"EnvironmentBlueprintId", + "documentation":"

      The identifier of a blueprint with which an environment profile is created.

      " + }, + "id":{ + "shape":"EnvironmentProfileId", + "documentation":"

      The identifier of the environment profile.

      " + }, + "name":{ + "shape":"EnvironmentProfileName", + "documentation":"

      The name of the environment profile.

      " + }, + "projectId":{ + "shape":"ProjectId", + "documentation":"

      The identifier of a project in which an environment profile exists.

      " + }, + "updatedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when the environment profile was updated.

      " + } + }, + "documentation":"

      The details of an environment profile.

      " + }, + "EnvironmentStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "CREATING", + "UPDATING", + "DELETING", + "CREATE_FAILED", + "UPDATE_FAILED", + "DELETE_FAILED", + "VALIDATION_FAILED", + "SUSPENDED", + "DISABLED", + "EXPIRED", + "DELETED", + "INACCESSIBLE" + ] + }, + "EnvironmentSummaries":{ + "type":"list", + "member":{"shape":"EnvironmentSummary"} + }, + "EnvironmentSummary":{ + "type":"structure", + "required":[ + "createdBy", + "domainId", + "environmentProfileId", + "name", + "projectId", + "provider" + ], + "members":{ + "awsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

      The identifier of the Amazon Web Services account in which an environment exists.

      " + }, + "awsAccountRegion":{ + "shape":"AwsRegion", + "documentation":"

      The Amazon Web Services Region in which an environment exists.

      " + }, + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when the environment was created.

      " + }, + "createdBy":{ + "shape":"String", + "documentation":"

      The Amazon DataZone user who created the environment.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The description of the environment.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which the environment exists.

      " + }, + "environmentProfileId":{ + "shape":"EnvironmentProfileId", + "documentation":"

      The identifier of the environment profile with which the environment was created.

      " + }, + "id":{ + "shape":"EnvironmentId", + "documentation":"

      The identifier of the environment.

      " + }, + "name":{ + "shape":"EnvironmentName", + "documentation":"

      The name of the environment.

      " + }, + "projectId":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the project in which the environment exists.

      " + }, + "provider":{ + "shape":"String", + "documentation":"

      The provider of the environment.

      " + }, + "status":{ + "shape":"EnvironmentStatus", + "documentation":"

      The status of the environment.

      " + }, + "updatedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when the environment was updated.

      " + } + }, + "documentation":"

      The details of an environment.

      " + }, + "ErrorMessage":{"type":"string"}, + "ExternalIdentifier":{ + "type":"string", + "max":256, + "min":1, + "sensitive":true + }, + "FailureCause":{ + "type":"structure", + "members":{ + "message":{ + "shape":"String", + "documentation":"

      The description of the error message.

      " + } + }, + "documentation":"

      Specifies the error message that is returned if the operation cannot be successfully completed.

      " + }, + "Filter":{ + "type":"structure", + "required":[ + "attribute", + "value" + ], + "members":{ + "attribute":{ + "shape":"Attribute", + "documentation":"

      A search filter attribute in Amazon DataZone.

      " + }, + "value":{ + "shape":"FilterValueString", + "documentation":"

      A search filter value in Amazon DataZone.

      " + } + }, + "documentation":"

      A search filter in Amazon DataZone.

      " + }, + "FilterClause":{ + "type":"structure", + "members":{ + "and":{ + "shape":"FilterList", + "documentation":"

      The 'and' search filter clause in Amazon DataZone.

      " + }, + "filter":{ + "shape":"Filter", + "documentation":"

      A search filter in Amazon DataZone.

      " + }, + "or":{ + "shape":"FilterList", + "documentation":"

      The 'or' search filter clause in Amazon DataZone.

      " + } + }, + "documentation":"

      A search filter clause in Amazon DataZone.

      ", + "union":true + }, + "FilterExpression":{ + "type":"structure", + "required":[ + "expression", + "type" + ], + "members":{ + "expression":{ + "shape":"FilterExpressionExpressionString", + "documentation":"

      The search filter expression.

      " + }, + "type":{ + "shape":"FilterExpressionType", + "documentation":"

      The search filter explresison type.

      " + } + }, + "documentation":"

      A filter expression in Amazon DataZone.

      " + }, + "FilterExpressionExpressionString":{ + "type":"string", + "max":2048, + "min":1 + }, + "FilterExpressionType":{ + "type":"string", + "enum":[ + "INCLUDE", + "EXCLUDE" + ] + }, + "FilterExpressions":{ + "type":"list", + "member":{"shape":"FilterExpression"} + }, + "FilterList":{ + "type":"list", + "member":{"shape":"FilterClause"}, + "max":100, + "min":1 + }, + "FilterValueString":{ + "type":"string", + "max":128, + "min":1 + }, + "FirstName":{ + "type":"string", + "sensitive":true + }, + "Float":{ + "type":"float", + "box":true + }, + "FormEntryInput":{ + "type":"structure", + "required":[ + "typeIdentifier", + "typeRevision" + ], + "members":{ + "required":{ + "shape":"Boolean", + "documentation":"

      Specifies whether a form entry is required.

      " + }, + "typeIdentifier":{ + "shape":"FormTypeIdentifier", + "documentation":"

      The type ID of the form entry.

      " + }, + "typeRevision":{ + "shape":"Revision", + "documentation":"

      The type revision of the form entry.

      " + } + }, + "documentation":"

      The details of the form entry.

      " + }, + "FormEntryOutput":{ + "type":"structure", + "required":[ + "typeName", + "typeRevision" + ], + "members":{ + "required":{ + "shape":"Boolean", + "documentation":"

      Specifies whether a form entry is required.

      " + }, + "typeName":{ + "shape":"FormTypeName", + "documentation":"

      The name of the type of the form entry.

      " + }, + "typeRevision":{ + "shape":"Revision", + "documentation":"

      The type revision of the form entry.

      " + } + }, + "documentation":"

      The details of the form entry.

      " + }, + "FormInput":{ + "type":"structure", + "required":["formName"], + "members":{ + "content":{ + "shape":"FormInputContentString", + "documentation":"

      The content of the metadata form.

      " + }, + "formName":{ + "shape":"FormName", + "documentation":"

      The name of the metadata form.

      " + }, + "typeIdentifier":{ + "shape":"FormTypeIdentifier", + "documentation":"

      The ID of the metadata form type.

      " + }, + "typeRevision":{ + "shape":"Revision", + "documentation":"

      The revision of the metadata form type.

      " + } + }, + "documentation":"

      The details of a metadata form.

      ", + "sensitive":true + }, + "FormInputContentString":{ + "type":"string", + "max":75000, + "min":0 + }, + "FormInputList":{ + "type":"list", + "member":{"shape":"FormInput"}, + "max":10, + "min":0, + "sensitive":true + }, + "FormName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^(?![0-9_])\\w+$|^_\\w*[a-zA-Z0-9]\\w*$" + }, + "FormOutput":{ + "type":"structure", + "required":["formName"], + "members":{ + "content":{ + "shape":"String", + "documentation":"

      The content of the metadata form.

      " + }, + "formName":{ + "shape":"FormName", + "documentation":"

      The name of the metadata form.

      " + }, + "typeName":{ + "shape":"FormTypeName", + "documentation":"

      The name of the metadata form type.

      " + }, + "typeRevision":{ + "shape":"Revision", + "documentation":"

      The revision of the metadata form type.

      " + } + }, + "documentation":"

      The details of a metadata form.

      " + }, + "FormOutputList":{ + "type":"list", + "member":{"shape":"FormOutput"}, + "max":10, + "min":0 + }, + "FormTypeData":{ + "type":"structure", + "required":[ + "domainId", + "name", + "revision" + ], + "members":{ + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when the metadata form type was created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created teh metadata form type.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The description of the metadata form type.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which the form type exists.

      " + }, + "imports":{ + "shape":"ImportList", + "documentation":"

      The imports specified in the form type.

      " + }, + "model":{ + "shape":"Model", + "documentation":"

      The model of the form type.

      " + }, + "name":{ + "shape":"FormTypeName", + "documentation":"

      The name of the form type.

      " + }, + "originDomainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which the form type was originally created.

      " + }, + "originProjectId":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the project in which the form type was originally created.

      " + }, + "owningProjectId":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the project that owns the form type.

      " + }, + "revision":{ + "shape":"Revision", + "documentation":"

      The revision of the form type.

      " + }, + "status":{ + "shape":"FormTypeStatus", + "documentation":"

      The status of the form type.

      " + } + }, + "documentation":"

      The details of the metadata form type.

      " + }, + "FormTypeIdentifier":{ + "type":"string", + "max":385, + "min":1, + "pattern":"^(?!\\.)[\\w\\.]*\\w$" + }, + "FormTypeName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^(amazon.datazone.)?(?![0-9_])\\w+$|^_\\w*[a-zA-Z0-9]\\w*$", + "sensitive":true + }, + "FormTypeStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "Forms":{"type":"string"}, + "FormsInputMap":{ + "type":"map", + "key":{"shape":"FormName"}, + "value":{"shape":"FormEntryInput"}, + "max":10, + "min":0 + }, + "FormsOutputMap":{ + "type":"map", + "key":{"shape":"FormName"}, + "value":{"shape":"FormEntryOutput"}, + "max":10, + "min":0 + }, + "GetAssetInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain to which the asset belongs.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"AssetIdentifier", + "documentation":"

      The ID of the Amazon DataZone asset.

      ", + "location":"uri", + "locationName":"identifier" + }, + "revision":{ + "shape":"Revision", + "documentation":"

      The revision of the Amazon DataZone asset.

      ", + "location":"querystring", + "locationName":"revision" + } + } + }, + "GetAssetOutput":{ + "type":"structure", + "required":[ + "domainId", + "formsOutput", + "id", + "name", + "owningProjectId", + "revision", + "typeIdentifier", + "typeRevision" + ], + "members":{ + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when the asset was created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created the asset.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The description of the Amazon DataZone asset.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain to which the asset belongs.

      " + }, + "externalIdentifier":{ + "shape":"ExternalIdentifier", + "documentation":"

      " + }, + "firstRevisionCreatedAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when the first revision of the asset was created.

      " + }, + "firstRevisionCreatedBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created the first revision of the asset.

      " + }, + "formsOutput":{ + "shape":"FormOutputList", + "documentation":"

      The metadata forms attached to the asset.

      " + }, + "glossaryTerms":{ + "shape":"GlossaryTerms", + "documentation":"

      The business glossary terms attached to the asset.

      " + }, + "id":{ + "shape":"AssetId", + "documentation":"

      The ID of the asset.

      " + }, + "listing":{ + "shape":"AssetListingDetails", + "documentation":"

      " + }, + "name":{ + "shape":"AssetName", + "documentation":"

      The name of the asset.

      " + }, + "owningProjectId":{ + "shape":"ProjectId", + "documentation":"

      The ID of the project that owns the asset.

      " + }, + "readOnlyFormsOutput":{ + "shape":"FormOutputList", + "documentation":"

      The read-only metadata forms attached to the asset.

      " + }, + "revision":{ + "shape":"Revision", + "documentation":"

      The revision of the asset.

      " + }, + "typeIdentifier":{ + "shape":"AssetTypeIdentifier", + "documentation":"

      The ID of the asset type.

      " + }, + "typeRevision":{ + "shape":"Revision", + "documentation":"

      The revision of the asset type.

      " + } + } + }, + "GetAssetTypeInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the asset type exists.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"AssetTypeIdentifier", + "documentation":"

      The ID of the asset type.

      ", + "location":"uri", + "locationName":"identifier" + }, + "revision":{ + "shape":"Revision", + "documentation":"

      The revision of the asset type.

      ", + "location":"querystring", + "locationName":"revision" + } + } + }, + "GetAssetTypeOutput":{ + "type":"structure", + "required":[ + "domainId", + "formsOutput", + "name", + "owningProjectId", + "revision" + ], + "members":{ + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when the asset type was created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created the asset type.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The description of the asset type.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the asset type exists.

      " + }, + "formsOutput":{ + "shape":"FormsOutputMap", + "documentation":"

      The metadata forms attached to the asset type.

      " + }, + "name":{ + "shape":"TypeName", + "documentation":"

      The name of the asset type.

      " + }, + "originDomainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the asset type was originally created.

      " + }, + "originProjectId":{ + "shape":"ProjectId", + "documentation":"

      The ID of the Amazon DataZone project in which the asset type was originally created.

      " + }, + "owningProjectId":{ + "shape":"ProjectId", + "documentation":"

      The ID of the Amazon DataZone project that owns the asset type.

      " + }, + "revision":{ + "shape":"Revision", + "documentation":"

      The revision of the asset type.

      " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

      The timestamp of when the asset type was updated.

      " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

      The Amazon DataZone user that updated the asset type.

      " + } + } + }, + "GetDataSourceInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the data source exists.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"DataSourceId", + "documentation":"

      The ID of the Amazon DataZone data source.

      ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "GetDataSourceOutput":{ + "type":"structure", + "required":[ + "domainId", + "environmentId", + "id", + "name", + "projectId" + ], + "members":{ + "assetFormsOutput":{ + "shape":"FormOutputList", + "documentation":"

      The metadata forms attached to the assets created by this data source.

      " + }, + "configuration":{ + "shape":"DataSourceConfigurationOutput", + "documentation":"

      The configuration of the data source.

      " + }, + "createdAt":{ + "shape":"DateTime", + "documentation":"

      The timestamp of when the data source was created.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The description of the data source.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the data source exists.

      " + }, + "enableSetting":{ + "shape":"EnableSetting", + "documentation":"

      Specifies whether this data source is enabled or not.

      " + }, + "environmentId":{ + "shape":"EnvironmentId", + "documentation":"

      The ID of the environment where this data source creates and publishes assets,

      " + }, + "errorMessage":{ + "shape":"DataSourceErrorMessage", + "documentation":"

      Specifies the error message that is returned if the operation cannot be successfully completed.

      " + }, + "id":{ + "shape":"DataSourceId", + "documentation":"

      The ID of the data source.

      " + }, + "lastRunAssetCount":{ + "shape":"Integer", + "documentation":"

      The number of assets created by the data source during its last run.

      " + }, + "lastRunAt":{ + "shape":"DateTime", + "documentation":"

      The timestamp of the last run of the data source.

      " + }, + "lastRunErrorMessage":{ + "shape":"DataSourceErrorMessage", + "documentation":"

      Specifies the error message that is returned if the operation cannot be successfully completed.

      " + }, + "lastRunStatus":{ + "shape":"DataSourceRunStatus", + "documentation":"

      The status of the last run of the data source.

      " + }, + "name":{ + "shape":"Name", + "documentation":"

      The name of the data source.

      " + }, + "projectId":{ + "shape":"ProjectId", + "documentation":"

      The ID of the project where the data source creates and publishes assets.

      " + }, + "publishOnImport":{ + "shape":"Boolean", + "documentation":"

      Specifies whether the assets that this data source creates in the inventory are to be also automatically published to the catalog.

      " + }, + "recommendation":{ + "shape":"RecommendationConfiguration", + "documentation":"

      " + }, + "schedule":{ + "shape":"ScheduleConfiguration", + "documentation":"

      The schedule of the data source runs.

      " + }, + "status":{ + "shape":"DataSourceStatus", + "documentation":"

      The status of the data source.

      " + }, + "type":{ + "shape":"DataSourceType", + "documentation":"

      The type of the data source.

      " + }, + "updatedAt":{ + "shape":"DateTime", + "documentation":"

      The timestamp of when the data source was updated.

      " + } + } + }, + "GetDataSourceRunInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the domain in which this data source run was performed.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"DataSourceRunId", + "documentation":"

      The ID of the data source run.

      ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "GetDataSourceRunOutput":{ + "type":"structure", + "required":[ + "createdAt", + "dataSourceId", + "domainId", + "id", + "projectId", + "status", + "type", + "updatedAt" + ], + "members":{ + "createdAt":{ + "shape":"DateTime", + "documentation":"

      The timestamp of when the data source run was created.

      " + }, + "dataSourceConfigurationSnapshot":{ + "shape":"String", + "documentation":"

      The configuration snapshot of the data source run.

      " + }, + "dataSourceId":{ + "shape":"DataSourceId", + "documentation":"

      The ID of the data source for this data source run.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the domain in which this data source run was performed.

      " + }, + "errorMessage":{ + "shape":"DataSourceErrorMessage", + "documentation":"

      Specifies the error message that is returned if the operation cannot be successfully completed.

      " + }, + "id":{ + "shape":"DataSourceRunId", + "documentation":"

      The ID of the data source run.

      " + }, + "projectId":{ + "shape":"ProjectId", + "documentation":"

      The ID of the project in which this data source run occured.

      " + }, + "runStatisticsForAssets":{ + "shape":"RunStatisticsForAssets", + "documentation":"

      The asset statistics from this data source run.

      " + }, + "startedAt":{ + "shape":"DateTime", + "documentation":"

      The timestamp of when this data source run started.

      " + }, + "status":{ + "shape":"DataSourceRunStatus", + "documentation":"

      The status of this data source run.

      " + }, + "stoppedAt":{ + "shape":"DateTime", + "documentation":"

      The timestamp of when this data source run stopped.

      " + }, + "type":{ + "shape":"DataSourceRunType", + "documentation":"

      The type of this data source run.

      " + }, + "updatedAt":{ + "shape":"DateTime", + "documentation":"

      The timestamp of when this data source run was updated.

      " + } + } + }, + "GetDomainInput":{ + "type":"structure", + "required":["identifier"], + "members":{ + "identifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the specified Amazon DataZone domain.

      ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "GetDomainOutput":{ + "type":"structure", + "required":[ + "domainExecutionRole", + "id", + "status" + ], + "members":{ + "arn":{ + "shape":"String", + "documentation":"

      The ARN of the specified Amazon DataZone domain.

      " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when the Amazon DataZone domain was created.

      " + }, + "description":{ + "shape":"String", + "documentation":"

      The description of the Amazon DataZone domain.

      " + }, + "domainExecutionRole":{ + "shape":"RoleArn", + "documentation":"

      The domain execution role with which the Amazon DataZone domain is created.

      " + }, + "id":{ + "shape":"DomainId", + "documentation":"

      The identifier of the specified Amazon DataZone domain.

      " + }, + "kmsKeyIdentifier":{ + "shape":"KmsKeyArn", + "documentation":"

      The identifier of the Amazon Web Services Key Management Service (KMS) key that is used to encrypt the Amazon DataZone domain, metadata, and reporting data.

      " + }, + "lastUpdatedAt":{ + "shape":"UpdatedAt", + "documentation":"

      The timestamp of when the Amazon DataZone domain was last updated.

      " + }, + "name":{ + "shape":"String", + "documentation":"

      The name of the Amazon DataZone domain.

      " + }, + "portalUrl":{ + "shape":"String", + "documentation":"

      The URL of the data portal for this Amazon DataZone domain.

      " + }, + "singleSignOn":{ + "shape":"SingleSignOn", + "documentation":"

      The single sing-on option of the specified Amazon DataZone domain.

      " + }, + "status":{ + "shape":"DomainStatus", + "documentation":"

      The status of the specified Amazon DataZone domain.

      " + }, + "tags":{ + "shape":"Tags", + "documentation":"

      The tags specified for the Amazon DataZone domain.

      " + } + } + }, + "GetEnvironmentBlueprintConfigurationInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "environmentBlueprintIdentifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain where this blueprint exists.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "environmentBlueprintIdentifier":{ + "shape":"EnvironmentBlueprintId", + "documentation":"

      He ID of the blueprint.

      ", + "location":"uri", + "locationName":"environmentBlueprintIdentifier" + } + } + }, + "GetEnvironmentBlueprintConfigurationOutput":{ + "type":"structure", + "required":[ + "domainId", + "environmentBlueprintId" + ], + "members":{ + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when this blueprint was created.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain where this blueprint exists.

      " + }, + "enabledRegions":{ + "shape":"EnabledRegionList", + "documentation":"

      The Amazon Web Services regions in which this blueprint is enabled.

      " + }, + "environmentBlueprintId":{ + "shape":"EnvironmentBlueprintId", + "documentation":"

      The ID of the blueprint.

      " + }, + "manageAccessRoleArn":{ + "shape":"RoleArn", + "documentation":"

      The ARN of the manage access role with which this blueprint is created.

      " + }, + "provisioningRoleArn":{ + "shape":"RoleArn", + "documentation":"

      The ARN of the provisioning role with which this blueprint is created.

      " + }, + "regionalParameters":{ + "shape":"RegionalParameterMap", + "documentation":"

      The regional parameters of the blueprint.

      " + }, + "updatedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when this blueprint was upated.

      " + } + } + }, + "GetEnvironmentBlueprintInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the domain in which this blueprint exists.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"EnvironmentBlueprintId", + "documentation":"

      The ID of this Amazon DataZone blueprint.

      ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "GetEnvironmentBlueprintOutput":{ + "type":"structure", + "required":[ + "id", + "name", + "provider", + "provisioningProperties" + ], + "members":{ + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      A timestamp of when this blueprint was created.

      " + }, + "deploymentProperties":{ + "shape":"DeploymentProperties", + "documentation":"

      The deployment properties of this Amazon DataZone blueprint.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The description of this Amazon DataZone blueprint.

      " + }, + "glossaryTerms":{ + "shape":"GlossaryTerms", + "documentation":"

      The glossary terms attached to this Amazon DataZone blueprint.

      " + }, + "id":{ + "shape":"EnvironmentBlueprintId", + "documentation":"

      The ID of this Amazon DataZone blueprint.

      " + }, + "name":{ + "shape":"EnvironmentBlueprintName", + "documentation":"

      The name of this Amazon DataZone blueprint.

      " + }, + "provider":{ + "shape":"String", + "documentation":"

      The provider of this Amazon DataZone blueprint.

      " + }, + "provisioningProperties":{ + "shape":"ProvisioningProperties", + "documentation":"

      The provisioning properties of this Amazon DataZone blueprint.

      " + }, + "updatedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when this blueprint was updated.

      " + }, + "userParameters":{ + "shape":"CustomParameterList", + "documentation":"

      The user parameters of this blueprint.

      " + } + } + }, + "GetEnvironmentInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain where the environment exists.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"EnvironmentId", + "documentation":"

      The ID of the Amazon DataZone environment.

      ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "GetEnvironmentOutput":{ + "type":"structure", + "required":[ + "createdBy", + "domainId", + "environmentProfileId", + "name", + "projectId", + "provider" + ], + "members":{ + "awsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

      The ID of the Amazon Web Services account where the environment exists.

      " + }, + "awsAccountRegion":{ + "shape":"AwsRegion", + "documentation":"

      The Amazon Web Services region where the environment exists.

      " + }, + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when the environment was created.

      " + }, + "createdBy":{ + "shape":"String", + "documentation":"

      The Amazon DataZone user who created the environment.

      " + }, + "deploymentProperties":{ + "shape":"DeploymentProperties", + "documentation":"

      The deployment properties of the environment.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The description of the environment.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain where the environment exists.

      " + }, + "environmentActions":{ + "shape":"EnvironmentActionList", + "documentation":"

      The actions of the environment.

      " + }, + "environmentBlueprintId":{ + "shape":"EnvironmentBlueprintId", + "documentation":"

      The blueprint with which the environment is created.

      " + }, + "environmentProfileId":{ + "shape":"EnvironmentProfileId", + "documentation":"

      The ID of the environment profile with which the environment is created.

      " + }, + "glossaryTerms":{ + "shape":"GlossaryTerms", + "documentation":"

      The business glossary terms that can be used in this environment.

      " + }, + "id":{ + "shape":"EnvironmentId", + "documentation":"

      The ID of the environment.

      " + }, + "lastDeployment":{ + "shape":"Deployment", + "documentation":"

      The details of the last deployment of the environment.

      " + }, + "name":{ + "shape":"EnvironmentName", + "documentation":"

      The name of the environment.

      " + }, + "projectId":{ + "shape":"ProjectId", + "documentation":"

      The ID of the Amazon DataZone project in which this environment is created.

      " + }, + "provider":{ + "shape":"String", + "documentation":"

      The provider of this Amazon DataZone environment.

      " + }, + "provisionedResources":{ + "shape":"ResourceList", + "documentation":"

      The provisioned resources of this Amazon DataZone environment.

      " + }, + "provisioningProperties":{ + "shape":"ProvisioningProperties", + "documentation":"

      The provisioning properties of this Amazon DataZone environment.

      " + }, + "status":{ + "shape":"EnvironmentStatus", + "documentation":"

      The status of this Amazon DataZone environment.

      " + }, + "updatedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when this environment was updated.

      " + }, + "userParameters":{ + "shape":"CustomParameterList", + "documentation":"

      The user parameters of this Amazon DataZone environment.

      " + } + } + }, + "GetEnvironmentProfileInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which this environment profile exists.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"EnvironmentProfileId", + "documentation":"

      The ID of the environment profile.

      ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "GetEnvironmentProfileOutput":{ + "type":"structure", + "required":[ + "createdBy", + "domainId", + "environmentBlueprintId", + "id", + "name" + ], + "members":{ + "awsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

      The ID of the Amazon Web Services account where this environment profile exists.

      " + }, + "awsAccountRegion":{ + "shape":"AwsRegion", + "documentation":"

      The Amazon Web Services region where this environment profile exists.

      " + }, + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when this environment profile was created.

      " + }, + "createdBy":{ + "shape":"String", + "documentation":"

      The Amazon DataZone user who created this environment profile.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The description of the environment profile.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which this environment profile exists.

      " + }, + "environmentBlueprintId":{ + "shape":"EnvironmentBlueprintId", + "documentation":"

      The ID of the blueprint with which this environment profile is created.

      " + }, + "id":{ + "shape":"EnvironmentProfileId", + "documentation":"

      The ID of the environment profile.

      " + }, + "name":{ + "shape":"EnvironmentProfileName", + "documentation":"

      The name of the environment profile.

      " + }, + "projectId":{ + "shape":"ProjectId", + "documentation":"

      The ID of the Amazon DataZone project in which this environment profile is created.

      " + }, + "updatedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when this environment profile was upated.

      " + }, + "userParameters":{ + "shape":"CustomParameterList", + "documentation":"

      The user parameters of the environment profile.

      " + } + } + }, + "GetFormTypeInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "formTypeIdentifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which this metadata form type exists.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "formTypeIdentifier":{ + "shape":"FormTypeIdentifier", + "documentation":"

      The ID of the metadata form type.

      ", + "location":"uri", + "locationName":"formTypeIdentifier" + }, + "revision":{ + "shape":"Revision", + "documentation":"

      The revision of this metadata form type.

      ", + "location":"querystring", + "locationName":"revision" + } + } + }, + "GetFormTypeOutput":{ + "type":"structure", + "required":[ + "domainId", + "model", + "name", + "revision" + ], + "members":{ + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when this metadata form type was created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created this metadata form type.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The description of the metadata form type.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which this metadata form type exists.

      " + }, + "imports":{ + "shape":"ImportList", + "documentation":"

      The imports of the metadata form type.

      " + }, + "model":{ + "shape":"Model", + "documentation":"

      The model of the metadata form type.

      " + }, + "name":{ + "shape":"FormTypeName", + "documentation":"

      The name of the metadata form type.

      " + }, + "originDomainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the metadata form type was originally created.

      " + }, + "originProjectId":{ + "shape":"ProjectId", + "documentation":"

      The ID of the project in which this metadata form type was originally created.

      " + }, + "owningProjectId":{ + "shape":"ProjectId", + "documentation":"

      The ID of the project that owns this metadata form type.

      " + }, + "revision":{ + "shape":"Revision", + "documentation":"

      The revision of the metadata form type.

      " + }, + "status":{ + "shape":"FormTypeStatus", + "documentation":"

      The status of the metadata form type.

      " + } + } + }, + "GetGlossaryInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which this business glossary exists.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"GlossaryId", + "documentation":"

      The ID of the business glossary.

      ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "GetGlossaryOutput":{ + "type":"structure", + "required":[ + "domainId", + "id", + "name", + "owningProjectId", + "status" + ], + "members":{ + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when this business glossary was created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created this business glossary.

      " + }, + "description":{ + "shape":"GlossaryDescription", + "documentation":"

      The description of the business glossary.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which this business glossary exists.

      " + }, + "id":{ + "shape":"GlossaryId", + "documentation":"

      The ID of the business glossary.

      " + }, + "name":{ + "shape":"GlossaryName", + "documentation":"

      The name of the business glossary.

      " + }, + "owningProjectId":{ + "shape":"ProjectId", + "documentation":"

      The ID of the project that owns this business glossary.

      " + }, + "status":{ + "shape":"GlossaryStatus", + "documentation":"

      The status of the business glossary.

      " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

      The timestamp of when the business glossary was updated.

      " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

      The Amazon DataZone user who updated the business glossary.

      " + } + } + }, + "GetGlossaryTermInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which this business glossary term exists.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"GlossaryTermId", + "documentation":"

      The ID of the business glossary term.

      ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "GetGlossaryTermOutput":{ + "type":"structure", + "required":[ + "domainId", + "glossaryId", + "id", + "name", + "status" + ], + "members":{ + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when the business glossary term was created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created the business glossary.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which this business glossary term exists.

      " + }, + "glossaryId":{ + "shape":"GlossaryId", + "documentation":"

      The ID of the business glossary to which this term belongs.

      " + }, + "id":{ + "shape":"GlossaryTermId", + "documentation":"

      The ID of the business glossary term.

      " + }, + "longDescription":{ + "shape":"LongDescription", + "documentation":"

      The long description of the business glossary term.

      " + }, + "name":{ + "shape":"GlossaryTermName", + "documentation":"

      The name of the business glossary term.

      " + }, + "shortDescription":{ + "shape":"ShortDescription", + "documentation":"

      The short decription of the business glossary term.

      " + }, + "status":{ + "shape":"GlossaryTermStatus", + "documentation":"

      The status of the business glossary term.

      " + }, + "termRelations":{ + "shape":"TermRelations", + "documentation":"

      The relations of the business glossary term.

      " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

      The timestamp of when the business glossary term was updated.

      " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

      The Amazon DataZone user who updated the business glossary term.

      " + } + } + }, + "GetGroupProfileInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "groupIdentifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which the group profile exists.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "groupIdentifier":{ + "shape":"GroupIdentifier", + "documentation":"

      The identifier of the group profile.

      ", + "location":"uri", + "locationName":"groupIdentifier" + } + } + }, + "GetGroupProfileOutput":{ + "type":"structure", + "members":{ + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which the group profile exists.

      " + }, + "groupName":{ + "shape":"GroupProfileName", + "documentation":"

      The name of the group for which the specified group profile exists.

      " + }, + "id":{ + "shape":"GroupProfileId", + "documentation":"

      The identifier of the group profile.

      " + }, + "status":{ + "shape":"GroupProfileStatus", + "documentation":"

      The identifier of the group profile.

      " + } + } + }, + "GetIamPortalLoginUrlInput":{ + "type":"structure", + "required":["domainIdentifier"], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      the ID of the Amazon DataZone domain the data portal of which you want to get.

      ", + "location":"uri", + "locationName":"domainIdentifier" + } + } + }, + "GetIamPortalLoginUrlOutput":{ + "type":"structure", + "required":["userProfileId"], + "members":{ + "authCodeUrl":{ + "shape":"String", + "documentation":"

      The data portal URL of the specified Amazon DataZone domain.

      " + }, + "userProfileId":{ + "shape":"String", + "documentation":"

      The ID of the user profile.

      " + } + } + }, + "GetListingInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"ListingId", + "documentation":"

      ", + "location":"uri", + "locationName":"identifier" + }, + "listingRevision":{ + "shape":"Revision", + "documentation":"

      ", + "location":"querystring", + "locationName":"listingRevision" + } + } + }, + "GetListingOutput":{ + "type":"structure", + "required":[ + "domainId", + "id", + "listingRevision" + ], + "members":{ + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created the listing.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      " + }, + "id":{ + "shape":"ListingId", + "documentation":"

      " + }, + "item":{ + "shape":"ListingItem", + "documentation":"

      " + }, + "listingRevision":{ + "shape":"Revision", + "documentation":"

      " + }, + "name":{ + "shape":"ListingName", + "documentation":"

      " + }, + "status":{ + "shape":"ListingStatus", + "documentation":"

      " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

      The timestamp of when the listing was updated.

      " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

      The Amazon DataZone user who updated the listing.

      " + } + } + }, + "GetProjectInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the project exists.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"ProjectId", + "documentation":"

      The ID of the project.

      ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "GetProjectOutput":{ + "type":"structure", + "required":[ + "createdBy", + "domainId", + "id", + "name" + ], + "members":{ + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when the project was created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created the project.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The description of the project.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the project exists.

      " + }, + "glossaryTerms":{ + "shape":"GlossaryTerms", + "documentation":"

      The business glossary terms that can be used in the project.

      " + }, + "id":{ + "shape":"ProjectId", + "documentation":"

      >The ID of the project.

      " + }, + "lastUpdatedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when the project was last updated.

      " + }, + "name":{ + "shape":"ProjectName", + "documentation":"

      The name of the project.

      " + } + } + }, + "GetSubscriptionGrantInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the subscription grant exists.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"SubscriptionGrantId", + "documentation":"

      The ID of the subscription grant.

      ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "GetSubscriptionGrantOutput":{ + "type":"structure", + "required":[ + "createdAt", + "createdBy", + "domainId", + "grantedEntity", + "id", + "status", + "subscriptionTargetId", + "updatedAt" + ], + "members":{ + "assets":{ + "shape":"SubscribedAssets", + "documentation":"

      The assets for which the subscription grant is created.

      " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when the subscription grant is created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created the subscription grant.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the subscription grant exists.

      " + }, + "grantedEntity":{ + "shape":"GrantedEntity", + "documentation":"

      The entity to which the subscription is granted.

      " + }, + "id":{ + "shape":"SubscriptionGrantId", + "documentation":"

      The ID of the subscription grant.

      " + }, + "status":{ + "shape":"SubscriptionGrantOverallStatus", + "documentation":"

      The status of the subscription grant.

      " + }, + "subscriptionId":{ + "shape":"SubscriptionId", + "documentation":"

      The identifier of the subscription.

      " + }, + "subscriptionTargetId":{ + "shape":"SubscriptionTargetId", + "documentation":"

      The subscription target ID associated with the subscription grant.

      " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

      The timestamp of when the subscription grant was upated.

      " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

      The Amazon DataZone user who updated the subscription grant.

      " + } + } + }, + "GetSubscriptionInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the subscription exists.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"SubscriptionId", + "documentation":"

      The ID of the subscription.

      ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "GetSubscriptionOutput":{ + "type":"structure", + "required":[ + "createdAt", + "createdBy", + "domainId", + "id", + "status", + "subscribedListing", + "subscribedPrincipal", + "updatedAt" + ], + "members":{ + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when the subscription was created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created the subscription.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the subscription exists.

      " + }, + "id":{ + "shape":"SubscriptionId", + "documentation":"

      The ID of the subscription.

      " + }, + "retainPermissions":{ + "shape":"Boolean", + "documentation":"

      The retain permissions of the subscription.

      " + }, + "status":{ + "shape":"SubscriptionStatus", + "documentation":"

      The status of the subscription.

      " + }, + "subscribedListing":{ + "shape":"SubscribedListing", + "documentation":"

      " + }, + "subscribedPrincipal":{ + "shape":"SubscribedPrincipal", + "documentation":"

      The principal that owns the subscription.

      " + }, + "subscriptionRequestId":{ + "shape":"SubscriptionRequestId", + "documentation":"

      The ID of the subscription request.

      " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

      The timestamp of when the subscription was updated.

      " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

      The Amazon DataZone user who updated the subscription.

      " + } + } + }, + "GetSubscriptionRequestDetailsInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which to get the subscription request details.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"SubscriptionRequestId", + "documentation":"

      The identifier of the subscription request the details of which to get.

      ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "GetSubscriptionRequestDetailsOutput":{ + "type":"structure", + "required":[ + "createdAt", + "createdBy", + "domainId", + "id", + "requestReason", + "status", + "subscribedListings", + "subscribedPrincipals", + "updatedAt" + ], + "members":{ + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when the specified subscription request was created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created the subscription request.

      " + }, + "decisionComment":{ + "shape":"DecisionComment", + "documentation":"

      The decision comment of the subscription request.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The Amazon DataZone domain of the subscription request.

      " + }, + "id":{ + "shape":"SubscriptionRequestId", + "documentation":"

      The identifier of the subscription request.

      " + }, + "requestReason":{ + "shape":"RequestReason", + "documentation":"

      The reason for the subscription request.

      " + }, + "reviewerId":{ + "shape":"String", + "documentation":"

      The identifier of the Amazon DataZone user who reviewed the subscription request.

      " + }, + "status":{ + "shape":"SubscriptionRequestStatus", + "documentation":"

      The status of the subscription request.

      " + }, + "subscribedListings":{ + "shape":"GetSubscriptionRequestDetailsOutputSubscribedListingsList", + "documentation":"

      The subscribed listings in the subscription request.

      " + }, + "subscribedPrincipals":{ + "shape":"GetSubscriptionRequestDetailsOutputSubscribedPrincipalsList", + "documentation":"

      The subscribed principals in the subscription request.

      " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

      The timestamp of when the subscription request was updated.

      " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

      The Amazon DataZone user who updated the subscription request.

      " + } + } + }, + "GetSubscriptionRequestDetailsOutputSubscribedListingsList":{ + "type":"list", + "member":{"shape":"SubscribedListing"}, + "max":1, + "min":1 + }, + "GetSubscriptionRequestDetailsOutputSubscribedPrincipalsList":{ + "type":"list", + "member":{"shape":"SubscribedPrincipal"}, + "max":1, + "min":1 + }, + "GetSubscriptionTargetInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "environmentIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the subscription target exists.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "environmentIdentifier":{ + "shape":"EnvironmentId", + "documentation":"

      The ID of the environment associated with the subscription target.

      ", + "location":"uri", + "locationName":"environmentIdentifier" + }, + "identifier":{ + "shape":"SubscriptionTargetId", + "documentation":"

      The ID of the subscription target.

      ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "GetSubscriptionTargetOutput":{ + "type":"structure", + "required":[ + "applicableAssetTypes", + "authorizedPrincipals", + "createdAt", + "createdBy", + "domainId", + "environmentId", + "id", + "manageAccessRole", + "name", + "projectId", + "provider", + "subscriptionTargetConfig", + "type" + ], + "members":{ + "applicableAssetTypes":{ + "shape":"ApplicableAssetTypes", + "documentation":"

      The asset types associated with the subscription target.

      " + }, + "authorizedPrincipals":{ + "shape":"AuthorizedPrincipalIdentifiers", + "documentation":"

      The authorized principals of the subscription target.

      " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when the subscription target was created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created the subscription target.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain in which the subscription target exists.

      " + }, + "environmentId":{ + "shape":"EnvironmentId", + "documentation":"

      The ID of the environment associated with the subscription target.

      " + }, + "id":{ + "shape":"SubscriptionTargetId", + "documentation":"

      The ID of the subscription target.

      " + }, + "manageAccessRole":{ + "shape":"String", + "documentation":"

      The manage access role with which the subscription target was created.

      " + }, + "name":{ + "shape":"SubscriptionTargetName", + "documentation":"

      The name of the subscription target.

      " + }, + "projectId":{ + "shape":"ProjectId", + "documentation":"

      The ID of the project associated with the subscription target.

      " + }, + "provider":{ + "shape":"String", + "documentation":"

      The provider of the subscription target.

      " + }, + "subscriptionTargetConfig":{ + "shape":"SubscriptionTargetForms", + "documentation":"

      The configuration of teh subscription target.

      " + }, + "type":{ + "shape":"String", + "documentation":"

      The type of the subscription target.

      " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

      The timestamp of when the subscription target was updated.

      " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

      The Amazon DataZone user who updated the subscription target.

      " + } + } + }, + "GetUserProfileInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "userIdentifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      the ID of the Amazon DataZone domain the data portal of which you want to get.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "type":{ + "shape":"UserProfileType", + "documentation":"

      The type of the user profile.

      ", + "location":"querystring", + "locationName":"type" + }, + "userIdentifier":{ + "shape":"UserIdentifier", + "documentation":"

      The identifier of the user for which you want to get the user profile.

      ", + "location":"uri", + "locationName":"userIdentifier" + } + } + }, + "GetUserProfileOutput":{ + "type":"structure", + "members":{ + "details":{"shape":"UserProfileDetails"}, + "domainId":{ + "shape":"DomainId", + "documentation":"

      the identifier of the Amazon DataZone domain of which you want to get the user profile.

      " + }, + "id":{ + "shape":"UserProfileId", + "documentation":"

      The identifier of the user profile.

      " + }, + "status":{ + "shape":"UserProfileStatus", + "documentation":"

      The status of the user profile.

      " + }, + "type":{ + "shape":"UserProfileType", + "documentation":"

      The type of the user profile.

      " + } + } + }, + "GlossaryDescription":{ + "type":"string", + "max":4096, + "min":0, + "sensitive":true + }, + "GlossaryId":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_-]{1,36}$" + }, + "GlossaryItem":{ + "type":"structure", + "required":[ + "domainId", + "id", + "name", + "owningProjectId", + "status" + ], + "members":{ + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when the glossary was created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created the glossary.

      " + }, + "description":{ + "shape":"GlossaryDescription", + "documentation":"

      The business glossary description.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which the business glossary exists.

      " + }, + "id":{ + "shape":"GlossaryId", + "documentation":"

      The identifier of the glossary.

      " + }, + "name":{ + "shape":"GlossaryName", + "documentation":"

      The name of the glossary.

      " + }, + "owningProjectId":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the project that owns the business glosary.

      " + }, + "status":{ + "shape":"GlossaryStatus", + "documentation":"

      The business glossary status.

      " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

      The timestamp of when the business glossary was updated.

      " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

      The Amazon DataZone user who updated the business glossary.

      " + } + }, + "documentation":"

      The details of a business glossary.

      " + }, + "GlossaryName":{ + "type":"string", + "max":256, + "min":1, + "sensitive":true + }, + "GlossaryStatus":{ + "type":"string", + "enum":[ + "DISABLED", + "ENABLED" + ] + }, + "GlossaryTermId":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_-]{1,36}$" + }, + "GlossaryTermItem":{ + "type":"structure", + "required":[ + "domainId", + "glossaryId", + "id", + "name", + "status" + ], + "members":{ + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when a business glossary term was created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created the business glossary.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which the business glossary exists.

      " + }, + "glossaryId":{ + "shape":"GlossaryId", + "documentation":"

      The identifier of the business glossary to which the term belongs.

      " + }, + "id":{ + "shape":"GlossaryTermId", + "documentation":"

      The identifier of the business glossary term.

      " + }, + "longDescription":{ + "shape":"LongDescription", + "documentation":"

      The long description of the business glossary term.

      " + }, + "name":{ + "shape":"GlossaryTermName", + "documentation":"

      The name of the business glossary term.

      " + }, + "shortDescription":{ + "shape":"ShortDescription", + "documentation":"

      The short description of the business glossary term.

      " + }, + "status":{ + "shape":"GlossaryTermStatus", + "documentation":"

      The status of the business glossary term.

      " + }, + "termRelations":{ + "shape":"TermRelations", + "documentation":"

      The relations of the business glossary term.

      " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

      The timestamp of when a business glossary term was updated.

      " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

      The Amazon DataZone user who updated the business glossary term.

      " + } + }, + "documentation":"

      The details of a business glossary term.

      " + }, + "GlossaryTermName":{ + "type":"string", + "max":256, + "min":1, + "sensitive":true + }, + "GlossaryTermStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "GlossaryTerms":{ + "type":"list", + "member":{"shape":"GlossaryTermId"}, + "max":20, + "min":1 + }, + "GlueRunConfigurationInput":{ + "type":"structure", + "required":["relationalFilterConfigurations"], + "members":{ + "dataAccessRole":{ + "shape":"GlueRunConfigurationInputDataAccessRoleString", + "documentation":"

      The data access role included in the configuration details of the Amazon Web Services Glue data source.

      " + }, + "relationalFilterConfigurations":{ + "shape":"RelationalFilterConfigurations", + "documentation":"

      The relational filter configurations included in the configuration details of the Amazon Web Services Glue data source.

      " + } + }, + "documentation":"

      The configuration details of the Amazon Web Services Glue data source.

      " + }, + "GlueRunConfigurationInputDataAccessRoleString":{ + "type":"string", + "pattern":"^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]{1,128}$" + }, + "GlueRunConfigurationOutput":{ + "type":"structure", + "required":["relationalFilterConfigurations"], + "members":{ + "accountId":{ + "shape":"GlueRunConfigurationOutputAccountIdString", + "documentation":"

      The Amazon Web Services account ID included in the configuration details of the Amazon Web Services Glue data source.

      " + }, + "dataAccessRole":{ + "shape":"GlueRunConfigurationOutputDataAccessRoleString", + "documentation":"

      The data access role included in the configuration details of the Amazon Web Services Glue data source.

      " + }, + "region":{ + "shape":"GlueRunConfigurationOutputRegionString", + "documentation":"

      The Amazon Web Services region included in the configuration details of the Amazon Web Services Glue data source.

      " + }, + "relationalFilterConfigurations":{ + "shape":"RelationalFilterConfigurations", + "documentation":"

      The relational filter configurations included in the configuration details of the Amazon Web Services Glue data source.

      " + } + }, + "documentation":"

      The configuration details of the Amazon Web Services Glue data source.

      " + }, + "GlueRunConfigurationOutputAccountIdString":{ + "type":"string", + "max":12, + "min":12, + "pattern":"^\\d{12}$" + }, + "GlueRunConfigurationOutputDataAccessRoleString":{ + "type":"string", + "pattern":"^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]{1,128}$" + }, + "GlueRunConfigurationOutputRegionString":{ + "type":"string", + "max":16, + "min":4, + "pattern":"[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]" + }, + "GrantedEntity":{ + "type":"structure", + "members":{ + "listing":{ + "shape":"ListingRevision", + "documentation":"

      The listing for which a subscription is granted.

      " + } + }, + "documentation":"

      The details of a listing for which a subscription is granted.

      ", + "union":true + }, + "GrantedEntityInput":{ + "type":"structure", + "members":{ + "listing":{ + "shape":"ListingRevisionInput", + "documentation":"

      The listing for which a subscription is to be granted.

      " + } + }, + "documentation":"

      The details of a listing for which a subscription is to be granted.

      ", + "union":true + }, + "GroupDetails":{ + "type":"structure", + "required":["groupId"], + "members":{ + "groupId":{ + "shape":"String", + "documentation":"

      The identifier of the group in Amazon DataZone.

      " + } + }, + "documentation":"

      The details of a group in Amazon DataZone.

      " + }, + "GroupIdentifier":{ + "type":"string", + "pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$|[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\t\\n\\r ]+)" + }, + "GroupProfileId":{ + "type":"string", + "pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" + }, + "GroupProfileName":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"^[a-zA-Z_0-9+=,.@-]+$", + "sensitive":true + }, + "GroupProfileStatus":{ + "type":"string", + "enum":[ + "ASSIGNED", + "NOT_ASSIGNED" + ] + }, + "GroupProfileSummaries":{ + "type":"list", + "member":{"shape":"GroupProfileSummary"} + }, + "GroupProfileSummary":{ + "type":"structure", + "members":{ + "domainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain of a group profile.

      " + }, + "groupName":{ + "shape":"GroupProfileName", + "documentation":"

      The group name of a group profile.

      " + }, + "id":{ + "shape":"GroupProfileId", + "documentation":"

      The ID of a group profile.

      " + }, + "status":{ + "shape":"GroupProfileStatus", + "documentation":"

      The status of a group profile.

      " + } + }, + "documentation":"

      The details of a group profile.

      " + }, + "GroupSearchText":{ + "type":"string", + "max":1024, + "min":0, + "sensitive":true + }, + "GroupSearchType":{ + "type":"string", + "enum":[ + "SSO_GROUP", + "DATAZONE_SSO_GROUP" + ] + }, + "IamUserProfileDetails":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"String", + "documentation":"

      The ARN of an IAM user profile in Amazon DataZone.

      " + } + }, + "documentation":"

      The details of an IAM user profile in Amazon DataZone.

      " + }, + "Import":{ + "type":"structure", + "required":[ + "name", + "revision" + ], + "members":{ + "name":{ + "shape":"FormTypeName", + "documentation":"

      The name of the import.

      " + }, + "revision":{ + "shape":"Revision", + "documentation":"

      The revision of the import.

      " + } + }, + "documentation":"

      The details of the import of the metadata form type.

      " + }, + "ImportList":{ + "type":"list", + "member":{"shape":"Import"}, + "max":10, + "min":1 + }, + "Integer":{ + "type":"integer", + "box":true + }, + "InternalServerException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

      The request has failed because of an unknown error, exception or failure.

      ", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true, + "retryable":{"throttling":false} + }, + "InventorySearchScope":{ + "type":"string", + "enum":[ + "ASSET", + "GLOSSARY", + "GLOSSARY_TERM" + ] + }, + "KmsKeyArn":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}$" + }, + "LastName":{ + "type":"string", + "sensitive":true + }, + "ListAssetRevisionsInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the domain.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"AssetIdentifier", + "documentation":"

      The identifier of the asset.

      ", + "location":"uri", + "locationName":"identifier" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of revisions to return in a single call to ListAssetRevisions. When the number of revisions to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to ListAssetRevisions to list the next set of revisions.

      ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of revisions is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of revisions, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListAssetRevisions to list the next set of revisions.

      ", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListAssetRevisionsOutput":{ + "type":"structure", + "members":{ + "items":{ + "shape":"AssetRevisions", + "documentation":"

      The results of the ListAssetRevisions action.

      " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of revisions is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of revisions, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListAssetRevisions to list the next set of revisions.

      " + } + } + }, + "ListDataSourceRunActivitiesInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which to list data source run activities.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"DataSourceRunId", + "documentation":"

      The identifier of the data source run.

      ", + "location":"uri", + "locationName":"identifier" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of activities to return in a single call to ListDataSourceRunActivities. When the number of activities to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to ListDataSourceRunActivities to list the next set of activities.

      ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of activities is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of activities, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListDataSourceRunActivities to list the next set of activities.

      ", + "location":"querystring", + "locationName":"nextToken" + }, + "status":{ + "shape":"DataAssetActivityStatus", + "documentation":"

      The status of the data source run.

      ", + "location":"querystring", + "locationName":"status" + } + } + }, + "ListDataSourceRunActivitiesOutput":{ + "type":"structure", + "required":["items"], + "members":{ + "items":{ + "shape":"DataSourceRunActivities", + "documentation":"

      The results of the ListDataSourceRunActivities action.

      " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of activities is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of activities, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListDataSourceRunActivities to list the next set of activities.

      " + } + } + }, + "ListDataSourceRunsInput":{ + "type":"structure", + "required":[ + "dataSourceIdentifier", + "domainIdentifier" + ], + "members":{ + "dataSourceIdentifier":{ + "shape":"DataSourceId", + "documentation":"

      The identifier of the data source.

      ", + "location":"uri", + "locationName":"dataSourceIdentifier" + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which to invoke the ListDataSourceRuns action.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of runs to return in a single call to ListDataSourceRuns. When the number of runs to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to ListDataSourceRuns to list the next set of runs.

      ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of runs is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of runs, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListDataSourceRuns to list the next set of runs.

      ", + "location":"querystring", + "locationName":"nextToken" + }, + "status":{ + "shape":"DataSourceRunStatus", + "documentation":"

      The status of the data source.

      ", + "location":"querystring", + "locationName":"status" + } + } + }, + "ListDataSourceRunsOutput":{ + "type":"structure", + "required":["items"], + "members":{ + "items":{ + "shape":"DataSourceRunSummaries", + "documentation":"

      The results of the ListDataSourceRuns action.

      " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of runs is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of runs, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListDataSourceRuns to list the next set of runs.

      " + } + } + }, + "ListDataSourcesInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "projectIdentifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which to list the data sources.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "environmentIdentifier":{ + "shape":"String", + "documentation":"

      The identifier of the environment in which to list the data sources.

      ", + "location":"querystring", + "locationName":"environmentIdentifier" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of data sources to return in a single call to ListDataSources. When the number of data sources to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to ListDataSources to list the next set of data sources.

      ", + "location":"querystring", + "locationName":"maxResults" + }, + "name":{ + "shape":"Name", + "documentation":"

      The name of the data source.

      ", + "location":"querystring", + "locationName":"name" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of data sources is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of data sources, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListDataSources to list the next set of data sources.

      ", + "location":"querystring", + "locationName":"nextToken" + }, + "projectIdentifier":{ + "shape":"String", + "documentation":"

      The identifier of the project in which to list data sources.

      ", + "location":"querystring", + "locationName":"projectIdentifier" + }, + "status":{ + "shape":"DataSourceStatus", + "documentation":"

      The status of the data source.

      ", + "location":"querystring", + "locationName":"status" + }, + "type":{ + "shape":"DataSourceType", + "documentation":"

      The type of the data source.

      ", + "location":"querystring", + "locationName":"type" + } + } + }, + "ListDataSourcesOutput":{ + "type":"structure", + "required":["items"], + "members":{ + "items":{ + "shape":"DataSourceSummaries", + "documentation":"

      The results of the ListDataSources action.

      " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of data sources is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of data sources, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListDataSources to list the next set of data sources.

      " + } + } + }, + "ListDomainsInput":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"MaxResultsForListDomains", + "documentation":"

      The maximum number of domains to return in a single call to ListDomains. When the number of domains to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to ListDomains to list the next set of domains.

      ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of domains is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of domains, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListDomains to list the next set of domains.

      ", + "location":"querystring", + "locationName":"nextToken" + }, + "status":{ + "shape":"DomainStatus", + "documentation":"

      The status of the data source.

      ", + "location":"querystring", + "locationName":"status" + } + } + }, + "ListDomainsOutput":{ + "type":"structure", + "required":["items"], + "members":{ + "items":{ + "shape":"DomainSummaries", + "documentation":"

      The results of the ListDomains action.

      " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of domains is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of domains, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListDomains to list the next set of domains.

      " + } + } + }, + "ListEnvironmentBlueprintConfigurationsInput":{ + "type":"structure", + "required":["domainIdentifier"], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of blueprint configurations to return in a single call to ListEnvironmentBlueprintConfigurations. When the number of configurations to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to ListEnvironmentBlueprintConfigurations to list the next set of configurations.

      ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of blueprint configurations is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of configurations, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListEnvironmentBlueprintConfigurations to list the next set of configurations.

      ", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListEnvironmentBlueprintConfigurationsOutput":{ + "type":"structure", + "members":{ + "items":{ + "shape":"EnvironmentBlueprintConfigurations", + "documentation":"

      The results of the ListEnvironmentBlueprintConfigurations action.

      " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of blueprint configurations is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of configurations, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListEnvironmentBlueprintConfigurations to list the next set of configurations.

      " + } + } + }, + "ListEnvironmentBlueprintsInput":{ + "type":"structure", + "required":["domainIdentifier"], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "managed":{ + "shape":"Boolean", + "documentation":"

      Specifies whether the environment blueprint is managed by Amazon DataZone.

      ", + "location":"querystring", + "locationName":"managed" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of blueprints to return in a single call to ListEnvironmentBlueprints. When the number of blueprints to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to ListEnvironmentBlueprints to list the next set of blueprints.

      ", + "location":"querystring", + "locationName":"maxResults" + }, + "name":{ + "shape":"EnvironmentBlueprintName", + "documentation":"

      The name of the Amazon DataZone environment.

      ", + "location":"querystring", + "locationName":"name" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of blueprints in the environment is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of blueprints in the environment, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListEnvironmentBlueprintsto list the next set of blueprints.

      ", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListEnvironmentBlueprintsOutput":{ + "type":"structure", + "required":["items"], + "members":{ + "items":{ + "shape":"EnvironmentBlueprintSummaries", + "documentation":"

      The results of the ListEnvironmentBlueprints action.

      " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of blueprints in the environment is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of blueprints in the environment, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListEnvironmentBlueprintsto list the next set of blueprints.

      " + } + } + }, + "ListEnvironmentProfilesInput":{ + "type":"structure", + "required":["domainIdentifier"], + "members":{ + "awsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

      The identifier of the Amazon Web Services account where you want to list environment profiles.

      ", + "location":"querystring", + "locationName":"awsAccountId" + }, + "awsAccountRegion":{ + "shape":"AwsRegion", + "documentation":"

      The Amazon Web Services region where you want to list environment profiles.

      ", + "location":"querystring", + "locationName":"awsAccountRegion" + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "environmentBlueprintIdentifier":{ + "shape":"EnvironmentBlueprintId", + "documentation":"

      The identifier of the blueprint that was used to create the environment profiles that you want to list.

      ", + "location":"querystring", + "locationName":"environmentBlueprintIdentifier" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of environment profiles to return in a single call to ListEnvironmentProfiles. When the number of environment profiles to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to ListEnvironmentProfiles to list the next set of environment profiles.

      ", + "location":"querystring", + "locationName":"maxResults" + }, + "name":{ + "shape":"EnvironmentProfileName", + "documentation":"

      ", + "location":"querystring", + "locationName":"name" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of environment profiles is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of environment profiles, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListEnvironmentProfiles to list the next set of environment profiles.

      ", + "location":"querystring", + "locationName":"nextToken" + }, + "projectIdentifier":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the Amazon DataZone project.

      ", + "location":"querystring", + "locationName":"projectIdentifier" + } + } + }, + "ListEnvironmentProfilesOutput":{ + "type":"structure", + "required":["items"], + "members":{ + "items":{ + "shape":"EnvironmentProfileSummaries", + "documentation":"

      The results of the ListEnvironmentProfiles action.

      " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of environment profiles is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of environment profiles, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListEnvironmentProfiles to list the next set of environment profiles.

      " + } + } + }, + "ListEnvironmentsInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "projectIdentifier" + ], + "members":{ + "awsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

      The identifier of the Amazon Web Services account where you want to list environments.

      ", + "location":"querystring", + "locationName":"awsAccountId" + }, + "awsAccountRegion":{ + "shape":"AwsRegion", + "documentation":"

      The Amazon Web Services region where you want to list environments.

      ", + "location":"querystring", + "locationName":"awsAccountRegion" + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "environmentBlueprintIdentifier":{ + "shape":"EnvironmentBlueprintId", + "documentation":"

      The identifier of the Amazon DataZone blueprint.

      ", + "location":"querystring", + "locationName":"environmentBlueprintIdentifier" + }, + "environmentProfileIdentifier":{ + "shape":"EnvironmentProfileId", + "documentation":"

      The identifier of the environment profile.

      ", + "location":"querystring", + "locationName":"environmentProfileIdentifier" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of environments to return in a single call to ListEnvironments. When the number of environments to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to ListEnvironments to list the next set of environments.

      ", + "location":"querystring", + "locationName":"maxResults" + }, + "name":{ + "shape":"String", + "documentation":"

      ", + "location":"querystring", + "locationName":"name" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of environments is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of environments, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListEnvironments to list the next set of environments.

      ", + "location":"querystring", + "locationName":"nextToken" + }, + "projectIdentifier":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the Amazon DataZone project.

      ", + "location":"querystring", + "locationName":"projectIdentifier" + }, + "provider":{ + "shape":"String", + "documentation":"

      The provider of the environment.

      ", + "location":"querystring", + "locationName":"provider" + }, + "status":{ + "shape":"EnvironmentStatus", + "documentation":"

      The status of the environments that you want to list.

      ", + "location":"querystring", + "locationName":"status" + } + } + }, + "ListEnvironmentsOutput":{ + "type":"structure", + "required":["items"], + "members":{ + "items":{ + "shape":"EnvironmentSummaries", + "documentation":"

      The results of the ListEnvironments action.

      " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of environments is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of environments, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListEnvironments to list the next set of environments.

      " + } + } + }, + "ListNotificationsInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "type" + ], + "members":{ + "afterTimestamp":{ + "shape":"Timestamp", + "documentation":"

      The time after which you want to list notifications.

      ", + "location":"querystring", + "locationName":"afterTimestamp" + }, + "beforeTimestamp":{ + "shape":"Timestamp", + "documentation":"

      The time before which you want to list notifications.

      ", + "location":"querystring", + "locationName":"beforeTimestamp" + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of notifications to return in a single call to ListNotifications. When the number of notifications to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to ListNotifications to list the next set of notifications.

      ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of notifications is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of notifications, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListNotifications to list the next set of notifications.

      ", + "location":"querystring", + "locationName":"nextToken" + }, + "subjects":{ + "shape":"NotificationSubjects", + "documentation":"

      The subjects of notifications.

      ", + "location":"querystring", + "locationName":"subjects" + }, + "taskStatus":{ + "shape":"TaskStatus", + "documentation":"

      The task status of notifications.

      ", + "location":"querystring", + "locationName":"taskStatus" + }, + "type":{ + "shape":"NotificationType", + "documentation":"

      The type of notifications.

      ", + "location":"querystring", + "locationName":"type" + } + } + }, + "ListNotificationsOutput":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of notifications is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of notifications, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListNotifications to list the next set of notifications.

      " + }, + "notifications":{ + "shape":"NotificationsList", + "documentation":"

      The results of the ListNotifications action.

      " + } + } + }, + "ListProjectMembershipsInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "projectIdentifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which you want to list project memberships.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of memberships to return in a single call to ListProjectMemberships. When the number of memberships to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to ListProjectMemberships to list the next set of memberships.

      ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of memberships is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of memberships, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListProjectMemberships to list the next set of memberships.

      ", + "location":"querystring", + "locationName":"nextToken" + }, + "projectIdentifier":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the project whose memberships you want to list.

      ", + "location":"uri", + "locationName":"projectIdentifier" + }, + "sortBy":{ + "shape":"SortFieldProject", + "documentation":"

      The method by which you want to sort the project memberships.

      ", + "location":"querystring", + "locationName":"sortBy" + }, + "sortOrder":{ + "shape":"SortOrder", + "documentation":"

      The sort order of the project memberships.

      ", + "location":"querystring", + "locationName":"sortOrder" + } + } + }, + "ListProjectMembershipsOutput":{ + "type":"structure", + "required":["members"], + "members":{ + "members":{ + "shape":"ProjectMembers", + "documentation":"

      The members of the project.

      " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of memberships is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of memberships, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListProjectMemberships to list the next set of memberships.

      " + } + } + }, + "ListProjectsInput":{ + "type":"structure", + "required":["domainIdentifier"], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "groupIdentifier":{ + "shape":"String", + "documentation":"

      The identifier of a group.

      ", + "location":"querystring", + "locationName":"groupIdentifier" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of projects to return in a single call to ListProjects. When the number of projects to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to ListProjects to list the next set of projects.

      ", + "location":"querystring", + "locationName":"maxResults" + }, + "name":{ + "shape":"ProjectName", + "documentation":"

      ", + "location":"querystring", + "locationName":"name" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of projects is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of projects, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListProjects to list the next set of projects.

      ", + "location":"querystring", + "locationName":"nextToken" + }, + "userIdentifier":{ + "shape":"String", + "documentation":"

      The identifier of the Amazon DataZone user.

      ", + "location":"querystring", + "locationName":"userIdentifier" + } + } + }, + "ListProjectsOutput":{ + "type":"structure", + "members":{ + "items":{ + "shape":"ProjectSummaries", + "documentation":"

      The results of the ListProjects action.

      " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of projects is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of projects, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListProjects to list the next set of projects.

      " + } + } + }, + "ListSubscriptionGrantsInput":{ + "type":"structure", + "required":["domainIdentifier"], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "environmentId":{ + "shape":"EnvironmentId", + "documentation":"

      The identifier of the Amazon DataZone environment.

      ", + "location":"querystring", + "locationName":"environmentId" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of subscription grants to return in a single call to ListSubscriptionGrants. When the number of subscription grants to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to ListSubscriptionGrants to list the next set of subscription grants.

      ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of subscription grants is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of subscription grants, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListSubscriptionGrants to list the next set of subscription grants.

      ", + "location":"querystring", + "locationName":"nextToken" + }, + "sortBy":{ + "shape":"SortKey", + "documentation":"

      Specifies the way of sorting the results of this action.

      ", + "location":"querystring", + "locationName":"sortBy" + }, + "sortOrder":{ + "shape":"SortOrder", + "documentation":"

      Specifies the sort order of this action.

      ", + "location":"querystring", + "locationName":"sortOrder" + }, + "subscribedListingId":{ + "shape":"ListingId", + "documentation":"

      The identifier of the subscribed listing.

      ", + "location":"querystring", + "locationName":"subscribedListingId" + }, + "subscriptionId":{ + "shape":"SubscriptionId", + "documentation":"

      The identifier of the subscription.

      ", + "location":"querystring", + "locationName":"subscriptionId" + }, + "subscriptionTargetId":{ + "shape":"SubscriptionTargetId", + "documentation":"

      The identifier of the subscription target.

      ", + "location":"querystring", + "locationName":"subscriptionTargetId" + } + } + }, + "ListSubscriptionGrantsOutput":{ + "type":"structure", + "required":["items"], + "members":{ + "items":{ + "shape":"SubscriptionGrants", + "documentation":"

      The results of the ListSubscriptionGrants action.

      " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of subscription grants is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of subscription grants, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListSubscriptionGrants to list the next set of subscription grants.

      " + } + } + }, + "ListSubscriptionRequestsInput":{ + "type":"structure", + "required":["domainIdentifier"], + "members":{ + "approverProjectId":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the subscription request approver's project.

      ", + "location":"querystring", + "locationName":"approverProjectId" + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of subscription requests to return in a single call to ListSubscriptionRequests. When the number of subscription requests to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to ListSubscriptionRequests to list the next set of subscription requests.

      ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of subscription requests is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of subscription requests, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListSubscriptionRequests to list the next set of subscription requests.

      ", + "location":"querystring", + "locationName":"nextToken" + }, + "owningProjectId":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the project for the subscription requests.

      ", + "location":"querystring", + "locationName":"owningProjectId" + }, + "sortBy":{ + "shape":"SortKey", + "documentation":"

      Specifies the way to sort the results of this action.

      ", + "location":"querystring", + "locationName":"sortBy" + }, + "sortOrder":{ + "shape":"SortOrder", + "documentation":"

      Specifies the sort order for the results of this action.

      ", + "location":"querystring", + "locationName":"sortOrder" + }, + "status":{ + "shape":"SubscriptionRequestStatus", + "documentation":"

      Specifies the status of the subscription requests.

      ", + "location":"querystring", + "locationName":"status" + }, + "subscribedListingId":{ + "shape":"ListingId", + "documentation":"

      The identifier of the subscribed listing.

      ", + "location":"querystring", + "locationName":"subscribedListingId" + } + } + }, + "ListSubscriptionRequestsOutput":{ + "type":"structure", + "required":["items"], + "members":{ + "items":{ + "shape":"SubscriptionRequests", + "documentation":"

      The results of the ListSubscriptionRequests action.

      " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of subscription requests is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of subscription requests, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListSubscriptionRequests to list the next set of subscription requests.

      " + } + } + }, + "ListSubscriptionTargetsInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "environmentIdentifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain where you want to list subscription targets.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "environmentIdentifier":{ + "shape":"EnvironmentId", + "documentation":"

      The identifier of the environment where you want to list subscription targets.

      ", + "location":"uri", + "locationName":"environmentIdentifier" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of subscription targets to return in a single call to ListSubscriptionTargets. When the number of subscription targets to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to ListSubscriptionTargets to list the next set of subscription targets.

      ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of subscription targets is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of subscription targets, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListSubscriptionTargets to list the next set of subscription targets.

      ", + "location":"querystring", + "locationName":"nextToken" + }, + "sortBy":{ + "shape":"SortKey", + "documentation":"

      Specifies the way in which the results of this action are to be sorted.

      ", + "location":"querystring", + "locationName":"sortBy" + }, + "sortOrder":{ + "shape":"SortOrder", + "documentation":"

      Specifies the sort order for the results of this action.

      ", + "location":"querystring", + "locationName":"sortOrder" + } + } + }, + "ListSubscriptionTargetsOutput":{ + "type":"structure", + "required":["items"], + "members":{ + "items":{ + "shape":"SubscriptionTargets", + "documentation":"

      The results of the ListSubscriptionTargets action.

      " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of subscription targets is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of subscription targets, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListSubscriptionTargets to list the next set of subscription targets.

      " + } + } + }, + "ListSubscriptionsInput":{ + "type":"structure", + "required":["domainIdentifier"], + "members":{ + "approverProjectId":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the project for the subscription's approver.

      ", + "location":"querystring", + "locationName":"approverProjectId" + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of subscriptions to return in a single call to ListSubscriptions. When the number of subscriptions to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to ListSubscriptions to list the next set of Subscriptions.

      ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of subscriptions is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of subscriptions, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListSubscriptions to list the next set of subscriptions.

      ", + "location":"querystring", + "locationName":"nextToken" + }, + "owningProjectId":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the owning project.

      ", + "location":"querystring", + "locationName":"owningProjectId" + }, + "sortBy":{ + "shape":"SortKey", + "documentation":"

      Specifies the way in which the results of this action are to be sorted.

      ", + "location":"querystring", + "locationName":"sortBy" + }, + "sortOrder":{ + "shape":"SortOrder", + "documentation":"

      Specifies the sort order for the results of this action.

      ", + "location":"querystring", + "locationName":"sortOrder" + }, + "status":{ + "shape":"SubscriptionStatus", + "documentation":"

      The status of the subscriptions that you want to list.

      ", + "location":"querystring", + "locationName":"status" + }, + "subscribedListingId":{ + "shape":"ListingId", + "documentation":"

      The identifier of the subscribed listing for the subscriptions that you want to list.

      ", + "location":"querystring", + "locationName":"subscribedListingId" + }, + "subscriptionRequestIdentifier":{ + "shape":"SubscriptionRequestId", + "documentation":"

      The identifier of the subscription request for the subscriptions that you want to list.

      ", + "location":"querystring", + "locationName":"subscriptionRequestIdentifier" + } + } + }, + "ListSubscriptionsOutput":{ + "type":"structure", + "required":["items"], + "members":{ + "items":{ + "shape":"Subscriptions", + "documentation":"

      The results of the ListSubscriptions action.

      " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of subscriptions is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of subscriptions, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListSubscriptions to list the next set of subscriptions.

      " + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"

      The ARN of the resource whose tags you want to list.

      ", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"Tags", + "documentation":"

      The tags of the specified resource.

      " + } + } + }, + "ListingId":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_-]{1,36}$" + }, + "ListingItem":{ + "type":"structure", + "members":{ + "assetListing":{ + "shape":"AssetListing", + "documentation":"

      An asset published in an Amazon DataZone catalog.

      " + } + }, + "documentation":"

      The details of a listing (aka asset published in a Amazon DataZone catalog).

      ", + "union":true + }, + "ListingName":{ + "type":"string", + "max":64, + "min":1 + }, + "ListingRevision":{ + "type":"structure", + "required":[ + "id", + "revision" + ], + "members":{ + "id":{ + "shape":"ListingId", + "documentation":"

      An identifier of a revision of an asset published in a Amazon DataZone catalog.

      " + }, + "revision":{ + "shape":"Revision", + "documentation":"

      The details of a revision of an asset published in a Amazon DataZone catalog.

      " + } + }, + "documentation":"

      A revision of an asset published in a Amazon DataZone catalog.

      " + }, + "ListingRevisionInput":{ + "type":"structure", + "required":[ + "identifier", + "revision" + ], + "members":{ + "identifier":{ + "shape":"ListingId", + "documentation":"

      An identifier of revision to be made to an asset published in a Amazon DataZone catalog.

      " + }, + "revision":{ + "shape":"Revision", + "documentation":"

      The details of a revision to be made to an asset published in a Amazon DataZone catalog.

      " + } + }, + "documentation":"

      A revision to be made to an asset published in a Amazon DataZone catalog.

      " + }, + "ListingStatus":{ + "type":"string", + "enum":[ + "CREATING", + "ACTIVE", + "INACTIVE" + ] + }, + "LongDescription":{ + "type":"string", + "max":4096, + "min":0, + "sensitive":true + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":50, + "min":1 + }, + "MaxResultsForListDomains":{ + "type":"integer", + "box":true, + "max":25, + "min":1 + }, + "Member":{ + "type":"structure", + "members":{ + "groupIdentifier":{ + "shape":"String", + "documentation":"

      The ID of the group of a project member.

      " + }, + "userIdentifier":{ + "shape":"String", + "documentation":"

      The user ID of a project member.

      " + } + }, + "documentation":"

      The details about a project member.

      ", + "union":true + }, + "MemberDetails":{ + "type":"structure", + "members":{ + "group":{ + "shape":"GroupDetails", + "documentation":"

      The group details of a project member.

      " + }, + "user":{ + "shape":"UserDetails", + "documentation":"

      The user details of a project member.

      " + } + }, + "documentation":"

      The details about a project member.

      ", + "union":true + }, + "Message":{ + "type":"string", + "max":16384, + "min":0, + "sensitive":true + }, + "MetadataMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, + "Model":{ + "type":"structure", + "members":{ + "smithy":{ + "shape":"Smithy", + "documentation":"

      " + } + }, + "documentation":"

      ", + "sensitive":true, + "union":true + }, + "Name":{ + "type":"string", + "max":256, + "min":1, + "sensitive":true + }, + "NotificationOutput":{ + "type":"structure", + "required":[ + "actionLink", + "creationTimestamp", + "domainIdentifier", + "identifier", + "lastUpdatedTimestamp", + "message", + "title", + "topic", + "type" + ], + "members":{ + "actionLink":{ + "shape":"ActionLink", + "documentation":"

      The action link included in the notification.

      " + }, + "creationTimestamp":{ + "shape":"Timestamp", + "documentation":"

      The timestamp of when a notification was created.

      " + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of a Amazon DataZone domain in which the notification exists.

      " + }, + "identifier":{ + "shape":"TaskId", + "documentation":"

      The identifier of the notification.

      " + }, + "lastUpdatedTimestamp":{ + "shape":"Timestamp", + "documentation":"

      The timestamp of when the notification was last updated.

      " + }, + "message":{ + "shape":"Message", + "documentation":"

      The message included in the notification.

      " + }, + "metadata":{ + "shape":"MetadataMap", + "documentation":"

      The metadata included in the notification.

      " + }, + "status":{ + "shape":"TaskStatus", + "documentation":"

      The status included in the notification.

      " + }, + "title":{ + "shape":"Title", + "documentation":"

      The title of the notification.

      " + }, + "topic":{ + "shape":"Topic", + "documentation":"

      The topic of the notification.

      " + }, + "type":{ + "shape":"NotificationType", + "documentation":"

      The type of the notification.

      " + } + }, + "documentation":"

      The details of a notification generated in Amazon DataZone.

      " + }, + "NotificationResource":{ + "type":"structure", + "required":[ + "id", + "type" + ], + "members":{ + "id":{ + "shape":"String", + "documentation":"

      The ID of the resource mentioned in a notification.

      " + }, + "name":{ + "shape":"String", + "documentation":"

      The name of the resource mentioned in a notification.

      " + }, + "type":{ + "shape":"NotificationResourceType", + "documentation":"

      The type of the resource mentioned in a notification.

      " + } + }, + "documentation":"

      The details of the resource mentioned in a notification.

      " + }, + "NotificationResourceType":{ + "type":"string", + "enum":["PROJECT"] + }, + "NotificationRole":{ + "type":"string", + "enum":[ + "PROJECT_OWNER", + "PROJECT_CONTRIBUTOR", + "PROJECT_VIEWER", + "DOMAIN_OWNER", + "PROJECT_SUBSCRIBER" + ] + }, + "NotificationSubjects":{ + "type":"list", + "member":{"shape":"String"} + }, + "NotificationType":{ + "type":"string", + "enum":[ + "TASK", + "EVENT" + ] + }, + "NotificationsList":{ + "type":"list", + "member":{"shape":"NotificationOutput"} + }, + "PaginationToken":{ + "type":"string", + "max":8192, + "min":1 + }, + "PredictionChoices":{ + "type":"list", + "member":{"shape":"Integer"} + }, + "PredictionConfiguration":{ + "type":"structure", + "members":{ + "businessNameGeneration":{ + "shape":"BusinessNameGenerationConfiguration", + "documentation":"

      The business name generation mechanism.

      " + } + }, + "documentation":"

      The configuration of the prediction.

      " + }, + "ProjectId":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_-]{1,36}$" + }, + "ProjectMember":{ + "type":"structure", + "required":[ + "designation", + "memberDetails" + ], + "members":{ + "designation":{ + "shape":"UserDesignation", + "documentation":"

      The designated role of a project member.

      " + }, + "memberDetails":{ + "shape":"MemberDetails", + "documentation":"

      The membership details of a project member.

      " + } + }, + "documentation":"

      The details of a project member.

      " + }, + "ProjectMembers":{ + "type":"list", + "member":{"shape":"ProjectMember"} + }, + "ProjectName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[\\w -]+$", + "sensitive":true + }, + "ProjectSummaries":{ + "type":"list", + "member":{"shape":"ProjectSummary"} + }, + "ProjectSummary":{ + "type":"structure", + "required":[ + "createdBy", + "domainId", + "id", + "name" + ], + "members":{ + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when a project was created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created the project.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The description of a project.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of a Amazon DataZone domain where the project exists.

      " + }, + "id":{ + "shape":"ProjectId", + "documentation":"

      The identifier of a project.

      " + }, + "name":{ + "shape":"ProjectName", + "documentation":"

      The name of a project.

      " + }, + "updatedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when the project was updated.

      " + } + }, + "documentation":"

      The details of a Amazon DataZone project.

      " + }, + "ProvisioningProperties":{ + "type":"structure", + "members":{ + "cloudFormation":{ + "shape":"CloudFormationProperties", + "documentation":"

      The cloud formation properties included as part of the provisioning properties of an environment blueprint.

      " + } + }, + "documentation":"

      The provisioning properties of an environment blueprint.

      ", + "union":true + }, + "PutEnvironmentBlueprintConfigurationInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "enabledRegions", + "environmentBlueprintIdentifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "enabledRegions":{ + "shape":"EnabledRegionList", + "documentation":"

      Specifies the enabled Amazon Web Services Regions.

      " + }, + "environmentBlueprintIdentifier":{ + "shape":"EnvironmentBlueprintId", + "documentation":"

      The identifier of the environment blueprint.

      ", + "location":"uri", + "locationName":"environmentBlueprintIdentifier" + }, + "manageAccessRoleArn":{ + "shape":"RoleArn", + "documentation":"

      The ARN of the manage access role.

      " + }, + "provisioningRoleArn":{ + "shape":"RoleArn", + "documentation":"

      The ARN of the provisioning role.

      " + }, + "regionalParameters":{ + "shape":"RegionalParameterMap", + "documentation":"

      The regional parameters in the environment blueprint.

      " + } + } + }, + "PutEnvironmentBlueprintConfigurationOutput":{ + "type":"structure", + "required":[ + "domainId", + "environmentBlueprintId" + ], + "members":{ + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when the environment blueprint was created.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain.

      " + }, + "enabledRegions":{ + "shape":"EnabledRegionList", + "documentation":"

      Specifies the enabled Amazon Web Services Regions.

      " + }, + "environmentBlueprintId":{ + "shape":"EnvironmentBlueprintId", + "documentation":"

      The identifier of the environment blueprint.

      " + }, + "manageAccessRoleArn":{ + "shape":"RoleArn", + "documentation":"

      The ARN of the manage access role.

      " + }, + "provisioningRoleArn":{ + "shape":"RoleArn", + "documentation":"

      The ARN of the provisioning role.

      " + }, + "regionalParameters":{ + "shape":"RegionalParameterMap", + "documentation":"

      The regional parameters in the environment blueprint.

      " + }, + "updatedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when the environment blueprint was updated.

      " + } + } + }, + "RecommendationConfiguration":{ + "type":"structure", + "members":{ + "enableBusinessNameGeneration":{ + "shape":"Boolean", + "documentation":"

      Specifies whether automatic business name generation is to be enabled or not as part of the recommendation configuration.

      " + } + }, + "documentation":"

      The recommendation to be updated as part of the UpdateDataSource action.

      " + }, + "RedshiftClusterStorage":{ + "type":"structure", + "required":["clusterName"], + "members":{ + "clusterName":{ + "shape":"RedshiftClusterStorageClusterNameString", + "documentation":"

      The name of an Amazon Redshift cluster.

      " + } + }, + "documentation":"

      The details of the Amazon Redshift cluster storage.

      " + }, + "RedshiftClusterStorageClusterNameString":{ + "type":"string", + "max":63, + "min":1, + "pattern":"^[0-9a-z].[a-z0-9\\-]*$" + }, + "RedshiftCredentialConfiguration":{ + "type":"structure", + "required":["secretManagerArn"], + "members":{ + "secretManagerArn":{ + "shape":"RedshiftCredentialConfigurationSecretManagerArnString", + "documentation":"

      The ARN of a secret manager for an Amazon Redshift cluster.

      " + } + }, + "documentation":"

      The details of the credentials required to access an Amazon Redshift cluster.

      " + }, + "RedshiftCredentialConfigurationSecretManagerArnString":{ + "type":"string", + "max":256, + "min":0, + "pattern":"^arn:aws[^:]*:secretsmanager:[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]:\\d{12}:secret:.*$" + }, + "RedshiftRunConfigurationInput":{ + "type":"structure", + "required":[ + "redshiftCredentialConfiguration", + "redshiftStorage", + "relationalFilterConfigurations" + ], + "members":{ + "dataAccessRole":{ + "shape":"RedshiftRunConfigurationInputDataAccessRoleString", + "documentation":"

      The data access role included in the configuration details of the Amazon Redshift data source.

      " + }, + "redshiftCredentialConfiguration":{"shape":"RedshiftCredentialConfiguration"}, + "redshiftStorage":{"shape":"RedshiftStorage"}, + "relationalFilterConfigurations":{ + "shape":"RelationalFilterConfigurations", + "documentation":"

      The relational filger configurations included in the configuration details of the Amazon Redshift data source.

      " + } + }, + "documentation":"

      The configuration details of the Amazon Redshift data source.

      " + }, + "RedshiftRunConfigurationInputDataAccessRoleString":{ + "type":"string", + "pattern":"^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]{1,128}$" + }, + "RedshiftRunConfigurationOutput":{ + "type":"structure", + "required":[ + "redshiftCredentialConfiguration", + "redshiftStorage", + "relationalFilterConfigurations" + ], + "members":{ + "accountId":{ + "shape":"RedshiftRunConfigurationOutputAccountIdString", + "documentation":"

      The ID of the Amazon Web Services account included in the configuration details of the Amazon Redshift data source.

      " + }, + "dataAccessRole":{ + "shape":"RedshiftRunConfigurationOutputDataAccessRoleString", + "documentation":"

      The data access role included in the configuration details of the Amazon Redshift data source.

      " + }, + "redshiftCredentialConfiguration":{"shape":"RedshiftCredentialConfiguration"}, + "redshiftStorage":{"shape":"RedshiftStorage"}, + "region":{ + "shape":"RedshiftRunConfigurationOutputRegionString", + "documentation":"

      The Amazon Web Services region included in the configuration details of the Amazon Redshift data source.

      " + }, + "relationalFilterConfigurations":{ + "shape":"RelationalFilterConfigurations", + "documentation":"

      The relational filger configurations included in the configuration details of the Amazon Redshift data source.

      " + } + }, + "documentation":"

      The configuration details of the Amazon Redshift data source.

      " + }, + "RedshiftRunConfigurationOutputAccountIdString":{ + "type":"string", + "max":12, + "min":12, + "pattern":"^\\d{12}$" + }, + "RedshiftRunConfigurationOutputDataAccessRoleString":{ + "type":"string", + "pattern":"^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]{1,128}$" + }, + "RedshiftRunConfigurationOutputRegionString":{ + "type":"string", + "max":16, + "min":4, + "pattern":"[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]" + }, + "RedshiftServerlessStorage":{ + "type":"structure", + "required":["workgroupName"], + "members":{ + "workgroupName":{ + "shape":"RedshiftServerlessStorageWorkgroupNameString", + "documentation":"

      The name of the Amazon Redshift Serverless workgroup.

      " + } + }, + "documentation":"

      The details of the Amazon Redshift Serverless workgroup storage.

      " + }, + "RedshiftServerlessStorageWorkgroupNameString":{ + "type":"string", + "max":64, + "min":3, + "pattern":"^[a-z0-9-]+$" + }, + "RedshiftStorage":{ + "type":"structure", + "members":{ + "redshiftClusterSource":{ + "shape":"RedshiftClusterStorage", + "documentation":"

      The details of the Amazon Redshift cluster source.

      " + }, + "redshiftServerlessSource":{ + "shape":"RedshiftServerlessStorage", + "documentation":"

      The details of the Amazon Redshift Serverless workgroup source.

      " + } + }, + "documentation":"

      The details of the Amazon Redshift storage as part of the configuration of an Amazon Redshift data source run.

      ", + "union":true + }, + "RegionName":{ + "type":"string", + "max":16, + "min":4, + "pattern":"^[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]$" + }, + "RegionalParameter":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, + "RegionalParameterMap":{ + "type":"map", + "key":{"shape":"RegionName"}, + "value":{"shape":"RegionalParameter"} + }, + "RejectChoice":{ + "type":"structure", + "members":{ + "predictionChoices":{ + "shape":"PredictionChoices", + "documentation":"

      Specifies the the automatically generated business metadata that can be rejected.

      " + }, + "predictionTarget":{ + "shape":"String", + "documentation":"

      Specifies the target (for example, a column name) where a prediction can be rejected.

      " + } + }, + "documentation":"

      The details of the automatically generated business metadata that is rejected.

      " + }, + "RejectChoices":{ + "type":"list", + "member":{"shape":"RejectChoice"} + }, + "RejectPredictionsInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "clientToken":{ + "shape":"ClientToken", + "documentation":"

      A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.

      ", + "idempotencyToken":true + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"AssetIdentifier", + "documentation":"

      The identifier of the prediction.

      ", + "location":"uri", + "locationName":"identifier" + }, + "rejectChoices":{ + "shape":"RejectChoices", + "documentation":"

      " + }, + "rejectRule":{ + "shape":"RejectRule", + "documentation":"

      " + }, + "revision":{ + "shape":"Revision", + "documentation":"

      ", + "location":"querystring", + "locationName":"revision" + } + } + }, + "RejectPredictionsOutput":{ + "type":"structure", + "required":[ + "assetId", + "assetRevision", + "domainId" + ], + "members":{ + "assetId":{ + "shape":"AssetId", + "documentation":"

      " + }, + "assetRevision":{ + "shape":"Revision", + "documentation":"

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      " + } + } + }, + "RejectRule":{ + "type":"structure", + "members":{ + "rule":{ + "shape":"RejectRuleBehavior", + "documentation":"

      Specifies whether you want to reject the top prediction for all targets or none.

      " + }, + "threshold":{ + "shape":"Float", + "documentation":"

      The confidence score that specifies the condition at which a prediction can be rejected.

      " + } + }, + "documentation":"

      Specifies the rule and the threshold under which a prediction can be rejected.

      " + }, + "RejectRuleBehavior":{ + "type":"string", + "enum":[ + "ALL", + "NONE" + ] + }, + "RejectSubscriptionRequestInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "decisionComment":{ + "shape":"DecisionComment", + "documentation":"

      The decision comment of the rejected subscription request.

      " + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which the subscription request was rejected.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"SubscriptionRequestId", + "documentation":"

      The identifier of the subscription request that was rejected.

      ", + "location":"uri", + "locationName":"identifier" + } + } + }, + "RejectSubscriptionRequestOutput":{ + "type":"structure", + "required":[ + "createdAt", + "createdBy", + "domainId", + "id", + "requestReason", + "status", + "subscribedListings", + "subscribedPrincipals", + "updatedAt" + ], + "members":{ + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when the subscription request was rejected.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The timestamp of when the subscription request was rejected.

      " + }, + "decisionComment":{ + "shape":"DecisionComment", + "documentation":"

      The decision comment of the rejected subscription request.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which the subscription request was rejected.

      " + }, + "id":{ + "shape":"SubscriptionRequestId", + "documentation":"

      The identifier of the subscription request that was rejected.

      " + }, + "requestReason":{ + "shape":"RequestReason", + "documentation":"

      The reason for the subscription request.

      " + }, + "reviewerId":{ + "shape":"String", + "documentation":"

      The identifier of the subscription request reviewer.

      " + }, + "status":{ + "shape":"SubscriptionRequestStatus", + "documentation":"

      The status of the subscription request.

      " + }, + "subscribedListings":{ + "shape":"RejectSubscriptionRequestOutputSubscribedListingsList", + "documentation":"

      The subscribed listings of the subscription request.

      " + }, + "subscribedPrincipals":{ + "shape":"RejectSubscriptionRequestOutputSubscribedPrincipalsList", + "documentation":"

      The subscribed principals of the subscription request.

      " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

      The timestamp of when the subscription request was updated.

      " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

      The Amazon DataZone user who updated the subscription request.

      " + } + } + }, + "RejectSubscriptionRequestOutputSubscribedListingsList":{ + "type":"list", + "member":{"shape":"SubscribedListing"}, + "max":1, + "min":1 + }, + "RejectSubscriptionRequestOutputSubscribedPrincipalsList":{ + "type":"list", + "member":{"shape":"SubscribedPrincipal"}, + "max":1, + "min":1 + }, + "RelationalFilterConfiguration":{ + "type":"structure", + "required":["databaseName"], + "members":{ + "databaseName":{ + "shape":"RelationalFilterConfigurationDatabaseNameString", + "documentation":"

      The database name specified in the relational filter configuration for the data source.

      " + }, + "filterExpressions":{ + "shape":"FilterExpressions", + "documentation":"

      The filter expressions specified in the relational filter configuration for the data source.

      " + }, + "schemaName":{ + "shape":"RelationalFilterConfigurationSchemaNameString", + "documentation":"

      The schema name specified in the relational filter configuration for the data source.

      " + } + }, + "documentation":"

      The relational filter configuration for the data source.

      " + }, + "RelationalFilterConfigurationDatabaseNameString":{ + "type":"string", + "max":128, + "min":1 + }, + "RelationalFilterConfigurationSchemaNameString":{ + "type":"string", + "max":128, + "min":1 + }, + "RelationalFilterConfigurations":{ + "type":"list", + "member":{"shape":"RelationalFilterConfiguration"} + }, + "RequestReason":{ + "type":"string", + "max":4096, + "min":1, + "sensitive":true + }, + "Resource":{ + "type":"structure", + "required":[ + "type", + "value" + ], + "members":{ + "name":{ + "shape":"String", + "documentation":"

      The name of a provisioned resource of this Amazon DataZone environment.

      " + }, + "provider":{ + "shape":"String", + "documentation":"

      The provider of a provisioned resource of this Amazon DataZone environment.

      " + }, + "type":{ + "shape":"String", + "documentation":"

      The type of a provisioned resource of this Amazon DataZone environment.

      " + }, + "value":{ + "shape":"String", + "documentation":"

      The value of a provisioned resource of this Amazon DataZone environment.

      " + } + }, + "documentation":"

      The details of a provisioned resource of this Amazon DataZone environment.

      " + }, + "ResourceList":{ + "type":"list", + "member":{"shape":"Resource"} + }, + "ResourceNotFoundException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

      The specified resource cannot be found.

      ", + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "Revision":{ + "type":"string", + "max":64, + "min":1 + }, + "RevokeSubscriptionInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain where you want to revoke a subscription.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"SubscriptionId", + "documentation":"

      The identifier of the revoked subscription.

      ", + "location":"uri", + "locationName":"identifier" + }, + "retainPermissions":{ + "shape":"Boolean", + "documentation":"

      Specifies whether permissions are retained when the subscription is revoked.

      " + } + } + }, + "RevokeSubscriptionOutput":{ + "type":"structure", + "required":[ + "createdAt", + "createdBy", + "domainId", + "id", + "status", + "subscribedListing", + "subscribedPrincipal", + "updatedAt" + ], + "members":{ + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when the subscription was revoked.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The identifier of the user who revoked the subscription.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain where you want to revoke a subscription.

      " + }, + "id":{ + "shape":"SubscriptionId", + "documentation":"

      The identifier of the revoked subscription.

      " + }, + "retainPermissions":{ + "shape":"Boolean", + "documentation":"

      Specifies whether permissions are retained when the subscription is revoked.

      " + }, + "status":{ + "shape":"SubscriptionStatus", + "documentation":"

      The status of the revoked subscription.

      " + }, + "subscribedListing":{ + "shape":"SubscribedListing", + "documentation":"

      The subscribed listing of the revoked subscription.

      " + }, + "subscribedPrincipal":{ + "shape":"SubscribedPrincipal", + "documentation":"

      The subscribed principal of the revoked subscription.

      " + }, + "subscriptionRequestId":{ + "shape":"SubscriptionRequestId", + "documentation":"

      The identifier of the subscription request for the revoked subscription.

      " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

      The timestamp of when the subscription was revoked.

      " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

      The Amazon DataZone user who revoked the subscription.

      " + } + } + }, + "RoleArn":{ + "type":"string", + "pattern":"^arn:aws[^:]*:iam::\\d{12}:(role|role/service-role)/[\\w+=,.@-]*$" + }, + "RunStatisticsForAssets":{ + "type":"structure", + "members":{ + "added":{ + "shape":"Integer", + "documentation":"

      The added statistic for the data source run.

      " + }, + "failed":{ + "shape":"Integer", + "documentation":"

      The failed statistic for the data source run.

      " + }, + "skipped":{ + "shape":"Integer", + "documentation":"

      The skipped statistic for the data source run.

      " + }, + "unchanged":{ + "shape":"Integer", + "documentation":"

      The unchanged statistic for the data source run.

      " + }, + "updated":{ + "shape":"Integer", + "documentation":"

      The updated statistic for the data source run.

      " + } + }, + "documentation":"

      The asset statistics from the data source run.

      " + }, + "ScheduleConfiguration":{ + "type":"structure", + "members":{ + "schedule":{ + "shape":"CronString", + "documentation":"

      The schedule of the data source runs.

      " + }, + "timezone":{ + "shape":"Timezone", + "documentation":"

      The timezone of the data source run.

      " + } + }, + "documentation":"

      The details of the schedule of the data source runs.

      ", + "sensitive":true + }, + "SearchGroupProfilesInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "groupType" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which you want to search group profiles.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "groupType":{ + "shape":"GroupSearchType", + "documentation":"

      The group type for which to search.

      " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of results to return in a single call to SearchGroupProfiles. When the number of results to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to SearchGroupProfiles to list the next set of results.

      " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of results is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of results, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to SearchGroupProfiles to list the next set of results.

      " + }, + "searchText":{ + "shape":"GroupSearchText", + "documentation":"

      Specifies the text for which to search.

      " + } + } + }, + "SearchGroupProfilesOutput":{ + "type":"structure", + "members":{ + "items":{ + "shape":"GroupProfileSummaries", + "documentation":"

      The results of the SearchGroupProfiles action.

      " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of results is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of results, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to SearchGroupProfiles to list the next set of results.

      " + } + } + }, + "SearchInItem":{ + "type":"structure", + "required":["attribute"], + "members":{ + "attribute":{ + "shape":"Attribute", + "documentation":"

      The search attribute.

      " + } + }, + "documentation":"

      The details of the search.

      " + }, + "SearchInList":{ + "type":"list", + "member":{"shape":"SearchInItem"}, + "max":10, + "min":1 + }, + "SearchInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "searchScope" + ], + "members":{ + "additionalAttributes":{ + "shape":"SearchOutputAdditionalAttributes", + "documentation":"

      Specifies additional attributes for the Search action.

      " + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "filters":{ + "shape":"FilterClause", + "documentation":"

      Specifies the search filters.

      " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of results to return in a single call to Search. When the number of results to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to Search to list the next set of results.

      " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of results is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of results, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to Search to list the next set of results.

      " + }, + "owningProjectIdentifier":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the owning project specified for the search.

      " + }, + "searchIn":{ + "shape":"SearchInList", + "documentation":"

      " + }, + "searchScope":{ + "shape":"InventorySearchScope", + "documentation":"

      The scope of the search.

      " + }, + "searchText":{ + "shape":"SearchText", + "documentation":"

      Specifies the text for which to search.

      " + }, + "sort":{ + "shape":"SearchSort", + "documentation":"

      Specifies the way in which the search results are to be sorted.

      " + } + } + }, + "SearchInventoryResultItem":{ + "type":"structure", + "members":{ + "assetItem":{ + "shape":"AssetItem", + "documentation":"

      The asset item included in the search results.

      " + }, + "dataProductItem":{ + "shape":"DataProductSummary", + "documentation":"

      The data product item included in the search results.

      " + }, + "glossaryItem":{ + "shape":"GlossaryItem", + "documentation":"

      The glossary item included in the search results.

      " + }, + "glossaryTermItem":{ + "shape":"GlossaryTermItem", + "documentation":"

      The glossary term item included in the search results.

      " + } + }, + "documentation":"

      The details of the search results.

      ", + "union":true + }, + "SearchInventoryResultItems":{ + "type":"list", + "member":{"shape":"SearchInventoryResultItem"} + }, + "SearchListingsInput":{ + "type":"structure", + "required":["domainIdentifier"], + "members":{ + "additionalAttributes":{ + "shape":"SearchOutputAdditionalAttributes", + "documentation":"

      Specifies additional attributes for the search.

      " + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the domain in which to search listings.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "filters":{ + "shape":"FilterClause", + "documentation":"

      Specifies the filters for the search of listings.

      " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of results to return in a single call to SearchListings. When the number of results to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to SearchListings to list the next set of results.

      " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of results is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of results, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to SearchListings to list the next set of results.

      " + }, + "searchIn":{ + "shape":"SearchInList", + "documentation":"

      " + }, + "searchText":{ + "shape":"String", + "documentation":"

      Specifies the text for which to search.

      " + }, + "sort":{ + "shape":"SearchSort", + "documentation":"

      Specifies the way for sorting the search results.

      " + } + } + }, + "SearchListingsOutput":{ + "type":"structure", + "members":{ + "items":{ + "shape":"SearchResultItems", + "documentation":"

      The results of the SearchListings action.

      " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of results is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of results, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to SearchListings to list the next set of results.

      " + }, + "totalMatchCount":{ + "shape":"Integer", + "documentation":"

      Total number of search results.

      " + } + } + }, + "SearchOutput":{ + "type":"structure", + "members":{ + "items":{ + "shape":"SearchInventoryResultItems", + "documentation":"

      The results of the Search action.

      " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of results is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of results, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to Search to list the next set of results.

      " + }, + "totalMatchCount":{ + "shape":"Integer", + "documentation":"

      Total number of search results.

      " + } + } + }, + "SearchOutputAdditionalAttribute":{ + "type":"string", + "enum":["FORMS"] + }, + "SearchOutputAdditionalAttributes":{ + "type":"list", + "member":{"shape":"SearchOutputAdditionalAttribute"} + }, + "SearchResultItem":{ + "type":"structure", + "members":{ + "assetListing":{ + "shape":"AssetListingItem", + "documentation":"

      The asset listing included in the results of the SearchListings action.

      " + } + }, + "documentation":"

      The details of the results of the SearchListings action.

      ", + "union":true + }, + "SearchResultItems":{ + "type":"list", + "member":{"shape":"SearchResultItem"} + }, + "SearchSort":{ + "type":"structure", + "required":["attribute"], + "members":{ + "attribute":{ + "shape":"Attribute", + "documentation":"

      The attribute detail of the way to sort search results.

      " + }, + "order":{ + "shape":"SortOrder", + "documentation":"

      The order detail of the wya to sort search results.

      " + } + }, + "documentation":"

      The details of the way to sort search results.

      " + }, + "SearchText":{ + "type":"string", + "max":4096, + "min":1 + }, + "SearchTypesInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "managed", + "searchScope" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which to invoke the SearchTypes action.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "filters":{ + "shape":"FilterClause", + "documentation":"

      The filters for the SearchTypes action.

      " + }, + "managed":{ + "shape":"Boolean", + "documentation":"

      " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of results to return in a single call to SearchTypes. When the number of results to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to SearchTypes to list the next set of results.

      " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of results is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of results, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to SearchTypes to list the next set of results.

      " + }, + "searchIn":{ + "shape":"SearchInList", + "documentation":"

      " + }, + "searchScope":{ + "shape":"TypesSearchScope", + "documentation":"

      Specifies the scope of the search for types.

      " + }, + "searchText":{ + "shape":"SearchText", + "documentation":"

      Specifies the text for which to search.

      " + }, + "sort":{ + "shape":"SearchSort", + "documentation":"

      The specifies the way to sort the SearchTypes results.

      " + } + } + }, + "SearchTypesOutput":{ + "type":"structure", + "members":{ + "items":{ + "shape":"SearchTypesResultItems", + "documentation":"

      The results of the SearchTypes action.

      " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of results is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of results, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to SearchTypes to list the next set of results.

      " + }, + "totalMatchCount":{ + "shape":"Integer", + "documentation":"

      Total number of search results.

      " + } + } + }, + "SearchTypesResultItem":{ + "type":"structure", + "members":{ + "assetTypeItem":{ + "shape":"AssetTypeItem", + "documentation":"

      The asset type included in the results of the SearchTypes action.

      " + }, + "formTypeItem":{ + "shape":"FormTypeData", + "documentation":"

      The form type included in the results of the SearchTypes action.

      " + } + }, + "documentation":"

      The details of the results of the SearchTypes action.

      ", + "union":true + }, + "SearchTypesResultItems":{ + "type":"list", + "member":{"shape":"SearchTypesResultItem"} + }, + "SearchUserProfilesInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "userType" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which you want to search user profiles.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of results to return in a single call to SearchUserProfiles. When the number of results to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to SearchUserProfiles to list the next set of results.

      " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of results is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of results, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to SearchUserProfiles to list the next set of results.

      " + }, + "searchText":{ + "shape":"UserSearchText", + "documentation":"

      Specifies the text for which to search.

      " + }, + "userType":{ + "shape":"UserSearchType", + "documentation":"

      Specifies the user type for the SearchUserProfiles action.

      " + } + } + }, + "SearchUserProfilesOutput":{ + "type":"structure", + "members":{ + "items":{ + "shape":"UserProfileSummaries", + "documentation":"

      The results of the SearchUserProfiles action.

      " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      When the number of results is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of results, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to SearchUserProfiles to list the next set of results.

      " + } + } + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

      The request has exceeded the specified service quota.

      ", + "error":{ + "httpStatusCode":402, + "senderFault":true + }, + "exception":true + }, + "ShortDescription":{ + "type":"string", + "max":1024, + "min":0, + "sensitive":true + }, + "SingleSignOn":{ + "type":"structure", + "members":{ + "type":{ + "shape":"AuthType", + "documentation":"

      The type of single sign-on in Amazon DataZone.

      " + }, + "userAssignment":{ + "shape":"UserAssignment", + "documentation":"

      The single sign-on user assignment in Amazon DataZone.

      " + } + }, + "documentation":"

      The single sign-on details in Amazon DataZone.

      " + }, + "Smithy":{ + "type":"string", + "max":10000, + "min":1 + }, + "SortFieldProject":{ + "type":"string", + "enum":["NAME"] + }, + "SortKey":{ + "type":"string", + "enum":[ + "CREATED_AT", + "UPDATED_AT" + ] + }, + "SortOrder":{ + "type":"string", + "enum":[ + "ASCENDING", + "DESCENDING" + ] + }, + "SsoUserProfileDetails":{ + "type":"structure", + "members":{ + "firstName":{ + "shape":"FirstName", + "documentation":"

      The first name included in the single sign-on details of the user profile.

      " + }, + "lastName":{ + "shape":"LastName", + "documentation":"

      The last name included in the single sign-on details of the user profile.

      " + }, + "username":{ + "shape":"UserProfileName", + "documentation":"

      The username included in the single sign-on details of the user profile.

      " + } + }, + "documentation":"

      The single sign-on details of the user profile.

      " + }, + "StartDataSourceRunInput":{ + "type":"structure", + "required":[ + "dataSourceIdentifier", + "domainIdentifier" + ], + "members":{ + "clientToken":{ + "shape":"String", + "documentation":"

      A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.

      ", + "idempotencyToken":true + }, + "dataSourceIdentifier":{ + "shape":"DataSourceId", + "documentation":"

      The identifier of the data source.

      ", + "location":"uri", + "locationName":"dataSourceIdentifier" + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which to start a data source run.

      ", + "location":"uri", + "locationName":"domainIdentifier" + } + } + }, + "StartDataSourceRunOutput":{ + "type":"structure", + "required":[ + "createdAt", + "dataSourceId", + "domainId", + "id", + "projectId", + "status", + "type", + "updatedAt" + ], + "members":{ + "createdAt":{ + "shape":"DateTime", + "documentation":"

      The timestamp of when data source run was created.

      " + }, + "dataSourceConfigurationSnapshot":{ + "shape":"String", + "documentation":"

      The configuration snapshot of the data source that is being run.

      " + }, + "dataSourceId":{ + "shape":"DataSourceId", + "documentation":"

      The identifier of the data source.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which to start a data source run.

      " + }, + "errorMessage":{ + "shape":"DataSourceErrorMessage", + "documentation":"

      Specifies the error message that is returned if the operation cannot be successfully completed.

      " + }, + "id":{ + "shape":"DataSourceRunId", + "documentation":"

      The identifier of the data source run.

      " + }, + "projectId":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the project.

      " + }, + "runStatisticsForAssets":{ + "shape":"RunStatisticsForAssets", + "documentation":"

      Specifies run statistics for assets.

      " + }, + "startedAt":{ + "shape":"DateTime", + "documentation":"

      The timestamp of when the data source run was started.

      " + }, + "status":{ + "shape":"DataSourceRunStatus", + "documentation":"

      The status of the data source run.

      " + }, + "stoppedAt":{ + "shape":"DateTime", + "documentation":"

      The timestamp of when the data source run was stopped.

      " + }, + "type":{ + "shape":"DataSourceRunType", + "documentation":"

      The type of the data source run.

      " + }, + "updatedAt":{ + "shape":"DateTime", + "documentation":"

      The timestamp of when the data source run was updated.

      " + } + } + }, + "String":{"type":"string"}, + "SubscribedAsset":{ + "type":"structure", + "required":[ + "assetId", + "assetRevision", + "status" + ], + "members":{ + "assetId":{ + "shape":"AssetId", + "documentation":"

      The identifier of the asset for which the subscription grant is created.

      " + }, + "assetRevision":{ + "shape":"Revision", + "documentation":"

      The revision of the asset for which the subscription grant is created.

      " + }, + "failureCause":{ + "shape":"FailureCause", + "documentation":"

      The failure cause included in the details of the asset for which the subscription grant is created.

      " + }, + "failureTimestamp":{ + "shape":"Timestamp", + "documentation":"

      The failure timestamp included in the details of the asset for which the subscription grant is created.

      " + }, + "grantedTimestamp":{ + "shape":"Timestamp", + "documentation":"

      The timestamp of when the subscription grant to the asset is created.

      " + }, + "status":{ + "shape":"SubscriptionGrantStatus", + "documentation":"

      The status of the asset for which the subscription grant is created.

      " + }, + "targetName":{ + "shape":"String", + "documentation":"

      The target name of the asset for which the subscription grant is created.

      " + } + }, + "documentation":"

      The details of the asset for which the subscription grant is created.

      " + }, + "SubscribedAssetListing":{ + "type":"structure", + "members":{ + "entityId":{ + "shape":"AssetId", + "documentation":"

      The identifier of the published asset for which the subscription grant is created.

      " + }, + "entityRevision":{ + "shape":"Revision", + "documentation":"

      The revision of the published asset for which the subscription grant is created.

      " + }, + "entityType":{ + "shape":"TypeName", + "documentation":"

      The type of the published asset for which the subscription grant is created.

      " + }, + "forms":{ + "shape":"Forms", + "documentation":"

      The forms attached to the published asset for which the subscription grant is created.

      " + }, + "glossaryTerms":{ + "shape":"DetailedGlossaryTerms", + "documentation":"

      The glossary terms attached to the published asset for which the subscription grant is created.

      " + } + }, + "documentation":"

      The details of the published asset for which the subscription grant is created.

      " + }, + "SubscribedAssets":{ + "type":"list", + "member":{"shape":"SubscribedAsset"} + }, + "SubscribedListing":{ + "type":"structure", + "required":[ + "description", + "id", + "item", + "name", + "ownerProjectId" + ], + "members":{ + "description":{ + "shape":"Description", + "documentation":"

      The description of the published asset for which the subscription grant is created.

      " + }, + "id":{ + "shape":"ListingId", + "documentation":"

      The identifier of the published asset for which the subscription grant is created.

      " + }, + "item":{ + "shape":"SubscribedListingItem", + "documentation":"

      The published asset for which the subscription grant is created.

      " + }, + "name":{ + "shape":"ListingName", + "documentation":"

      The name of the published asset for which the subscription grant is created.

      " + }, + "ownerProjectId":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the project of the published asset for which the subscription grant is created.

      " + }, + "ownerProjectName":{ + "shape":"String", + "documentation":"

      The name of the project that owns the published asset for which the subscription grant is created.

      " + }, + "revision":{ + "shape":"Revision", + "documentation":"

      The revision of the published asset for which the subscription grant is created.

      " + } + }, + "documentation":"

      The details of the published asset for which the subscription grant is created.

      " + }, + "SubscribedListingInput":{ + "type":"structure", + "required":["identifier"], + "members":{ + "identifier":{ + "shape":"ListingId", + "documentation":"

      The identifier of the published asset for which the subscription grant is to be created.

      " + } + }, + "documentation":"

      The published asset for which the subscription grant is to be created.

      " + }, + "SubscribedListingInputs":{ + "type":"list", + "member":{"shape":"SubscribedListingInput"}, + "max":1, + "min":1 + }, + "SubscribedListingItem":{ + "type":"structure", + "members":{ + "assetListing":{ + "shape":"SubscribedAssetListing", + "documentation":"

      The asset for which the subscription grant is created.

      " + } + }, + "documentation":"

      The published asset for which the subscription grant is created.

      ", + "union":true + }, + "SubscribedPrincipal":{ + "type":"structure", + "members":{ + "project":{ + "shape":"SubscribedProject", + "documentation":"

      The project that has the subscription grant.

      " + } + }, + "documentation":"

      The principal that has the subscription grant for the asset.

      ", + "union":true + }, + "SubscribedPrincipalInput":{ + "type":"structure", + "members":{ + "project":{ + "shape":"SubscribedProjectInput", + "documentation":"

      The project that is to be given a subscription grant.

      " + } + }, + "documentation":"

      The principal that is to be given a subscriptiong grant.

      ", + "union":true + }, + "SubscribedPrincipalInputs":{ + "type":"list", + "member":{"shape":"SubscribedPrincipalInput"}, + "max":1, + "min":1 + }, + "SubscribedProject":{ + "type":"structure", + "members":{ + "id":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the project that has the subscription grant.

      " + }, + "name":{ + "shape":"ProjectName", + "documentation":"

      The name of the project that has the subscription grant.

      " + } + }, + "documentation":"

      The project that has the subscription grant.

      " + }, + "SubscribedProjectInput":{ + "type":"structure", + "members":{ + "identifier":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the project that is to be given a subscription grant.

      " + } + }, + "documentation":"

      The project that is to be given a subscription grant.

      " + }, + "SubscriptionGrantId":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_-]{1,36}$" + }, + "SubscriptionGrantOverallStatus":{ + "type":"string", + "enum":[ + "PENDING", + "IN_PROGRESS", + "GRANT_FAILED", + "REVOKE_FAILED", + "GRANT_AND_REVOKE_FAILED", + "COMPLETED", + "INACCESSIBLE" + ] + }, + "SubscriptionGrantStatus":{ + "type":"string", + "enum":[ + "GRANT_PENDING", + "REVOKE_PENDING", + "GRANT_IN_PROGRESS", + "REVOKE_IN_PROGRESS", + "GRANTED", + "REVOKED", + "GRANT_FAILED", + "REVOKE_FAILED" + ] + }, + "SubscriptionGrantSummary":{ + "type":"structure", + "required":[ + "createdAt", + "createdBy", + "domainId", + "grantedEntity", + "id", + "status", + "subscriptionTargetId", + "updatedAt" + ], + "members":{ + "assets":{ + "shape":"SubscribedAssets", + "documentation":"

      The assets included in the subscription grant.

      " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when a subscription grant was created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The datazone user who created the subscription grant.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which a subscription grant exists.

      " + }, + "grantedEntity":{ + "shape":"GrantedEntity", + "documentation":"

      The entity to which the subscription is granted.

      " + }, + "id":{ + "shape":"SubscriptionGrantId", + "documentation":"

      The identifier of the subscription grant.

      " + }, + "status":{ + "shape":"SubscriptionGrantOverallStatus", + "documentation":"

      The status of the subscription grant.

      " + }, + "subscriptionId":{ + "shape":"SubscriptionId", + "documentation":"

      The ID of the subscription grant.

      " + }, + "subscriptionTargetId":{ + "shape":"SubscriptionTargetId", + "documentation":"

      The identifier of the target of the subscription grant.

      " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

      The timestampf of when the subscription grant was updated.

      " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

      The Amazon DataZone user who updated the subscription grant.

      " + } + }, + "documentation":"

      The details of the subscription grant.

      " + }, + "SubscriptionGrants":{ + "type":"list", + "member":{"shape":"SubscriptionGrantSummary"} + }, + "SubscriptionId":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_-]{1,36}$" + }, + "SubscriptionRequestId":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_-]{1,36}$" + }, + "SubscriptionRequestStatus":{ + "type":"string", + "enum":[ + "PENDING", + "ACCEPTED", + "REJECTED" + ] + }, + "SubscriptionRequestSummary":{ + "type":"structure", + "required":[ + "createdAt", + "createdBy", + "domainId", + "id", + "requestReason", + "status", + "subscribedListings", + "subscribedPrincipals", + "updatedAt" + ], + "members":{ + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when a subscription request was created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created the subscription request.

      " + }, + "decisionComment":{ + "shape":"DecisionComment", + "documentation":"

      The decision comment of the subscription request.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which a subscription request exists.

      " + }, + "id":{ + "shape":"SubscriptionRequestId", + "documentation":"

      The identifier of the subscription request.

      " + }, + "requestReason":{ + "shape":"RequestReason", + "documentation":"

      The reason for the subscription request.

      " + }, + "reviewerId":{ + "shape":"String", + "documentation":"

      The identifier of the subscription request reviewer.

      " + }, + "status":{ + "shape":"SubscriptionRequestStatus", + "documentation":"

      The status of the subscription request.

      " + }, + "subscribedListings":{ + "shape":"SubscriptionRequestSummarySubscribedListingsList", + "documentation":"

      The listings included in the subscription request.

      " + }, + "subscribedPrincipals":{ + "shape":"SubscriptionRequestSummarySubscribedPrincipalsList", + "documentation":"

      The principals included in the subscription request.

      " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

      The timestamp of when the subscription request was updated.

      " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

      The identifier of the Amazon DataZone user who updated the subscription request.

      " + } + }, + "documentation":"

      The details of the subscription request.

      " + }, + "SubscriptionRequestSummarySubscribedListingsList":{ + "type":"list", + "member":{"shape":"SubscribedListing"}, + "max":1, + "min":1 + }, + "SubscriptionRequestSummarySubscribedPrincipalsList":{ + "type":"list", + "member":{"shape":"SubscribedPrincipal"}, + "max":1, + "min":1 + }, + "SubscriptionRequests":{ + "type":"list", + "member":{"shape":"SubscriptionRequestSummary"} + }, + "SubscriptionStatus":{ + "type":"string", + "enum":[ + "APPROVED", + "REVOKED", + "CANCELLED" + ] + }, + "SubscriptionSummary":{ + "type":"structure", + "required":[ + "createdAt", + "createdBy", + "domainId", + "id", + "status", + "subscribedListing", + "subscribedPrincipal", + "updatedAt" + ], + "members":{ + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when the subscription was created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created the subscription.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which a subscription exists.

      " + }, + "id":{ + "shape":"SubscriptionId", + "documentation":"

      The identifier of the subscription.

      " + }, + "retainPermissions":{ + "shape":"Boolean", + "documentation":"

      The retain permissions included in the subscription.

      " + }, + "status":{ + "shape":"SubscriptionStatus", + "documentation":"

      The status of the subscription.

      " + }, + "subscribedListing":{ + "shape":"SubscribedListing", + "documentation":"

      The listing included in the subscription.

      " + }, + "subscribedPrincipal":{ + "shape":"SubscribedPrincipal", + "documentation":"

      The principal included in the subscription.

      " + }, + "subscriptionRequestId":{ + "shape":"SubscriptionRequestId", + "documentation":"

      The identifier of the subscription request for the subscription.

      " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

      The timestamp of when the subscription was updated.

      " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

      The Amazon DataZone user who updated the subscription.

      " + } + }, + "documentation":"

      The details of the subscription.

      " + }, + "SubscriptionTargetForm":{ + "type":"structure", + "required":[ + "content", + "formName" + ], + "members":{ + "content":{ + "shape":"String", + "documentation":"

      The content of the subscription target configuration.

      " + }, + "formName":{ + "shape":"FormName", + "documentation":"

      The form name included in the subscription target configuration.

      " + } + }, + "documentation":"

      The details of the subscription target configuration.

      " + }, + "SubscriptionTargetForms":{ + "type":"list", + "member":{"shape":"SubscriptionTargetForm"} + }, + "SubscriptionTargetId":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_-]{1,36}$" + }, + "SubscriptionTargetName":{ + "type":"string", + "max":256, + "min":1, + "sensitive":true + }, + "SubscriptionTargetSummary":{ + "type":"structure", + "required":[ + "applicableAssetTypes", + "authorizedPrincipals", + "createdAt", + "createdBy", + "domainId", + "environmentId", + "id", + "manageAccessRole", + "name", + "projectId", + "provider", + "subscriptionTargetConfig", + "type" + ], + "members":{ + "applicableAssetTypes":{ + "shape":"ApplicableAssetTypes", + "documentation":"

      The asset types included in the subscription target.

      " + }, + "authorizedPrincipals":{ + "shape":"AuthorizedPrincipalIdentifiers", + "documentation":"

      The authorized principals included in the subscription target.

      " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when the subscription target was created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created the subscription target.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which the subscription target exists.

      " + }, + "environmentId":{ + "shape":"EnvironmentId", + "documentation":"

      The identifier of the environment of the subscription target.

      " + }, + "id":{ + "shape":"SubscriptionTargetId", + "documentation":"

      The identifier of the subscription target.

      " + }, + "manageAccessRole":{ + "shape":"String", + "documentation":"

      The manage access role specified in the subscription target.

      " + }, + "name":{ + "shape":"SubscriptionTargetName", + "documentation":"

      The name of the subscription target.

      " + }, + "projectId":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the project specified in the subscription target.

      " + }, + "provider":{ + "shape":"String", + "documentation":"

      The provider of the subscription target.

      " + }, + "subscriptionTargetConfig":{ + "shape":"SubscriptionTargetForms", + "documentation":"

      The configuration of the subscription target.

      " + }, + "type":{ + "shape":"String", + "documentation":"

      The type of the subscription target.

      " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

      The timestamp of when the subscription target was updated.

      " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

      The Amazon DataZone user who updated the subscription target.

      " + } + }, + "documentation":"

      The details of the subscription target.

      " + }, + "SubscriptionTargets":{ + "type":"list", + "member":{"shape":"SubscriptionTargetSummary"} + }, + "Subscriptions":{ + "type":"list", + "member":{"shape":"SubscriptionSummary"} + }, + "SyntheticTimestamp_date_time":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[\\w \\.:/=+@-]+$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"

      The ARN of the resource to be tagged in Amazon DataZone.

      ", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{ + "shape":"Tags", + "documentation":"

      Specifies the tags for the TagResource action.

      " + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"^[\\w \\.:/=+@-]*$" + }, + "Tags":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"} + }, + "TaskId":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_-]{1,36}$" + }, + "TaskStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "INACTIVE" + ] + }, + "TermRelations":{ + "type":"structure", + "members":{ + "classifies":{ + "shape":"TermRelationsClassifiesList", + "documentation":"

      The classifies of the term relations.

      " + }, + "isA":{ + "shape":"TermRelationsIsAList", + "documentation":"

      The isA property of the term relations.

      " + } + }, + "documentation":"

      The details of the term relations.

      " + }, + "TermRelationsClassifiesList":{ + "type":"list", + "member":{"shape":"GlossaryTermId"}, + "max":10, + "min":1 + }, + "TermRelationsIsAList":{ + "type":"list", + "member":{"shape":"GlossaryTermId"}, + "max":10, + "min":1 + }, + "ThrottlingException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

      The request was denied due to request throttling.

      ", + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true, + "retryable":{"throttling":false} + }, + "Timestamp":{"type":"timestamp"}, + "Timezone":{ + "type":"string", + "enum":[ + "UTC", + "AFRICA_JOHANNESBURG", + "AMERICA_MONTREAL", + "AMERICA_SAO_PAULO", + "ASIA_BAHRAIN", + "ASIA_BANGKOK", + "ASIA_CALCUTTA", + "ASIA_DUBAI", + "ASIA_HONG_KONG", + "ASIA_JAKARTA", + "ASIA_KUALA_LUMPUR", + "ASIA_SEOUL", + "ASIA_SHANGHAI", + "ASIA_SINGAPORE", + "ASIA_TAIPEI", + "ASIA_TOKYO", + "AUSTRALIA_MELBOURNE", + "AUSTRALIA_SYDNEY", + "CANADA_CENTRAL", + "CET", + "CST6CDT", + "ETC_GMT", + "ETC_GMT0", + "ETC_GMT_ADD_0", + "ETC_GMT_ADD_1", + "ETC_GMT_ADD_10", + "ETC_GMT_ADD_11", + "ETC_GMT_ADD_12", + "ETC_GMT_ADD_2", + "ETC_GMT_ADD_3", + "ETC_GMT_ADD_4", + "ETC_GMT_ADD_5", + "ETC_GMT_ADD_6", + "ETC_GMT_ADD_7", + "ETC_GMT_ADD_8", + "ETC_GMT_ADD_9", + "ETC_GMT_NEG_0", + "ETC_GMT_NEG_1", + "ETC_GMT_NEG_10", + "ETC_GMT_NEG_11", + "ETC_GMT_NEG_12", + "ETC_GMT_NEG_13", + "ETC_GMT_NEG_14", + "ETC_GMT_NEG_2", + "ETC_GMT_NEG_3", + "ETC_GMT_NEG_4", + "ETC_GMT_NEG_5", + "ETC_GMT_NEG_6", + "ETC_GMT_NEG_7", + "ETC_GMT_NEG_8", + "ETC_GMT_NEG_9", + "EUROPE_DUBLIN", + "EUROPE_LONDON", + "EUROPE_PARIS", + "EUROPE_STOCKHOLM", + "EUROPE_ZURICH", + "ISRAEL", + "MEXICO_GENERAL", + "MST7MDT", + "PACIFIC_AUCKLAND", + "US_CENTRAL", + "US_EASTERN", + "US_MOUNTAIN", + "US_PACIFIC" + ] + }, + "Title":{ + "type":"string", + "max":1000, + "min":0, + "sensitive":true + }, + "Topic":{ + "type":"structure", + "required":[ + "resource", + "role", + "subject" + ], + "members":{ + "resource":{"shape":"NotificationResource"}, + "role":{ + "shape":"NotificationRole", + "documentation":"

      The role of the resource mentioned in a notification.

      " + }, + "subject":{ + "shape":"String", + "documentation":"

      The subject of the resource mentioned in a notification.

      " + } + }, + "documentation":"

      The topic of the notification.

      " + }, + "TypeName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^[^\\.]*" + }, + "TypesSearchScope":{ + "type":"string", + "enum":[ + "ASSET_TYPE", + "FORM_TYPE" + ] + }, + "UnauthorizedException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

      You do not have permission to perform this action.

      ", + "error":{ + "httpStatusCode":401, + "senderFault":true + }, + "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"

      The ARN of the resource to be untagged in Amazon DataZone.

      ", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

      Specifies the tag keys for the UntagResource action.

      ", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateDataSourceInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "assetFormsInput":{ + "shape":"FormInputList", + "documentation":"

      The asset forms to be updated as part of the UpdateDataSource action.

      " + }, + "configuration":{ + "shape":"DataSourceConfigurationInput", + "documentation":"

      The configuration to be updated as part of the UpdateDataSource action.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The description to be updated as part of the UpdateDataSource action.

      " + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the domain in which to update a data source.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "enableSetting":{ + "shape":"EnableSetting", + "documentation":"

      The enable setting to be updated as part of the UpdateDataSource action.

      " + }, + "identifier":{ + "shape":"DataSourceId", + "documentation":"

      The identifier of the data source to be updated.

      ", + "location":"uri", + "locationName":"identifier" + }, + "name":{ + "shape":"Name", + "documentation":"

      The name to be updated as part of the UpdateDataSource action.

      " + }, + "publishOnImport":{ + "shape":"Boolean", + "documentation":"

      The publish on import setting to be updated as part of the UpdateDataSource action.

      " + }, + "recommendation":{ + "shape":"RecommendationConfiguration", + "documentation":"

      The recommendation to be updated as part of the UpdateDataSource action.

      " + }, + "schedule":{ + "shape":"ScheduleConfiguration", + "documentation":"

      The schedule to be updated as part of the UpdateDataSource action.

      " + } + } + }, + "UpdateDataSourceOutput":{ + "type":"structure", + "required":[ + "domainId", + "environmentId", + "id", + "name", + "projectId" + ], + "members":{ + "assetFormsOutput":{ + "shape":"FormOutputList", + "documentation":"

      The asset forms to be updated as part of the UpdateDataSource action.

      " + }, + "configuration":{ + "shape":"DataSourceConfigurationOutput", + "documentation":"

      The configuration to be updated as part of the UpdateDataSource action.

      " + }, + "createdAt":{ + "shape":"DateTime", + "documentation":"

      The timestamp of when the data source was updated.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The description to be updated as part of the UpdateDataSource action.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which a data source is to be updated.

      " + }, + "enableSetting":{ + "shape":"EnableSetting", + "documentation":"

      The enable setting to be updated as part of the UpdateDataSource action.

      " + }, + "environmentId":{ + "shape":"EnvironmentId", + "documentation":"

      The identifier of the environment in which a data source is to be updated.

      " + }, + "errorMessage":{ + "shape":"DataSourceErrorMessage", + "documentation":"

      Specifies the error message that is returned if the operation cannot be successfully completed.

      " + }, + "id":{ + "shape":"DataSourceId", + "documentation":"

      The identifier of the data source to be updated.

      " + }, + "lastRunAt":{ + "shape":"DateTime", + "documentation":"

      The timestamp of when the data source was last run.

      " + }, + "lastRunErrorMessage":{ + "shape":"DataSourceErrorMessage", + "documentation":"

      The last run error message of the data source.

      " + }, + "lastRunStatus":{ + "shape":"DataSourceRunStatus", + "documentation":"

      The last run status of the data source.

      " + }, + "name":{ + "shape":"Name", + "documentation":"

      The name to be updated as part of the UpdateDataSource action.

      " + }, + "projectId":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the project where data source is to be updated.

      " + }, + "publishOnImport":{ + "shape":"Boolean", + "documentation":"

      The publish on import setting to be updated as part of the UpdateDataSource action.

      " + }, + "recommendation":{ + "shape":"RecommendationConfiguration", + "documentation":"

      The recommendation to be updated as part of the UpdateDataSource action.

      " + }, + "schedule":{ + "shape":"ScheduleConfiguration", + "documentation":"

      The schedule to be updated as part of the UpdateDataSource action.

      " + }, + "status":{ + "shape":"DataSourceStatus", + "documentation":"

      The status to be updated as part of the UpdateDataSource action.

      " + }, + "type":{ + "shape":"DataSourceType", + "documentation":"

      The type to be updated as part of the UpdateDataSource action.

      " + }, + "updatedAt":{ + "shape":"DateTime", + "documentation":"

      The timestamp of when the data source was updated.

      " + } + } + }, + "UpdateDomainInput":{ + "type":"structure", + "required":["identifier"], + "members":{ + "clientToken":{ + "shape":"String", + "documentation":"

      A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.

      ", + "idempotencyToken":true, + "location":"querystring", + "locationName":"clientToken" + }, + "description":{ + "shape":"String", + "documentation":"

      The description to be updated as part of the UpdateDomain action.

      " + }, + "domainExecutionRole":{ + "shape":"RoleArn", + "documentation":"

      The domain execution role to be updated as part of the UpdateDomain action.

      " + }, + "identifier":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon Web Services domain that is to be updated.

      ", + "location":"uri", + "locationName":"identifier" + }, + "name":{ + "shape":"String", + "documentation":"

      The name to be updated as part of the UpdateDomain action.

      " + }, + "singleSignOn":{ + "shape":"SingleSignOn", + "documentation":"

      The single sign-on option to be updated as part of the UpdateDomain action.

      " + } + } + }, + "UpdateDomainOutput":{ + "type":"structure", + "required":["id"], + "members":{ + "description":{ + "shape":"String", + "documentation":"

      The description to be updated as part of the UpdateDomain action.

      " + }, + "domainExecutionRole":{ + "shape":"RoleArn", + "documentation":"

      The domain execution role to be updated as part of the UpdateDomain action.

      " + }, + "id":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain.

      " + }, + "lastUpdatedAt":{ + "shape":"UpdatedAt", + "documentation":"

      Specifies the timestamp of when the domain was last updated.

      " + }, + "name":{ + "shape":"String", + "documentation":"

      The name to be updated as part of the UpdateDomain action.

      " + }, + "singleSignOn":{ + "shape":"SingleSignOn", + "documentation":"

      The single sign-on option of the Amazon DataZone domain.

      " + } + } + }, + "UpdateEnvironmentInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "description":{ + "shape":"String", + "documentation":"

      The description to be updated as part of the UpdateEnvironment action.

      " + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the domain in which the environment is to be updated.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "glossaryTerms":{ + "shape":"GlossaryTerms", + "documentation":"

      The glossary terms to be updated as part of the UpdateEnvironment action.

      " + }, + "identifier":{ + "shape":"EnvironmentId", + "documentation":"

      The identifier of the environment that is to be updated.

      ", + "location":"uri", + "locationName":"identifier" + }, + "name":{ + "shape":"String", + "documentation":"

      The name to be updated as part of the UpdateEnvironment action.

      " + } + } + }, + "UpdateEnvironmentOutput":{ + "type":"structure", + "required":[ + "createdBy", + "domainId", + "environmentProfileId", + "name", + "projectId", + "provider" + ], + "members":{ + "awsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

      The identifier of the Amazon Web Services account in which the environment is to be updated.

      " + }, + "awsAccountRegion":{ + "shape":"AwsRegion", + "documentation":"

      The Amazon Web Services Region in which the environment is updated.

      " + }, + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when the environment was created.

      " + }, + "createdBy":{ + "shape":"String", + "documentation":"

      The Amazon DataZone user who created the environment.

      " + }, + "deploymentProperties":{ + "shape":"DeploymentProperties", + "documentation":"

      The deployment properties to be updated as part of the UpdateEnvironment action.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The description to be updated as part of the UpdateEnvironment action.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the domain in which the environment is to be updated.

      " + }, + "environmentActions":{ + "shape":"EnvironmentActionList", + "documentation":"

      The environment actions to be updated as part of the UpdateEnvironment action.

      " + }, + "environmentBlueprintId":{ + "shape":"EnvironmentBlueprintId", + "documentation":"

      The blueprint identifier of the environment.

      " + }, + "environmentProfileId":{ + "shape":"EnvironmentProfileId", + "documentation":"

      The profile identifier of the environment.

      " + }, + "glossaryTerms":{ + "shape":"GlossaryTerms", + "documentation":"

      The glossary terms to be updated as part of the UpdateEnvironment action.

      " + }, + "id":{ + "shape":"EnvironmentId", + "documentation":"

      The identifier of the environment that is to be updated.

      " + }, + "lastDeployment":{ + "shape":"Deployment", + "documentation":"

      The last deployment of the environment.

      " + }, + "name":{ + "shape":"EnvironmentName", + "documentation":"

      The name to be updated as part of the UpdateEnvironment action.

      " + }, + "projectId":{ + "shape":"ProjectId", + "documentation":"

      The project identifier of the environment.

      " + }, + "provider":{ + "shape":"String", + "documentation":"

      The provider identifier of the environment.

      " + }, + "provisionedResources":{ + "shape":"ResourceList", + "documentation":"

      The provisioned resources to be updated as part of the UpdateEnvironment action.

      " + }, + "provisioningProperties":{ + "shape":"ProvisioningProperties", + "documentation":"

      The provisioning properties to be updated as part of the UpdateEnvironment action.

      " + }, + "status":{ + "shape":"EnvironmentStatus", + "documentation":"

      The status to be updated as part of the UpdateEnvironment action.

      " + }, + "updatedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when the environment was updated.

      " + }, + "userParameters":{ + "shape":"CustomParameterList", + "documentation":"

      The user parameters to be updated as part of the UpdateEnvironment action.

      " + } + } + }, + "UpdateEnvironmentProfileInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "awsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

      The Amazon Web Services account in which a specified environment profile is to be udpated.

      " + }, + "awsAccountRegion":{ + "shape":"AwsRegion", + "documentation":"

      The Amazon Web Services Region in which a specified environment profile is to be updated.

      " + }, + "description":{ + "shape":"String", + "documentation":"

      The description to be updated as part of the UpdateEnvironmentProfile action.

      " + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which an environment profile is to be updated.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"EnvironmentProfileId", + "documentation":"

      The identifier of the environment profile that is to be updated.

      ", + "location":"uri", + "locationName":"identifier" + }, + "name":{ + "shape":"EnvironmentProfileName", + "documentation":"

      The name to be updated as part of the UpdateEnvironmentProfile action.

      " + }, + "userParameters":{ + "shape":"EnvironmentParametersList", + "documentation":"

      The user parameters to be updated as part of the UpdateEnvironmentProfile action.

      " + } + } + }, + "UpdateEnvironmentProfileOutput":{ + "type":"structure", + "required":[ + "createdBy", + "domainId", + "environmentBlueprintId", + "id", + "name" + ], + "members":{ + "awsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

      The Amazon Web Services account in which a specified environment profile is to be udpated.

      " + }, + "awsAccountRegion":{ + "shape":"AwsRegion", + "documentation":"

      The Amazon Web Services Region in which a specified environment profile is to be updated.

      " + }, + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when the environment profile was created.

      " + }, + "createdBy":{ + "shape":"String", + "documentation":"

      The Amazon DataZone user who created the environment profile.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The description to be updated as part of the UpdateEnvironmentProfile action.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which the environment profile is to be updated.

      " + }, + "environmentBlueprintId":{ + "shape":"EnvironmentBlueprintId", + "documentation":"

      The identifier of the blueprint of the environment profile that is to be updated.

      " + }, + "id":{ + "shape":"EnvironmentProfileId", + "documentation":"

      The identifier of the environment profile that is to be udpated.

      " + }, + "name":{ + "shape":"EnvironmentProfileName", + "documentation":"

      The name to be updated as part of the UpdateEnvironmentProfile action.

      " + }, + "projectId":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the project of the environment profile that is to be updated.

      " + }, + "updatedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when the environment profile was updated.

      " + }, + "userParameters":{ + "shape":"CustomParameterList", + "documentation":"

      The user parameters to be updated as part of the UpdateEnvironmentProfile action.

      " + } + } + }, + "UpdateGlossaryInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "clientToken":{ + "shape":"ClientToken", + "documentation":"

      A unique, case-sensitive identifier that is provided to ensure the idempotency of the request.

      ", + "idempotencyToken":true + }, + "description":{ + "shape":"GlossaryDescription", + "documentation":"

      The description to be updated as part of the UpdateGlossary action.

      " + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which a business glossary is to be updated.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"GlossaryId", + "documentation":"

      The identifier of the business glossary to be updated.

      ", + "location":"uri", + "locationName":"identifier" + }, + "name":{ + "shape":"GlossaryName", + "documentation":"

      The name to be updated as part of the UpdateGlossary action.

      " + }, + "status":{ + "shape":"GlossaryStatus", + "documentation":"

      The status to be updated as part of the UpdateGlossary action.

      " + } + } + }, + "UpdateGlossaryOutput":{ + "type":"structure", + "required":[ + "domainId", + "id", + "name", + "owningProjectId" + ], + "members":{ + "description":{ + "shape":"GlossaryDescription", + "documentation":"

      The description to be updated as part of the UpdateGlossary action.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which a business glossary is to be updated.

      " + }, + "id":{ + "shape":"GlossaryId", + "documentation":"

      The identifier of the business glossary that is to be updated.

      " + }, + "name":{ + "shape":"GlossaryName", + "documentation":"

      The name to be updated as part of the UpdateGlossary action.

      " + }, + "owningProjectId":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the project in which to update a business glossary.

      " + }, + "status":{ + "shape":"GlossaryStatus", + "documentation":"

      The status to be updated as part of the UpdateGlossary action.

      " + } + } + }, + "UpdateGlossaryTermInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which a business glossary term is to be updated.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "glossaryIdentifier":{ + "shape":"GlossaryTermId", + "documentation":"

      The identifier of the business glossary in which a term is to be updated.

      " + }, + "identifier":{ + "shape":"GlossaryTermId", + "documentation":"

      The identifier of the business glossary term that is to be updated.

      ", + "location":"uri", + "locationName":"identifier" + }, + "longDescription":{ + "shape":"LongDescription", + "documentation":"

      The long description to be updated as part of the UpdateGlossaryTerm action.

      " + }, + "name":{ + "shape":"GlossaryTermName", + "documentation":"

      The name to be updated as part of the UpdateGlossaryTerm action.

      " + }, + "shortDescription":{ + "shape":"ShortDescription", + "documentation":"

      The short description to be updated as part of the UpdateGlossaryTerm action.

      " + }, + "status":{ + "shape":"GlossaryTermStatus", + "documentation":"

      The status to be updated as part of the UpdateGlossaryTerm action.

      " + }, + "termRelations":{ + "shape":"TermRelations", + "documentation":"

      The term relations to be updated as part of the UpdateGlossaryTerm action.

      " + } + } + }, + "UpdateGlossaryTermOutput":{ + "type":"structure", + "required":[ + "domainId", + "glossaryId", + "id", + "name", + "status" + ], + "members":{ + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which a business glossary term is to be updated.

      " + }, + "glossaryId":{ + "shape":"GlossaryId", + "documentation":"

      The identifier of the business glossary in which a term is to be updated.

      " + }, + "id":{ + "shape":"GlossaryTermId", + "documentation":"

      The identifier of the business glossary term that is to be updated.

      " + }, + "longDescription":{ + "shape":"LongDescription", + "documentation":"

      The long description to be updated as part of the UpdateGlossaryTerm action.

      " + }, + "name":{ + "shape":"GlossaryTermName", + "documentation":"

      The name to be updated as part of the UpdateGlossaryTerm action.

      " + }, + "shortDescription":{ + "shape":"ShortDescription", + "documentation":"

      The short description to be updated as part of the UpdateGlossaryTerm action.

      " + }, + "status":{ + "shape":"GlossaryTermStatus", + "documentation":"

      The status to be updated as part of the UpdateGlossaryTerm action.

      " + }, + "termRelations":{ + "shape":"TermRelations", + "documentation":"

      The term relations to be updated as part of the UpdateGlossaryTerm action.

      " + } + } + }, + "UpdateGroupProfileInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "groupIdentifier", + "status" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which a group profile is updated.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "groupIdentifier":{ + "shape":"GroupIdentifier", + "documentation":"

      The identifier of the group profile that is updated.

      ", + "location":"uri", + "locationName":"groupIdentifier" + }, + "status":{ + "shape":"GroupProfileStatus", + "documentation":"

      The status of the group profile that is updated.

      " + } + } + }, + "UpdateGroupProfileOutput":{ + "type":"structure", + "members":{ + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which a group profile is updated.

      " + }, + "groupName":{ + "shape":"GroupProfileName", + "documentation":"

      The name of the group profile that is updated.

      " + }, + "id":{ + "shape":"GroupProfileId", + "documentation":"

      The identifier of the group profile that is updated.

      " + }, + "status":{ + "shape":"GroupProfileStatus", + "documentation":"

      The status of the group profile that is updated.

      " + } + } + }, + "UpdateProjectInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier" + ], + "members":{ + "description":{ + "shape":"Description", + "documentation":"

      The description to be updated as part of the UpdateProject action.

      " + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which a project is to be updated.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "glossaryTerms":{ + "shape":"GlossaryTerms", + "documentation":"

      The glossary terms to be updated as part of the UpdateProject action.

      " + }, + "identifier":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the project that is to be updated.

      ", + "location":"uri", + "locationName":"identifier" + }, + "name":{ + "shape":"ProjectName", + "documentation":"

      The name to be updated as part of the UpdateProject action.

      " + } + } + }, + "UpdateProjectOutput":{ + "type":"structure", + "required":[ + "createdBy", + "domainId", + "id", + "name" + ], + "members":{ + "createdAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when the project was created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created the project.

      " + }, + "description":{ + "shape":"Description", + "documentation":"

      The description of the project that is to be updated.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which a project is updated.

      " + }, + "glossaryTerms":{ + "shape":"GlossaryTerms", + "documentation":"

      The glossary terms of the project that are to be updated.

      " + }, + "id":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the project that is to be updated.

      " + }, + "lastUpdatedAt":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"

      The timestamp of when the project was last updated.

      " + }, + "name":{ + "shape":"ProjectName", + "documentation":"

      The name of the project that is to be updated.

      " + } + } + }, + "UpdateSubscriptionGrantStatusInput":{ + "type":"structure", + "required":[ + "assetIdentifier", + "domainIdentifier", + "identifier", + "status" + ], + "members":{ + "assetIdentifier":{ + "shape":"AssetId", + "documentation":"

      The identifier of the asset the subscription grant status of which is to be updated.

      ", + "location":"uri", + "locationName":"assetIdentifier" + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which a subscription grant status is to be updated.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "failureCause":{ + "shape":"FailureCause", + "documentation":"

      Specifies the error message that is returned if the operation cannot be successfully completed.

      " + }, + "identifier":{ + "shape":"SubscriptionGrantId", + "documentation":"

      The identifier of the subscription grant the status of which is to be updated.

      ", + "location":"uri", + "locationName":"identifier" + }, + "status":{ + "shape":"SubscriptionGrantStatus", + "documentation":"

      The status to be updated as part of the UpdateSubscriptionGrantStatus action.

      " + }, + "targetName":{ + "shape":"String", + "documentation":"

      The target name to be updated as part of the UpdateSubscriptionGrantStatus action.

      " + } + } + }, + "UpdateSubscriptionGrantStatusOutput":{ + "type":"structure", + "required":[ + "createdAt", + "createdBy", + "domainId", + "grantedEntity", + "id", + "status", + "subscriptionTargetId", + "updatedAt" + ], + "members":{ + "assets":{ + "shape":"SubscribedAssets", + "documentation":"

      " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when the subscription grant status was created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone domain user who created the subscription grant status.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which a subscription grant status is to be updated.

      " + }, + "grantedEntity":{ + "shape":"GrantedEntity", + "documentation":"

      The granted entity to be updated as part of the UpdateSubscriptionGrantStatus action.

      " + }, + "id":{ + "shape":"SubscriptionGrantId", + "documentation":"

      The identifier of the subscription grant.

      " + }, + "status":{ + "shape":"SubscriptionGrantOverallStatus", + "documentation":"

      The status to be updated as part of the UpdateSubscriptionGrantStatus action.

      " + }, + "subscriptionId":{ + "shape":"SubscriptionId", + "documentation":"

      The identifier of the subscription.

      " + }, + "subscriptionTargetId":{ + "shape":"SubscriptionTargetId", + "documentation":"

      The identifier of the subscription target whose subscription grant status is to be updated.

      " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

      The timestamp of when the subscription grant status is to be updated.

      " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

      The Amazon DataZone user who updated the subscription grant status.

      " + } + } + }, + "UpdateSubscriptionRequestInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "identifier", + "requestReason" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which a subscription request is to be updated.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "identifier":{ + "shape":"SubscriptionRequestId", + "documentation":"

      The identifier of the subscription request that is to be updated.

      ", + "location":"uri", + "locationName":"identifier" + }, + "requestReason":{ + "shape":"RequestReason", + "documentation":"

      The reason for the UpdateSubscriptionRequest action.

      " + } + } + }, + "UpdateSubscriptionRequestOutput":{ + "type":"structure", + "required":[ + "createdAt", + "createdBy", + "domainId", + "id", + "requestReason", + "status", + "subscribedListings", + "subscribedPrincipals", + "updatedAt" + ], + "members":{ + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when the subscription request was created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created the subscription request.

      " + }, + "decisionComment":{ + "shape":"DecisionComment", + "documentation":"

      The decision comment of the UpdateSubscriptionRequest action.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which a subscription request is to be updated.

      " + }, + "id":{ + "shape":"SubscriptionRequestId", + "documentation":"

      The identifier of the subscription request that is to be updated.

      " + }, + "requestReason":{ + "shape":"RequestReason", + "documentation":"

      The reason for the UpdateSubscriptionRequest action.

      " + }, + "reviewerId":{ + "shape":"String", + "documentation":"

      The identifier of the Amazon DataZone user who reviews the subscription request.

      " + }, + "status":{ + "shape":"SubscriptionRequestStatus", + "documentation":"

      The status of the subscription request.

      " + }, + "subscribedListings":{ + "shape":"UpdateSubscriptionRequestOutputSubscribedListingsList", + "documentation":"

      The subscribed listings of the subscription request.

      " + }, + "subscribedPrincipals":{ + "shape":"UpdateSubscriptionRequestOutputSubscribedPrincipalsList", + "documentation":"

      The subscribed principals of the subscription request.

      " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

      The timestamp of when the subscription request was updated.

      " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

      The Amazon DataZone user who updated the subscription request.

      " + } + } + }, + "UpdateSubscriptionRequestOutputSubscribedListingsList":{ + "type":"list", + "member":{"shape":"SubscribedListing"}, + "max":1, + "min":1 + }, + "UpdateSubscriptionRequestOutputSubscribedPrincipalsList":{ + "type":"list", + "member":{"shape":"SubscribedPrincipal"}, + "max":1, + "min":1 + }, + "UpdateSubscriptionTargetInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "environmentIdentifier", + "identifier" + ], + "members":{ + "applicableAssetTypes":{ + "shape":"ApplicableAssetTypes", + "documentation":"

      The applicable asset types to be updated as part of the UpdateSubscriptionTarget action.

      " + }, + "authorizedPrincipals":{ + "shape":"AuthorizedPrincipalIdentifiers", + "documentation":"

      The authorized principals to be updated as part of the UpdateSubscriptionTarget action.

      " + }, + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which a subscription target is to be updated.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "environmentIdentifier":{ + "shape":"EnvironmentId", + "documentation":"

      The identifier of the environment in which a subscription target is to be updated.

      ", + "location":"uri", + "locationName":"environmentIdentifier" + }, + "identifier":{ + "shape":"SubscriptionTargetId", + "documentation":"

      Identifier of the subscription target that is to be updated.

      ", + "location":"uri", + "locationName":"identifier" + }, + "manageAccessRole":{ + "shape":"String", + "documentation":"

      The manage access role to be updated as part of the UpdateSubscriptionTarget action.

      " + }, + "name":{ + "shape":"SubscriptionTargetName", + "documentation":"

      The name to be updated as part of the UpdateSubscriptionTarget action.

      " + }, + "provider":{ + "shape":"String", + "documentation":"

      The provider to be updated as part of the UpdateSubscriptionTarget action.

      " + }, + "subscriptionTargetConfig":{ + "shape":"SubscriptionTargetForms", + "documentation":"

      The configuration to be updated as part of the UpdateSubscriptionTarget action.

      " + } + } + }, + "UpdateSubscriptionTargetOutput":{ + "type":"structure", + "required":[ + "applicableAssetTypes", + "authorizedPrincipals", + "createdAt", + "createdBy", + "domainId", + "environmentId", + "id", + "manageAccessRole", + "name", + "projectId", + "provider", + "subscriptionTargetConfig", + "type" + ], + "members":{ + "applicableAssetTypes":{ + "shape":"ApplicableAssetTypes", + "documentation":"

      The applicable asset types to be updated as part of the UpdateSubscriptionTarget action.

      " + }, + "authorizedPrincipals":{ + "shape":"AuthorizedPrincipalIdentifiers", + "documentation":"

      The authorized principals to be updated as part of the UpdateSubscriptionTarget action.

      " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

      The timestamp of when a subscription target was created.

      " + }, + "createdBy":{ + "shape":"CreatedBy", + "documentation":"

      The Amazon DataZone user who created the subscription target.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which a subscription target is to be updated.

      " + }, + "environmentId":{ + "shape":"EnvironmentId", + "documentation":"

      The identifier of the environment in which a subscription target is to be updated.

      " + }, + "id":{ + "shape":"SubscriptionTargetId", + "documentation":"

      Identifier of the subscription target that is to be updated.

      " + }, + "manageAccessRole":{ + "shape":"String", + "documentation":"

      The manage access role to be updated as part of the UpdateSubscriptionTarget action.

      " + }, + "name":{ + "shape":"SubscriptionTargetName", + "documentation":"

      The name to be updated as part of the UpdateSubscriptionTarget action.

      " + }, + "projectId":{ + "shape":"ProjectId", + "documentation":"

      The identifier of the project in which a subscription target is to be updated.

      " + }, + "provider":{ + "shape":"String", + "documentation":"

      The provider to be updated as part of the UpdateSubscriptionTarget action.

      " + }, + "subscriptionTargetConfig":{ + "shape":"SubscriptionTargetForms", + "documentation":"

      The configuration to be updated as part of the UpdateSubscriptionTarget action.

      " + }, + "type":{ + "shape":"String", + "documentation":"

      The type to be updated as part of the UpdateSubscriptionTarget action.

      " + }, + "updatedAt":{ + "shape":"UpdatedAt", + "documentation":"

      The timestamp of when the subscription target was updated.

      " + }, + "updatedBy":{ + "shape":"UpdatedBy", + "documentation":"

      The Amazon DataZone user who updated the subscription target.

      " + } + } + }, + "UpdateUserProfileInput":{ + "type":"structure", + "required":[ + "domainIdentifier", + "status", + "userIdentifier" + ], + "members":{ + "domainIdentifier":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which a user profile is updated.

      ", + "location":"uri", + "locationName":"domainIdentifier" + }, + "status":{ + "shape":"UserProfileStatus", + "documentation":"

      The status of the user profile that are to be updated.

      " + }, + "type":{ + "shape":"UserProfileType", + "documentation":"

      The type of the user profile that are to be updated.

      " + }, + "userIdentifier":{ + "shape":"UserIdentifier", + "documentation":"

      The identifier of the user whose user profile is to be updated.

      ", + "location":"uri", + "locationName":"userIdentifier" + } + } + }, + "UpdateUserProfileOutput":{ + "type":"structure", + "members":{ + "details":{"shape":"UserProfileDetails"}, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The identifier of the Amazon DataZone domain in which a user profile is updated.

      " + }, + "id":{ + "shape":"UserProfileId", + "documentation":"

      The identifier of the user profile.

      " + }, + "status":{ + "shape":"UserProfileStatus", + "documentation":"

      The status of the user profile.

      " + }, + "type":{ + "shape":"UserProfileType", + "documentation":"

      The type of the user profile.

      " + } + } + }, + "UpdatedAt":{"type":"timestamp"}, + "UpdatedBy":{"type":"string"}, + "UserAssignment":{ + "type":"string", + "enum":[ + "AUTOMATIC", + "MANUAL" + ] + }, + "UserDesignation":{ + "type":"string", + "enum":[ + "PROJECT_OWNER", + "PROJECT_CONTRIBUTOR" + ] + }, + "UserDetails":{ + "type":"structure", + "required":["userId"], + "members":{ + "userId":{ + "shape":"String", + "documentation":"

      The identifier of the Amazon DataZone user.

      " + } + }, + "documentation":"

      The user details of a project member.

      " + }, + "UserIdentifier":{ + "type":"string", + "pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$|^[a-zA-Z_0-9+=,.@-]+$|^arn:aws:iam::\\d{12}:.+$)" + }, + "UserProfileDetails":{ + "type":"structure", + "members":{ + "iam":{ + "shape":"IamUserProfileDetails", + "documentation":"

      The IAM details included in the user profile details.

      " + }, + "sso":{ + "shape":"SsoUserProfileDetails", + "documentation":"

      The single sign-on details included in the user profile details.

      " + } + }, + "documentation":"

      The details of the user profile in Amazon DataZone.

      ", + "union":true + }, + "UserProfileId":{ + "type":"string", + "pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" + }, + "UserProfileName":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"^[a-zA-Z_0-9+=,.@-]+$", + "sensitive":true + }, + "UserProfileStatus":{ + "type":"string", + "enum":[ + "ASSIGNED", + "NOT_ASSIGNED", + "ACTIVATED", + "DEACTIVATED" + ] + }, + "UserProfileSummaries":{ + "type":"list", + "member":{"shape":"UserProfileSummary"} + }, + "UserProfileSummary":{ + "type":"structure", + "members":{ + "details":{ + "shape":"UserProfileDetails", + "documentation":"

      The details of the user profile.

      " + }, + "domainId":{ + "shape":"DomainId", + "documentation":"

      The ID of the Amazon DataZone domain of the user profile.

      " + }, + "id":{ + "shape":"UserProfileId", + "documentation":"

      The ID of the user profile.

      " + }, + "status":{ + "shape":"UserProfileStatus", + "documentation":"

      The status of the user profile.

      " + }, + "type":{ + "shape":"UserProfileType", + "documentation":"

      The type of the user profile.

      " + } + }, + "documentation":"

      The details of the user profile.

      " + }, + "UserProfileType":{ + "type":"string", + "enum":[ + "IAM", + "SSO" + ] + }, + "UserSearchText":{ + "type":"string", + "max":1024, + "min":0, + "sensitive":true + }, + "UserSearchType":{ + "type":"string", + "enum":[ + "SSO_USER", + "DATAZONE_USER", + "DATAZONE_SSO_USER", + "DATAZONE_IAM_USER" + ] + }, + "UserType":{ + "type":"string", + "enum":[ + "IAM_USER", + "IAM_ROLE", + "SSO_USER" + ] + }, + "ValidationException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

      The input fails to satisfy the constraints specified by the Amazon Web Services service.

      ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + } + }, + "documentation":"

      Amazon DataZone is a data management service that enables you to catalog, discover, govern, share, and analyze your data. With Amazon DataZone, you can share and access your data across accounts and supported regions. Amazon DataZone simplifies your experience across Amazon Web Services services, including, but not limited to, Amazon Redshift, Amazon Athena, Amazon Web Services Glue, and Amazon Web Services Lake Formation.

      " +} diff --git a/services/dax/pom.xml b/services/dax/pom.xml index bf6df4b627a7..e5e6bae9536a 100644 --- a/services/dax/pom.xml +++ b/services/dax/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT dax AWS Java SDK :: Services :: Amazon DynamoDB Accelerator (DAX) diff --git a/services/dax/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/dax/src/main/resources/codegen-resources/endpoint-rule-set.json index cfa238ac46c7..eee58e0360f4 100644 --- a/services/dax/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/dax/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://dax-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://dax-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://dax.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://dax.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://dax.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://dax.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/dax/src/main/resources/codegen-resources/endpoint-tests.json b/services/dax/src/main/resources/codegen-resources/endpoint-tests.json index 74ee5e0d7181..cbc775ec1402 100644 --- a/services/dax/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/dax/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,770 +1,211 @@ { "testCases": [ { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dax-fips.ap-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dax-fips.ap-south-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dax.ap-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dax.ap-south-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dax-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dax-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dax.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dax.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dax-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dax-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dax.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dax.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dax-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dax-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dax.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dax.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dax-fips.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dax-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dax.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dax.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dax-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dax-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dax.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dax.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dax-fips.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dax-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dax.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dax.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dax-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dax-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dax.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dax.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dax-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dax-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dax.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dax.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dax-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dax-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dax.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dax.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dax-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dax-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dax.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dax.ap-northeast-2.amazonaws.com" + "url": "https://dax.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dax-fips.ap-northeast-1.api.aws" + "url": "https://dax.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dax-fips.ap-northeast-1.amazonaws.com" + "url": "https://dax.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dax.ap-northeast-1.api.aws" + "url": "https://dax.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dax.ap-northeast-1.amazonaws.com" + "url": "https://dax.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dax-fips.me-south-1.api.aws" + "url": "https://dax.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": true + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dax-fips.me-south-1.amazonaws.com" + "url": "https://dax.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": true + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dax.me-south-1.api.aws" + "url": "https://dax.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": false + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dax.me-south-1.amazonaws.com" + "url": "https://dax.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": false + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dax-fips.sa-east-1.api.aws" + "url": "https://dax.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dax-fips.sa-east-1.amazonaws.com" + "url": "https://dax.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": true + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dax.sa-east-1.api.aws" + "url": "https://dax.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": false + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dax.sa-east-1.amazonaws.com" + "url": "https://dax.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://dax-fips.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://dax-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dax-fips.cn-north-1.amazonaws.com.cn" + "url": "https://dax-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://dax.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://dax.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -775,282 +216,235 @@ } }, "params": { - "UseDualStack": false, "Region": "cn-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dax-fips.ap-southeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://dax-fips.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://dax.ap-southeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dax.ap-southeast-1.amazonaws.com" + "url": "https://dax.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://dax-fips.ap-southeast-2.api.aws" + "url": "https://dax-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dax-fips.ap-southeast-2.amazonaws.com" + "url": "https://dax-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://dax.ap-southeast-2.api.aws" + "url": "https://dax.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://dax.ap-southeast-2.amazonaws.com" + "url": "https://dax-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dax-fips.us-east-1.api.aws" + "url": "https://dax-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://dax-fips.us-east-1.amazonaws.com" + "url": "https://dax.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dax.us-east-1.api.aws" + "url": "https://dax.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://dax.us-east-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dax-fips.us-east-2.api.aws" + "url": "https://dax-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://dax-fips.us-east-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dax.us-east-2.api.aws" + "url": "https://dax.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://dax.us-east-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dax-fips.cn-northwest-1.api.amazonwebservices.com.cn" + "url": "https://dax-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://dax-fips.cn-northwest-1.amazonaws.com.cn" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://dax.cn-northwest-1.api.amazonwebservices.com.cn" + "url": "https://dax.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://dax.cn-northwest-1.amazonaws.com.cn" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1060,9 +454,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1072,11 +466,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/detective/pom.xml b/services/detective/pom.xml index 214ca2e0b578..2c5c9a752321 100644 --- a/services/detective/pom.xml +++ b/services/detective/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT detective AWS Java SDK :: Services :: Detective diff --git a/services/devicefarm/pom.xml b/services/devicefarm/pom.xml index 3fb5535935e7..1ff089bd30aa 100644 --- a/services/devicefarm/pom.xml +++ b/services/devicefarm/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT devicefarm AWS Java SDK :: Services :: AWS Device Farm diff --git a/services/devicefarm/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/devicefarm/src/main/resources/codegen-resources/endpoint-rule-set.json index b3e3bbfeb8a9..56d866263fdf 100644 --- a/services/devicefarm/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/devicefarm/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://devicefarm-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://devicefarm-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://devicefarm.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://devicefarm.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://devicefarm.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://devicefarm.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/devicefarm/src/main/resources/codegen-resources/endpoint-tests.json b/services/devicefarm/src/main/resources/codegen-resources/endpoint-tests.json index a7c726a555bc..cb0a2a0bfbe1 100644 --- a/services/devicefarm/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/devicefarm/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,68 +1,294 @@ { "testCases": [ { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://devicefarm-fips.us-west-2.api.aws" + "url": "https://devicefarm.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, "Region": "us-west-2", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://devicefarm-fips.us-west-2.amazonaws.com" + "url": "https://devicefarm-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://devicefarm.us-west-2.api.aws" + "url": "https://devicefarm-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://devicefarm.us-west-2.amazonaws.com" + "url": "https://devicefarm.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devicefarm.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://devicefarm-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devicefarm-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://devicefarm.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devicefarm.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://devicefarm-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devicefarm-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://devicefarm.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devicefarm.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devicefarm-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devicefarm.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devicefarm-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devicefarm.us-isob-east-1.sc2s.sgov.gov" + } + }, + "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": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -72,9 +298,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -84,11 +310,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/devopsguru/pom.xml b/services/devopsguru/pom.xml index e007479520c7..4447a210215a 100644 --- a/services/devopsguru/pom.xml +++ b/services/devopsguru/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT devopsguru AWS Java SDK :: Services :: Dev Ops Guru diff --git a/services/devopsguru/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/devopsguru/src/main/resources/codegen-resources/endpoint-rule-set.json index d1ead35506cf..0f8c4ed21ea4 100644 --- a/services/devopsguru/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/devopsguru/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://devops-guru-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://devops-guru-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://devops-guru-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://devops-guru-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://devops-guru.{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://devops-guru.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://devops-guru.{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://devops-guru.{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/services/directconnect/pom.xml b/services/directconnect/pom.xml index 11eb28b1b0df..17663d83647c 100644 --- a/services/directconnect/pom.xml +++ b/services/directconnect/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT directconnect AWS Java SDK :: Services :: AWS Direct Connect diff --git a/services/directconnect/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/directconnect/src/main/resources/codegen-resources/endpoint-rule-set.json index 2a1bba421476..72a011aafac4 100644 --- a/services/directconnect/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/directconnect/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://directconnect-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://directconnect-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://directconnect-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://directconnect-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://directconnect.{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://directconnect.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://directconnect.{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://directconnect.{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/services/directory/pom.xml b/services/directory/pom.xml index 6abb375a0232..75aa5c4784ba 100644 --- a/services/directory/pom.xml +++ b/services/directory/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT directory AWS Java SDK :: Services :: AWS Directory Service diff --git a/services/directory/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/directory/src/main/resources/codegen-resources/endpoint-rule-set.json index 6775abd6efb4..b16b4072309e 100644 --- a/services/directory/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/directory/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://ds-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://ds-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://ds-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://ds-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://ds.{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://ds.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://ds.{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://ds.{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/services/dlm/pom.xml b/services/dlm/pom.xml index d6f2bbd08ded..d7e0591743da 100644 --- a/services/dlm/pom.xml +++ b/services/dlm/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT dlm AWS Java SDK :: Services :: DLM diff --git a/services/dlm/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/dlm/src/main/resources/codegen-resources/endpoint-rule-set.json index 7069e7a3bbb4..d234d5543e0f 100644 --- a/services/dlm/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/dlm/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,92 +140,83 @@ { "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://dlm-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://dlm-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 + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], @@ -221,155 +225,115 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, + "aws-us-gov", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] } ] } ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - "aws-us-gov", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://dlm.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://dlm-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] + "endpoint": { + "url": "https://dlm.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://dlm-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://dlm.{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://dlm.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://dlm.{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://dlm.{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/services/docdb/pom.xml b/services/docdb/pom.xml index 773e0b085353..77f43477bcb5 100644 --- a/services/docdb/pom.xml +++ b/services/docdb/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT docdb AWS Java SDK :: Services :: DocDB diff --git a/services/docdb/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/docdb/src/main/resources/codegen-resources/endpoint-rule-set.json index b9aff9f06c88..00bd15c36104 100644 --- a/services/docdb/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/docdb/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,92 +140,83 @@ { "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://rds-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://rds-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 + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], @@ -221,155 +225,115 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, + "aws-us-gov", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] } ] } ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - "aws-us-gov", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://rds.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://rds-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] + "endpoint": { + "url": "https://rds.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://rds-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://rds.{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://rds.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://rds.{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://rds.{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/services/docdbelastic/pom.xml b/services/docdbelastic/pom.xml index b1b5bb7b4008..1bef1a2f984d 100644 --- a/services/docdbelastic/pom.xml +++ b/services/docdbelastic/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT docdbelastic AWS Java SDK :: Services :: Doc DB Elastic diff --git a/services/docdbelastic/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/docdbelastic/src/main/resources/codegen-resources/endpoint-rule-set.json index 984fc53b2b1a..dc9f24641175 100644 --- a/services/docdbelastic/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/docdbelastic/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,23 +45,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -71,67 +67,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -140,168 +111,238 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + }, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] }, - "supportsDualStack" + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://docdb-elastic-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" } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://docdb-elastic-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://docdb-elastic-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://docdb-elastic-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://docdb-elastic.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://docdb-elastic.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://docdb-elastic.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } ] }, { "conditions": [], - "endpoint": { - "url": "https://docdb-elastic.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } diff --git a/services/docdbelastic/src/main/resources/codegen-resources/endpoint-tests.json b/services/docdbelastic/src/main/resources/codegen-resources/endpoint-tests.json index c56e45bd7b8e..3c397476522c 100644 --- a/services/docdbelastic/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/docdbelastic/src/main/resources/codegen-resources/endpoint-tests.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://docdb-elastic-fips.us-gov-east-1.api.aws" + "url": "https://docdb-elastic-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "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://docdb-elastic-fips.us-gov-east-1.amazonaws.com" + "url": "https://docdb-elastic-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "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://docdb-elastic.us-gov-east-1.api.aws" + "url": "https://docdb-elastic.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "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://docdb-elastic.us-gov-east-1.amazonaws.com" + "url": "https://docdb-elastic.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -60,9 +60,9 @@ } }, "params": { - "UseDualStack": true, "Region": "cn-north-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -73,9 +73,9 @@ } }, "params": { - "UseDualStack": false, "Region": "cn-north-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -86,9 +86,9 @@ } }, "params": { - "UseDualStack": true, "Region": "cn-north-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -99,109 +99,109 @@ } }, "params": { - "UseDualStack": false, "Region": "cn-north-1", - "UseFIPS": false + "UseFIPS": false, + "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://docdb-elastic-fips.us-gov-east-1.api.aws" + } }, "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "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://docdb-elastic-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://docdb-elastic-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "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://docdb-elastic.us-gov-east-1.api.aws" + } }, "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "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://docdb-elastic.us-iso-east-1.c2s.ic.gov" + "url": "https://docdb-elastic.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "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://docdb-elastic-fips.us-east-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "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://docdb-elastic-fips.us-east-1.amazonaws.com" + "url": "https://docdb-elastic-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "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://docdb-elastic.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "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://docdb-elastic.us-east-1.amazonaws.com" + "url": "https://docdb-elastic.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -210,9 +210,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -223,9 +223,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -234,9 +234,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -247,22 +247,35 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -272,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -284,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/drs/pom.xml b/services/drs/pom.xml index 7677e44e8bcd..f50b2c5948ac 100644 --- a/services/drs/pom.xml +++ b/services/drs/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT drs AWS Java SDK :: Services :: Drs diff --git a/services/drs/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/drs/src/main/resources/codegen-resources/endpoint-rule-set.json index 2d8239a87a96..28091fefceda 100644 --- a/services/drs/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/drs/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://drs-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://drs-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://drs-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://drs-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://drs.{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://drs.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://drs.{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://drs.{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/services/drs/src/main/resources/codegen-resources/paginators-1.json b/services/drs/src/main/resources/codegen-resources/paginators-1.json index bf7f0e978df8..5a7deb487d88 100644 --- a/services/drs/src/main/resources/codegen-resources/paginators-1.json +++ b/services/drs/src/main/resources/codegen-resources/paginators-1.json @@ -54,6 +54,12 @@ "limit_key": "maxResults", "result_key": "items" }, + "ListLaunchActions": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + }, "ListStagingAccounts": { "input_token": "nextToken", "output_token": "nextToken", diff --git a/services/drs/src/main/resources/codegen-resources/service-2.json b/services/drs/src/main/resources/codegen-resources/service-2.json index 8da10f76c5cd..44f322ef0441 100644 --- a/services/drs/src/main/resources/codegen-resources/service-2.json +++ b/services/drs/src/main/resources/codegen-resources/service-2.json @@ -130,6 +130,24 @@ "documentation":"

      Deletes a single Job by ID.

      ", "idempotent":true }, + "DeleteLaunchAction":{ + "name":"DeleteLaunchAction", + "http":{ + "method":"POST", + "requestUri":"/DeleteLaunchAction", + "responseCode":204 + }, + "input":{"shape":"DeleteLaunchActionRequest"}, + "output":{"shape":"DeleteLaunchActionResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UninitializedAccountException"} + ], + "documentation":"

      Deletes a resource launch action.

      " + }, "DeleteLaunchConfigurationTemplate":{ "name":"DeleteLaunchConfigurationTemplate", "http":{ @@ -504,6 +522,24 @@ ], "documentation":"

      Returns a list of source servers on a staging account that are extensible, which means that: a. The source server is not already extended into this Account. b. The source server on the Account we’re reading from is not an extension of another source server.

      " }, + "ListLaunchActions":{ + "name":"ListLaunchActions", + "http":{ + "method":"POST", + "requestUri":"/ListLaunchActions", + "responseCode":200 + }, + "input":{"shape":"ListLaunchActionsRequest"}, + "output":{"shape":"ListLaunchActionsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"UninitializedAccountException"} + ], + "documentation":"

      Lists resource launch actions.

      " + }, "ListStagingAccounts":{ "name":"ListStagingAccounts", "http":{ @@ -540,6 +576,25 @@ ], "documentation":"

      List all tags for your Elastic Disaster Recovery resources.

      " }, + "PutLaunchAction":{ + "name":"PutLaunchAction", + "http":{ + "method":"POST", + "requestUri":"/PutLaunchAction", + "responseCode":200 + }, + "input":{"shape":"PutLaunchActionRequest"}, + "output":{"shape":"PutLaunchActionResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"UninitializedAccountException"} + ], + "documentation":"

      Puts a resource launch action.

      " + }, "RetryDataReplication":{ "name":"RetryDataReplication", "http":{ @@ -954,13 +1009,13 @@ "type":"string", "max":255, "min":0, - "pattern":"^(us(-gov)?|ap|ca|cn|eu|sa|af|me)-(central|north|(north(?:east|west))|south|south(?:east|west)|east|west)-[0-9][a-z]$" + "pattern":"^(us(-gov)?|ap|ca|cn|eu|sa|af|me|il)-(central|north|(north(?:east|west))|south|south(?:east|west)|east|west)-[0-9][a-z]$" }, "AwsRegion":{ "type":"string", "max":255, "min":0, - "pattern":"^(us(-gov)?|ap|ca|cn|eu|sa|af|me)-(central|north|(north(?:east|west))|south|south(?:east|west)|east|west)-[0-9]$" + "pattern":"^(us(-gov)?|ap|ca|cn|eu|sa|af|me|il)-(central|north|(north(?:east|west))|south|south(?:east|west)|east|west)-[0-9]$" }, "Boolean":{ "type":"boolean", @@ -1096,6 +1151,10 @@ "shape":"Licensing", "documentation":"

      Licensing.

      " }, + "postLaunchEnabled":{ + "shape":"Boolean", + "documentation":"

      Whether we want to activate post-launch actions.

      " + }, "tags":{ "shape":"TagsMap", "documentation":"

      Request to associate tags during creation of a Launch Configuration Template.

      " @@ -1420,6 +1479,22 @@ "members":{ } }, + "DeleteLaunchActionRequest":{ + "type":"structure", + "required":[ + "actionId", + "resourceId" + ], + "members":{ + "actionId":{"shape":"LaunchActionId"}, + "resourceId":{"shape":"LaunchActionResourceId"} + } + }, + "DeleteLaunchActionResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteLaunchConfigurationTemplateRequest":{ "type":"structure", "required":["launchConfigurationTemplateID"], @@ -2004,6 +2079,12 @@ "FAILBACK_LAUNCH_STATE_NOT_AVAILABLE" ] }, + "FailureReason":{ + "type":"string", + "max":256, + "min":0, + "pattern":"^[0-9a-zA-Z ():/.,'-_#*;]*$" + }, "GetFailbackReplicationConfigurationRequest":{ "type":"structure", "required":["recoveryInstanceID"], @@ -2312,6 +2393,209 @@ "DRILL" ] }, + "LaunchAction":{ + "type":"structure", + "members":{ + "actionCode":{ + "shape":"SsmDocumentName", + "documentation":"

      Launch action code.

      " + }, + "actionId":{"shape":"LaunchActionId"}, + "actionVersion":{"shape":"LaunchActionVersion"}, + "active":{ + "shape":"Boolean", + "documentation":"

      Whether the launch action is active.

      " + }, + "category":{"shape":"LaunchActionCategory"}, + "description":{"shape":"LaunchActionDescription"}, + "name":{"shape":"LaunchActionName"}, + "optional":{ + "shape":"Boolean", + "documentation":"

      Whether the launch will not be marked as failed if this action fails.

      " + }, + "order":{"shape":"LaunchActionOrder"}, + "parameters":{"shape":"LaunchActionParameters"}, + "type":{ + "shape":"LaunchActionType", + "documentation":"

      Launch action type.

      " + } + }, + "documentation":"

      Launch action.

      " + }, + "LaunchActionCategory":{ + "type":"string", + "documentation":"

      Launch action category.

      ", + "enum":[ + "MONITORING", + "VALIDATION", + "CONFIGURATION", + "SECURITY", + "OTHER" + ] + }, + "LaunchActionDescription":{ + "type":"string", + "documentation":"

      Launch action description.

      ", + "max":1024, + "min":0, + "pattern":"^[0-9a-zA-Z ():/.,'-_#*; ]*$" + }, + "LaunchActionId":{ + "type":"string", + "documentation":"

      Launch action Id.

      ", + "max":64, + "min":1, + "pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" + }, + "LaunchActionIds":{ + "type":"list", + "member":{"shape":"LaunchActionId"}, + "max":100, + "min":0 + }, + "LaunchActionName":{ + "type":"string", + "documentation":"

      Launch action name.

      ", + "max":256, + "min":1, + "pattern":"^[A-Za-z0-9][A-Za-z0-9 /_-]*$" + }, + "LaunchActionOrder":{ + "type":"integer", + "documentation":"

      Launch action order.

      ", + "max":10000, + "min":2 + }, + "LaunchActionParameter":{ + "type":"structure", + "members":{ + "type":{ + "shape":"LaunchActionParameterType", + "documentation":"

      Type.

      " + }, + "value":{ + "shape":"LaunchActionParameterValue", + "documentation":"

      Value.

      " + } + }, + "documentation":"

      Launch action parameter.

      " + }, + "LaunchActionParameterName":{ + "type":"string", + "max":1011, + "min":1, + "pattern":"^([A-Za-z0-9])+$" + }, + "LaunchActionParameterType":{ + "type":"string", + "enum":[ + "SSM_STORE", + "DYNAMIC" + ] + }, + "LaunchActionParameterValue":{ + "type":"string", + "max":1011, + "min":1, + "pattern":"^[A-Za-z0-9.-]+$" + }, + "LaunchActionParameters":{ + "type":"map", + "key":{"shape":"LaunchActionParameterName"}, + "value":{"shape":"LaunchActionParameter"}, + "documentation":"

      Launch action parameters.

      ", + "max":20, + "min":0 + }, + "LaunchActionResourceId":{ + "type":"string", + "documentation":"

      Launch configuration template Id or Source Server Id

      ", + "pattern":"^(s-[0-9a-zA-Z]{17}$|lct-[0-9a-zA-Z]{17})$" + }, + "LaunchActionRun":{ + "type":"structure", + "members":{ + "action":{ + "shape":"LaunchAction", + "documentation":"

      Action.

      " + }, + "failureReason":{ + "shape":"FailureReason", + "documentation":"

      Failure reason.

      " + }, + "runId":{ + "shape":"LaunchActionRunId", + "documentation":"

      Run Id.

      " + }, + "status":{ + "shape":"LaunchActionRunStatus", + "documentation":"

      Run status.

      " + } + }, + "documentation":"

      Launch action run.

      " + }, + "LaunchActionRunId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" + }, + "LaunchActionRunStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "SUCCEEDED", + "FAILED" + ] + }, + "LaunchActionRuns":{ + "type":"list", + "member":{"shape":"LaunchActionRun"} + }, + "LaunchActionType":{ + "type":"string", + "enum":[ + "SSM_AUTOMATION", + "SSM_COMMAND" + ] + }, + "LaunchActionVersion":{ + "type":"string", + "documentation":"

      Launch action version.

      ", + "max":10, + "min":1, + "pattern":"^(\\$DEFAULT|\\$LATEST|[0-9]+)$" + }, + "LaunchActions":{ + "type":"list", + "member":{"shape":"LaunchAction"}, + "max":200, + "min":0 + }, + "LaunchActionsRequestFilters":{ + "type":"structure", + "members":{ + "actionIds":{ + "shape":"LaunchActionIds", + "documentation":"

      Launch actions Ids.

      " + } + }, + "documentation":"

      Resource launch actions filter.

      " + }, + "LaunchActionsStatus":{ + "type":"structure", + "members":{ + "runs":{ + "shape":"LaunchActionRuns", + "documentation":"

      List of post launch action status.

      " + }, + "ssmAgentDiscoveryDatetime":{ + "shape":"ISO8601DatetimeString", + "documentation":"

      Time where the AWS Systems Manager was detected as running on the launched instance.

      " + } + }, + "documentation":"

      Launch actions status.

      " + }, "LaunchConfiguration":{ "type":"structure", "members":{ @@ -2339,6 +2623,10 @@ "shape":"SmallBoundedString", "documentation":"

      The name of the launch configuration.

      " }, + "postLaunchEnabled":{ + "shape":"Boolean", + "documentation":"

      Whether we want to activate post-launch actions for the Source Server.

      " + }, "sourceServerID":{ "shape":"SourceServerID", "documentation":"

      The ID of the Source Server for this launch configuration.

      " @@ -2380,6 +2668,10 @@ "shape":"Licensing", "documentation":"

      Licensing.

      " }, + "postLaunchEnabled":{ + "shape":"Boolean", + "documentation":"

      Post-launch actions activated.

      " + }, "tags":{ "shape":"TagsMap", "documentation":"

      Tags of the Launch Configuration Template.

      " @@ -2525,6 +2817,38 @@ } } }, + "ListLaunchActionsRequest":{ + "type":"structure", + "required":["resourceId"], + "members":{ + "filters":{ + "shape":"LaunchActionsRequestFilters", + "documentation":"

      Filters to apply when listing resource launch actions.

      " + }, + "maxResults":{ + "shape":"MaxResultsType", + "documentation":"

      Maximum amount of items to return when listing resource launch actions.

      " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      Next token to use when listing resource launch actions.

      " + }, + "resourceId":{"shape":"LaunchActionResourceId"} + } + }, + "ListLaunchActionsResponse":{ + "type":"structure", + "members":{ + "items":{ + "shape":"LaunchActions", + "documentation":"

      List of resource launch actions.

      " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      Next token returned when listing resource launch actions.

      " + } + } + }, "ListStagingAccountsRequest":{ "type":"structure", "members":{ @@ -2715,6 +3039,10 @@ "ParticipatingServer":{ "type":"structure", "members":{ + "launchActionsStatus":{ + "shape":"LaunchActionsStatus", + "documentation":"

      The post-launch action runs of a participating server.

      " + }, "launchStatus":{ "shape":"LaunchStatus", "documentation":"

      The launch status of a participating server.

      " @@ -2738,6 +3066,71 @@ "type":"long", "min":0 }, + "PutLaunchActionRequest":{ + "type":"structure", + "required":[ + "actionCode", + "actionId", + "actionVersion", + "active", + "category", + "name", + "optional", + "order", + "resourceId" + ], + "members":{ + "actionCode":{ + "shape":"SsmDocumentName", + "documentation":"

      Launch action code.

      " + }, + "actionId":{"shape":"LaunchActionId"}, + "actionVersion":{"shape":"LaunchActionVersion"}, + "active":{ + "shape":"Boolean", + "documentation":"

      Whether the launch action is active.

      " + }, + "category":{"shape":"LaunchActionCategory"}, + "description":{"shape":"LaunchActionDescription"}, + "name":{"shape":"LaunchActionName"}, + "optional":{ + "shape":"Boolean", + "documentation":"

      Whether the launch will not be marked as failed if this action fails.

      " + }, + "order":{"shape":"LaunchActionOrder"}, + "parameters":{"shape":"LaunchActionParameters"}, + "resourceId":{"shape":"LaunchActionResourceId"} + } + }, + "PutLaunchActionResponse":{ + "type":"structure", + "members":{ + "actionCode":{ + "shape":"SsmDocumentName", + "documentation":"

      Launch action code.

      " + }, + "actionId":{"shape":"LaunchActionId"}, + "actionVersion":{"shape":"LaunchActionVersion"}, + "active":{ + "shape":"Boolean", + "documentation":"

      Whether the launch action is active.

      " + }, + "category":{"shape":"LaunchActionCategory"}, + "description":{"shape":"LaunchActionDescription"}, + "name":{"shape":"LaunchActionName"}, + "optional":{ + "shape":"Boolean", + "documentation":"

      Whether the launch will not be marked as failed if this action fails.

      " + }, + "order":{"shape":"LaunchActionOrder"}, + "parameters":{"shape":"LaunchActionParameters"}, + "resourceId":{"shape":"LaunchActionResourceId"}, + "type":{ + "shape":"LaunchActionType", + "documentation":"

      Launch action type.

      " + } + } + }, "RecoveryInstance":{ "type":"structure", "members":{ @@ -3737,6 +4130,12 @@ "type":"list", "member":{"shape":"SourceServer"} }, + "SsmDocumentName":{ + "type":"string", + "max":1011, + "min":1, + "pattern":"^([A-Za-z0-9-])+$" + }, "StagingArea":{ "type":"structure", "members":{ @@ -4180,6 +4579,10 @@ "shape":"SmallBoundedString", "documentation":"

      The name of the launch configuration.

      " }, + "postLaunchEnabled":{ + "shape":"Boolean", + "documentation":"

      Whether we want to enable post-launch actions for the Source Server.

      " + }, "sourceServerID":{ "shape":"SourceServerID", "documentation":"

      The ID of the Source Server that we want to retrieve a Launch Configuration for.

      " @@ -4218,6 +4621,10 @@ "shape":"Licensing", "documentation":"

      Licensing.

      " }, + "postLaunchEnabled":{ + "shape":"Boolean", + "documentation":"

      Whether we want to activate post-launch actions.

      " + }, "targetInstanceTypeRightSizingMethod":{ "shape":"TargetInstanceTypeRightSizingMethod", "documentation":"

      Target instance type right-sizing method.

      " diff --git a/services/dynamodb/pom.xml b/services/dynamodb/pom.xml index 2a4f1d2219c4..e86645ada966 100644 --- a/services/dynamodb/pom.xml +++ b/services/dynamodb/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT dynamodb AWS Java SDK :: Services :: Amazon DynamoDB diff --git a/services/dynamodb/src/main/resources/codegen-resources/dynamodb/endpoint-rule-set.json b/services/dynamodb/src/main/resources/codegen-resources/dynamodb/endpoint-rule-set.json index d79f53d622fc..5fa72ade6df9 100644 --- a/services/dynamodb/src/main/resources/codegen-resources/dynamodb/endpoint-rule-set.json +++ b/services/dynamodb/src/main/resources/codegen-resources/dynamodb/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,175 +140,83 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://dynamodb-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsFIPS" ] } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "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": [ - { - "fn": "stringEquals", - "argv": [ - "aws-us-gov", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://dynamodb.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "ref": "PartitionResult" }, - { - "conditions": [], - "endpoint": { - "url": "https://dynamodb-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "supportsDualStack" ] } ] - }, + } + ], + "type": "tree", + "rules": [ { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://dynamodb-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": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], @@ -304,99 +225,142 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, + "aws-us-gov", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsDualStack" + "name" ] } ] } ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://dynamodb.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] + "endpoint": { + "url": "https://dynamodb.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://dynamodb-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] }, { "conditions": [], - "type": "tree", - "rules": [ + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ { - "conditions": [ + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ { - "ref": "Region" + "ref": "PartitionResult" }, - "local" + "supportsDualStack" ] } - ], - "endpoint": { - "url": "http://localhost:8000", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "dynamodb", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, + ] + } + ], + "type": "tree", + "rules": [ { "conditions": [], "endpoint": { - "url": "https://dynamodb.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://dynamodb.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "local" + ] + } + ], + "endpoint": { + "url": "http://localhost:8000", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "dynamodb", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://dynamodb.{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/services/dynamodb/src/main/resources/codegen-resources/dynamodb/service-2.json b/services/dynamodb/src/main/resources/codegen-resources/dynamodb/service-2.json index 78bc5ce6f4fe..b11b54a9c4c9 100644 --- a/services/dynamodb/src/main/resources/codegen-resources/dynamodb/service-2.json +++ b/services/dynamodb/src/main/resources/codegen-resources/dynamodb/service-2.json @@ -507,7 +507,7 @@ "errors":[ {"shape":"InternalServerError"} ], - "documentation":"

      List backups associated with an Amazon Web Services account. To list backups for a given table, specify TableName. ListBackups returns a paginated list of results with at most 1 MB worth of items in a page. You can also specify a maximum number of entries to be returned in a page.

      In the request, start time is inclusive, but end time is exclusive. Note that these boundaries are for the time at which the original backup was requested.

      You can call ListBackups a maximum of five times per second.

      ", + "documentation":"

      List DynamoDB backups that are associated with an Amazon Web Services account and weren't made with Amazon Web Services Backup. To list these backups for a given table, specify TableName. ListBackups returns a paginated list of results with at most 1 MB worth of items in a page. You can also specify a maximum number of entries to be returned in a page.

      In the request, start time is inclusive, but end time is exclusive. Note that these boundaries are for the time at which the original backup was requested.

      You can call ListBackups a maximum of five times per second.

      If you want to retrieve the complete list of backups made with Amazon Web Services Backup, use the Amazon Web Services Backup list API.

      ", "endpointdiscovery":{ } }, @@ -2782,6 +2782,14 @@ "ItemCount":{ "shape":"ItemCount", "documentation":"

      The number of items exported.

      " + }, + "ExportType":{ + "shape":"ExportType", + "documentation":"

      Choice of whether to execute as a full export or incremental export. Valid values are FULL_EXPORT or INCREMENTAL_EXPORT. If INCREMENTAL_EXPORT is provided, the IncrementalExportSpecification must also be used.

      " + }, + "IncrementalExportSpecification":{ + "shape":"IncrementalExportSpecification", + "documentation":"

      Optional object containing the parameters specific to an incremental export.

      " } }, "documentation":"

      Represents the properties of the exported table.

      " @@ -2794,6 +2802,7 @@ "ION" ] }, + "ExportFromTime":{"type":"timestamp"}, "ExportManifest":{"type":"string"}, "ExportNextToken":{"type":"string"}, "ExportNotFoundException":{ @@ -2827,6 +2836,10 @@ "ExportStatus":{ "shape":"ExportStatus", "documentation":"

      Export can be in one of the following states: IN_PROGRESS, COMPLETED, or FAILED.

      " + }, + "ExportType":{ + "shape":"ExportType", + "documentation":"

      Choice of whether to execute as a full export or incremental export. Valid values are FULL_EXPORT or INCREMENTAL_EXPORT. If INCREMENTAL_EXPORT is provided, the IncrementalExportSpecification must also be used.

      " } }, "documentation":"

      Summary information about an export task.

      " @@ -2874,6 +2887,14 @@ "ExportFormat":{ "shape":"ExportFormat", "documentation":"

      The format for the exported data. Valid values for ExportFormat are DYNAMODB_JSON or ION.

      " + }, + "ExportType":{ + "shape":"ExportType", + "documentation":"

      Choice of whether to execute as a full export or incremental export. Valid values are FULL_EXPORT or INCREMENTAL_EXPORT. If INCREMENTAL_EXPORT is provided, the IncrementalExportSpecification must also be used.

      " + }, + "IncrementalExportSpecification":{ + "shape":"IncrementalExportSpecification", + "documentation":"

      Optional object containing the parameters specific to an incremental export.

      " } } }, @@ -2887,6 +2908,21 @@ } }, "ExportTime":{"type":"timestamp"}, + "ExportToTime":{"type":"timestamp"}, + "ExportType":{ + "type":"string", + "enum":[ + "FULL_EXPORT", + "INCREMENTAL_EXPORT" + ] + }, + "ExportViewType":{ + "type":"string", + "enum":[ + "NEW_IMAGE", + "NEW_AND_OLD_IMAGES" + ] + }, "ExpressionAttributeNameMap":{ "type":"map", "key":{"shape":"ExpressionAttributeNameVariable"}, @@ -3451,6 +3487,24 @@ "type":"long", "min":0 }, + "IncrementalExportSpecification":{ + "type":"structure", + "members":{ + "ExportFromTime":{ + "shape":"ExportFromTime", + "documentation":"

      Time in the past which provides the inclusive start range for the export table's data, counted in seconds from the start of the Unix epoch. The incremental export will reflect the table's state including and after this point in time.

      " + }, + "ExportToTime":{ + "shape":"ExportToTime", + "documentation":"

      Time in the past which provides the exclusive end range for the export table's data, counted in seconds from the start of the Unix epoch. The incremental export will reflect the table's state just prior to this point in time. If this is not provided, the latest time with data available will be used.

      " + }, + "ExportViewType":{ + "shape":"ExportViewType", + "documentation":"

      Choice of whether to output the previous item image prior to the start time of the incremental export. Valid values are NEW_AND_OLD_IMAGES and NEW_IMAGES.

      " + } + }, + "documentation":"

      Optional object containing the parameters specific to an incremental export.

      " + }, "IndexName":{ "type":"string", "max":255, diff --git a/services/dynamodb/src/main/resources/codegen-resources/dynamodbstreams/endpoint-rule-set.json b/services/dynamodb/src/main/resources/codegen-resources/dynamodbstreams/endpoint-rule-set.json index 911bf62628e8..4b51f14e20b3 100644 --- a/services/dynamodb/src/main/resources/codegen-resources/dynamodbstreams/endpoint-rule-set.json +++ b/services/dynamodb/src/main/resources/codegen-resources/dynamodbstreams/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,226 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://streams.dynamodb-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsFIPS" ] } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "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": [ - { - "fn": "stringEquals", - "argv": [ - "aws-us-gov", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://streams.dynamodb.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "ref": "PartitionResult" }, - { - "conditions": [], - "endpoint": { - "url": "https://streams.dynamodb-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "supportsDualStack" ] } ] - }, + } + ], + "type": "tree", + "rules": [ { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://streams.dynamodb-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": "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://streams.dynamodb.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsFIPS" ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } - ] - }, - { - "conditions": [], + ], "type": "tree", "rules": [ { @@ -354,34 +227,7 @@ { "fn": "stringEquals", "argv": [ - { - "ref": "Region" - }, - "local" - ] - } - ], - "endpoint": { - "url": "http://localhost:8000", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "dynamodb", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - "aws", + "aws-us-gov", { "fn": "getAttr", "argv": [ @@ -402,126 +248,244 @@ "type": "endpoint" }, { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - "aws-cn", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], + "conditions": [], "endpoint": { - "url": "https://streams.dynamodb.{Region}.amazonaws.com.cn", + "url": "https://streams.dynamodb-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": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ + true, { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ - "aws-us-gov", { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } - ], + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], "endpoint": { - "url": "https://streams.dynamodb.{Region}.amazonaws.com", + "url": "https://streams.dynamodb.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" }, + "local" + ] + } + ], + "endpoint": { + "url": "http://localhost:8000", + "properties": { + "authSchemes": [ { - "conditions": [ + "name": "sigv4", + "signingName": "dynamodb", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws", + { + "fn": "getAttr", + "argv": [ { - "fn": "stringEquals", - "argv": [ - "aws-iso", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://streams.dynamodb.{Region}.c2s.ic.gov", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://streams.dynamodb.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws-cn", { - "conditions": [ + "fn": "getAttr", + "argv": [ { - "fn": "stringEquals", - "argv": [ - "aws-iso-b", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://streams.dynamodb.{Region}.sc2s.sgov.gov", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://streams.dynamodb.{Region}.amazonaws.com.cn", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws-us-gov", { - "conditions": [], - "endpoint": { - "url": "https://streams.dynamodb.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] } ] } - ] + ], + "endpoint": { + "url": "https://streams.dynamodb.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws-iso", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://streams.dynamodb.{Region}.c2s.ic.gov", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws-iso-b", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://streams.dynamodb.{Region}.sc2s.sgov.gov", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://streams.dynamodb.{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/services/ebs/pom.xml b/services/ebs/pom.xml index 2fb1b827d752..117c10072c49 100644 --- a/services/ebs/pom.xml +++ b/services/ebs/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ebs AWS Java SDK :: Services :: EBS diff --git a/services/ebs/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/ebs/src/main/resources/codegen-resources/endpoint-rule-set.json index 5a6ff8bebb8f..5f1f49ceb7b3 100644 --- a/services/ebs/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/ebs/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://ebs-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://ebs-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://ebs-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://ebs-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://ebs.{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://ebs.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://ebs.{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://ebs.{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/services/ec2/pom.xml b/services/ec2/pom.xml index 52419854db66..1fc99844d610 100644 --- a/services/ec2/pom.xml +++ b/services/ec2/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ec2 AWS Java SDK :: Services :: Amazon EC2 diff --git a/services/ec2/src/main/resources/codegen-resources/service-2.json b/services/ec2/src/main/resources/codegen-resources/service-2.json index e2c60af559ec..2df7b7512518 100644 --- a/services/ec2/src/main/resources/codegen-resources/service-2.json +++ b/services/ec2/src/main/resources/codegen-resources/service-2.json @@ -239,7 +239,7 @@ }, "input":{"shape":"AssociateNatGatewayAddressRequest"}, "output":{"shape":"AssociateNatGatewayAddressResult"}, - "documentation":"

      Associates Elastic IP addresses (EIPs) and private IPv4 addresses with a public NAT gateway. For more information, see Work with NAT gateways in the Amazon VPC User Guide.

      By default, you can associate up to 2 Elastic IP addresses per public NAT gateway. You can increase the limit by requesting a quota adjustment. For more information, see Elastic IP address quotas in the Amazon VPC User Guide.

      " + "documentation":"

      Associates Elastic IP addresses (EIPs) and private IPv4 addresses with a public NAT gateway. For more information, see Work with NAT gateways in the Amazon VPC User Guide.

      By default, you can associate up to 2 Elastic IP addresses per public NAT gateway. You can increase the limit by requesting a quota adjustment. For more information, see Elastic IP address quotas in the Amazon VPC User Guide.

      When you associate an EIP or secondary EIPs with a public NAT gateway, the network border group of the EIPs must match the network border group of the Availability Zone (AZ) that the public NAT gateway is in. If it's not the same, the EIP will fail to associate. You can see the network border group for the subnet's AZ by viewing the details of the subnet. Similarly, you can view the network border group of an EIP by viewing the details of the EIP address. For more information about network border groups and EIPs, see Allocate an Elastic IP address in the Amazon VPC User Guide.

      " }, "AssociateRouteTable":{ "name":"AssociateRouteTable", @@ -876,7 +876,7 @@ }, "input":{"shape":"CreateNatGatewayRequest"}, "output":{"shape":"CreateNatGatewayResult"}, - "documentation":"

      Creates a NAT gateway in the specified subnet. This action creates a network interface in the specified subnet with a private IP address from the IP address range of the subnet. You can create either a public NAT gateway or a private NAT gateway.

      With a public NAT gateway, internet-bound traffic from a private subnet can be routed to the NAT gateway, so that instances in a private subnet can connect to the internet.

      With a private NAT gateway, private communication is routed across VPCs and on-premises networks through a transit gateway or virtual private gateway. Common use cases include running large workloads behind a small pool of allowlisted IPv4 addresses, preserving private IPv4 addresses, and communicating between overlapping networks.

      For more information, see NAT gateways in the Amazon VPC User Guide.

      " + "documentation":"

      Creates a NAT gateway in the specified subnet. This action creates a network interface in the specified subnet with a private IP address from the IP address range of the subnet. You can create either a public NAT gateway or a private NAT gateway.

      With a public NAT gateway, internet-bound traffic from a private subnet can be routed to the NAT gateway, so that instances in a private subnet can connect to the internet.

      With a private NAT gateway, private communication is routed across VPCs and on-premises networks through a transit gateway or virtual private gateway. Common use cases include running large workloads behind a small pool of allowlisted IPv4 addresses, preserving private IPv4 addresses, and communicating between overlapping networks.

      For more information, see NAT gateways in the Amazon VPC User Guide.

      When you create a public NAT gateway and assign it an EIP or secondary EIPs, the network border group of the EIPs must match the network border group of the Availability Zone (AZ) that the public NAT gateway is in. If it's not the same, the NAT gateway will fail to launch. You can see the network border group for the subnet's AZ by viewing the details of the subnet. Similarly, you can view the network border group of an EIP by viewing the details of the EIP address. For more information about network border groups and EIPs, see Allocate an Elastic IP address in the Amazon VPC User Guide.

      " }, "CreateNetworkAcl":{ "name":"CreateNetworkAcl", @@ -2017,7 +2017,7 @@ "requestUri":"/" }, "input":{"shape":"DeleteVpcRequest"}, - "documentation":"

      Deletes the specified VPC. You must detach or delete all gateways and resources that are associated with the VPC before you can delete it. For example, you must terminate all instances running in the VPC, delete all security groups associated with the VPC (except the default one), delete all route tables associated with the VPC (except the default one), and so on.

      " + "documentation":"

      Deletes the specified VPC. You must detach or delete all gateways and resources that are associated with the VPC before you can delete it. For example, you must terminate all instances running in the VPC, delete all security groups associated with the VPC (except the default one), delete all route tables associated with the VPC (except the default one), and so on. When you delete the VPC, it deletes the VPC's default security group, network ACL, and route table.

      " }, "DeleteVpcEndpointConnectionNotifications":{ "name":"DeleteVpcEndpointConnectionNotifications", @@ -2953,7 +2953,7 @@ }, "input":{"shape":"DescribeNetworkInterfacesRequest"}, "output":{"shape":"DescribeNetworkInterfacesResult"}, - "documentation":"

      Describes one or more of your network interfaces.

      " + "documentation":"

      Describes one or more of your network interfaces.

      If you have a large number of network interfaces, the operation fails unless you use pagination or one of the following filters: group-id, mac-address, private-dns-name, private-ip-address, private-dns-name, subnet-id, or vpc-id.

      " }, "DescribePlacementGroups":{ "name":"DescribePlacementGroups", @@ -3712,6 +3712,16 @@ "output":{"shape":"DisableFastSnapshotRestoresResult"}, "documentation":"

      Disables fast snapshot restores for the specified snapshots in the specified Availability Zones.

      " }, + "DisableImageBlockPublicAccess":{ + "name":"DisableImageBlockPublicAccess", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisableImageBlockPublicAccessRequest"}, + "output":{"shape":"DisableImageBlockPublicAccessResult"}, + "documentation":"

      Disables block public access for AMIs at the account level in the specified Amazon Web Services Region. This removes the block public access restriction from your account. With the restriction removed, you can publicly share your AMIs in the specified Amazon Web Services Region.

      The API can take up to 10 minutes to configure this setting. During this time, if you run GetImageBlockPublicAccessState, the response will be block-new-sharing. When the API has completed the configuration, the response will be unblocked.

      For more information, see Block public access to your AMIs in the Amazon EC2 User Guide.

      " + }, "DisableImageDeprecation":{ "name":"DisableImageDeprecation", "http":{ @@ -3969,6 +3979,16 @@ "output":{"shape":"EnableFastSnapshotRestoresResult"}, "documentation":"

      Enables fast snapshot restores for the specified snapshots in the specified Availability Zones.

      You get the full benefit of fast snapshot restores after they enter the enabled state. To get the current state of fast snapshot restores, use DescribeFastSnapshotRestores. To disable fast snapshot restores, use DisableFastSnapshotRestores.

      For more information, see Amazon EBS fast snapshot restore in the Amazon Elastic Compute Cloud User Guide.

      " }, + "EnableImageBlockPublicAccess":{ + "name":"EnableImageBlockPublicAccess", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"EnableImageBlockPublicAccessRequest"}, + "output":{"shape":"EnableImageBlockPublicAccessResult"}, + "documentation":"

      Enables block public access for AMIs at the account level in the specified Amazon Web Services Region. This prevents the public sharing of your AMIs. However, if you already have public AMIs, they will remain publicly available.

      The API can take up to 10 minutes to configure this setting. During this time, if you run GetImageBlockPublicAccessState, the response will be unblocked. When the API has completed the configuration, the response will be block-new-sharing.

      For more information, see Block public access to your AMIs in the Amazon EC2 User Guide.

      " + }, "EnableImageDeprecation":{ "name":"EnableImageDeprecation", "http":{ @@ -4227,6 +4247,16 @@ "output":{"shape":"GetHostReservationPurchasePreviewResult"}, "documentation":"

      Preview a reservation purchase with configurations that match those of your Dedicated Host. You must have active Dedicated Hosts in your account before you purchase a reservation.

      This is a preview of the PurchaseHostReservation action and does not result in the offering being purchased.

      " }, + "GetImageBlockPublicAccessState":{ + "name":"GetImageBlockPublicAccessState", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetImageBlockPublicAccessStateRequest"}, + "output":{"shape":"GetImageBlockPublicAccessStateResult"}, + "documentation":"

      Gets the current state of block public access for AMIs at the account level in the specified Amazon Web Services Region.

      For more information, see Block public access to your AMIs in the Amazon EC2 User Guide.

      " + }, "GetInstanceTypesFromInstanceRequirements":{ "name":"GetInstanceTypesFromInstanceRequirements", "http":{ @@ -5697,7 +5727,7 @@ }, "input":{"shape":"RevokeSecurityGroupIngressRequest"}, "output":{"shape":"RevokeSecurityGroupIngressResult"}, - "documentation":"

      Removes the specified inbound (ingress) rules from a security group.

      You can specify rules using either rule IDs or security group rule properties. If you use rule properties, the values that you specify (for example, ports) must match the existing rule's values exactly. Each rule has a protocol, from and to ports, and source (CIDR range, security group, or prefix list). For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code. If the security group rule has a description, you do not need to specify the description to revoke the rule.

      For a default VPC, if the values you specify do not match the existing rule's values, no error is returned, and the output describes the security group rules that were not revoked.

      Amazon Web Services recommends that you describe the security group to verify that the rules were removed.

      Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

      " + "documentation":"

      Removes the specified inbound (ingress) rules from a security group.

      You can specify rules using either rule IDs or security group rule properties. If you use rule properties, the values that you specify (for example, ports) must match the existing rule's values exactly. Each rule has a protocol, from and to ports, and source (CIDR range, security group, or prefix list). For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code. If the security group rule has a description, you do not need to specify the description to revoke the rule.

      For a default VPC, if the values you specify do not match the existing rule's values, no error is returned, and the output describes the security group rules that were not revoked.

      For a non-default VPC, if the values you specify do not match the existing rule's values, an InvalidPermission.NotFound client error is returned, and no rules are revoked.

      Amazon Web Services recommends that you describe the security group to verify that the rules were removed.

      Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

      " }, "RunInstances":{ "name":"RunInstances", @@ -6747,7 +6777,7 @@ }, "NetworkBorderGroup":{ "shape":"String", - "documentation":"

      A unique set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups.

      Use DescribeAvailabilityZones to view the network border groups.

      You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 Classic, you receive an InvalidParameterCombination error.

      " + "documentation":"

      A unique set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises IP addresses. Use this parameter to limit the IP address to this location. IP addresses cannot move between network border groups.

      Use DescribeAvailabilityZones to view the network border groups.

      " }, "CustomerOwnedIpv4Pool":{ "shape":"String", @@ -9398,7 +9428,7 @@ "members":{ "ExportTaskId":{ "shape":"ExportVmTaskId", - "documentation":"

      The ID of the export task. This is the ID returned by CreateInstanceExportTask.

      ", + "documentation":"

      The ID of the export task. This is the ID returned by the CreateInstanceExportTask and ExportImage operations.

      ", "locationName":"exportTaskId" } } @@ -11971,7 +12001,7 @@ "required":["AvailabilityZone"], "members":{ "AvailabilityZone":{ - "shape":"String", + "shape":"AvailabilityZoneName", "documentation":"

      The Availability Zone in which to create the default subnet.

      " }, "DryRun":{ @@ -12210,7 +12240,7 @@ }, "TagSpecifications":{ "shape":"TagSpecificationList", - "documentation":"

      The key-value pair for tagging the EC2 Fleet request on creation. For more information, see Tagging your resources.

      If the fleet type is instant, specify a resource type of fleet to tag the fleet or instance to tag the instances at launch.

      If the fleet type is maintain or request, specify a resource type of fleet to tag the fleet. You cannot specify a resource type of instance. To tag instances at launch, specify the tags in a launch template.

      ", + "documentation":"

      The key-value pair for tagging the EC2 Fleet request on creation. For more information, see Tag your resources.

      If the fleet type is instant, specify a resource type of fleet to tag the fleet or instance to tag the instances at launch.

      If the fleet type is maintain or request, specify a resource type of fleet to tag the fleet. You cannot specify a resource type of instance. To tag instances at launch, specify the tags in a launch template.

      ", "locationName":"TagSpecification" }, "Context":{ @@ -14962,6 +14992,10 @@ "DryRun":{ "shape":"Boolean", "documentation":"

      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

      " + }, + "SseSpecification":{ + "shape":"VerifiedAccessSseSpecificationRequest", + "documentation":"

      Options for server side encryption.

      " } } }, @@ -15011,6 +15045,10 @@ "DryRun":{ "shape":"Boolean", "documentation":"

      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

      " + }, + "SseSpecification":{ + "shape":"VerifiedAccessSseSpecificationRequest", + "documentation":"

      Options for server side encryption.

      " } } }, @@ -15044,6 +15082,10 @@ "DryRun":{ "shape":"Boolean", "documentation":"

      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

      " + }, + "FIPSEnabled":{ + "shape":"Boolean", + "documentation":"

      Enable or disable support for Federal Information Processing Standards (FIPS) on the instance.

      " } } }, @@ -15149,6 +15191,10 @@ "DryRun":{ "shape":"Boolean", "documentation":"

      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

      " + }, + "SseSpecification":{ + "shape":"VerifiedAccessSseSpecificationRequest", + "documentation":"

      Options for server side encryption.

      " } } }, @@ -20360,7 +20406,7 @@ "members":{ "Filters":{ "shape":"FilterList", - "documentation":"

      The filters.

      • affinity - The affinity setting for an instance running on a Dedicated Host (default | host).

      • architecture - The instance architecture (i386 | x86_64 | arm64).

      • availability-zone - The Availability Zone of the instance.

      • block-device-mapping.attach-time - The attach time for an EBS volume mapped to the instance, for example, 2022-09-15T17:15:20.000Z.

      • block-device-mapping.delete-on-termination - A Boolean that indicates whether the EBS volume is deleted on instance termination.

      • block-device-mapping.device-name - The device name specified in the block device mapping (for example, /dev/sdh or xvdh).

      • block-device-mapping.status - The status for the EBS volume (attaching | attached | detaching | detached).

      • block-device-mapping.volume-id - The volume ID of the EBS volume.

      • boot-mode - The boot mode that was specified by the AMI (legacy-bios | uefi | uefi-preferred).

      • capacity-reservation-id - The ID of the Capacity Reservation into which the instance was launched.

      • capacity-reservation-specification.capacity-reservation-preference - The instance's Capacity Reservation preference (open | none).

      • capacity-reservation-specification.capacity-reservation-target.capacity-reservation-id - The ID of the targeted Capacity Reservation.

      • capacity-reservation-specification.capacity-reservation-target.capacity-reservation-resource-group-arn - The ARN of the targeted Capacity Reservation group.

      • client-token - The idempotency token you provided when you launched the instance.

      • current-instance-boot-mode - The boot mode that is used to launch the instance at launch or start (legacy-bios | uefi).

      • dns-name - The public DNS name of the instance.

      • ebs-optimized - A Boolean that indicates whether the instance is optimized for Amazon EBS I/O.

      • ena-support - A Boolean that indicates whether the instance is enabled for enhanced networking with ENA.

      • enclave-options.enabled - A Boolean that indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

      • hibernation-options.configured - A Boolean that indicates whether the instance is enabled for hibernation. A value of true means that the instance is enabled for hibernation.

      • host-id - The ID of the Dedicated Host on which the instance is running, if applicable.

      • hypervisor - The hypervisor type of the instance (ovm | xen). The value xen is used for both Xen and Nitro hypervisors.

      • iam-instance-profile.arn - The instance profile associated with the instance. Specified as an ARN.

      • iam-instance-profile.id - The instance profile associated with the instance. Specified as an ID.

      • iam-instance-profile.name - The instance profile associated with the instance. Specified as an name.

      • image-id - The ID of the image used to launch the instance.

      • instance-id - The ID of the instance.

      • instance-lifecycle - Indicates whether this is a Spot Instance or a Scheduled Instance (spot | scheduled).

      • instance-state-code - The state of the instance, as a 16-bit unsigned integer. The high byte is used for internal purposes and should be ignored. The low byte is set based on the state represented. The valid values are: 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping), and 80 (stopped).

      • instance-state-name - The state of the instance (pending | running | shutting-down | terminated | stopping | stopped).

      • instance-type - The type of instance (for example, t2.micro).

      • instance.group-id - The ID of the security group for the instance.

      • instance.group-name - The name of the security group for the instance.

      • ip-address - The public IPv4 address of the instance.

      • ipv6-address - The IPv6 address of the instance.

      • kernel-id - The kernel ID.

      • key-name - The name of the key pair used when the instance was launched.

      • launch-index - When launching multiple instances, this is the index for the instance in the launch group (for example, 0, 1, 2, and so on).

      • launch-time - The time when the instance was launched, in the ISO 8601 format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example, 2021-09-29T11:04:43.305Z. You can use a wildcard (*), for example, 2021-09-29T*, which matches an entire day.

      • license-pool -

      • maintenance-options.auto-recovery - The current automatic recovery behavior of the instance (disabled | default).

      • metadata-options.http-endpoint - The status of access to the HTTP metadata endpoint on your instance (enabled | disabled)

      • metadata-options.http-protocol-ipv4 - Indicates whether the IPv4 endpoint is enabled (disabled | enabled).

      • metadata-options.http-protocol-ipv6 - Indicates whether the IPv6 endpoint is enabled (disabled | enabled).

      • metadata-options.http-put-response-hop-limit - The HTTP metadata request put response hop limit (integer, possible values 1 to 64)

      • metadata-options.http-tokens - The metadata request authorization state (optional | required)

      • metadata-options.instance-metadata-tags - The status of access to instance tags from the instance metadata (enabled | disabled)

      • metadata-options.state - The state of the metadata option changes (pending | applied).

      • monitoring-state - Indicates whether detailed monitoring is enabled (disabled | enabled).

      • network-interface.addresses.primary - Specifies whether the IPv4 address of the network interface is the primary private IPv4 address.

      • network-interface.addresses.private-ip-address - The private IPv4 address associated with the network interface.

      • network-interface.addresses.association.public-ip - The ID of the association of an Elastic IP address (IPv4) with a network interface.

      • network-interface.addresses.association.ip-owner-id - The owner ID of the private IPv4 address associated with the network interface.

      • network-interface.association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

      • network-interface.association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface.

      • network-interface.association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.

      • network-interface.association.association-id - The association ID returned when the network interface was associated with an IPv4 address.

      • network-interface.attachment.attachment-id - The ID of the interface attachment.

      • network-interface.attachment.instance-id - The ID of the instance to which the network interface is attached.

      • network-interface.attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

      • network-interface.attachment.device-index - The device index to which the network interface is attached.

      • network-interface.attachment.status - The status of the attachment (attaching | attached | detaching | detached).

      • network-interface.attachment.attach-time - The time that the network interface was attached to an instance.

      • network-interface.attachment.delete-on-termination - Specifies whether the attachment is deleted when an instance is terminated.

      • network-interface.availability-zone - The Availability Zone for the network interface.

      • network-interface.description - The description of the network interface.

      • network-interface.group-id - The ID of a security group associated with the network interface.

      • network-interface.group-name - The name of a security group associated with the network interface.

      • network-interface.ipv6-addresses.ipv6-address - The IPv6 address associated with the network interface.

      • network-interface.mac-address - The MAC address of the network interface.

      • network-interface.network-interface-id - The ID of the network interface.

      • network-interface.owner-id - The ID of the owner of the network interface.

      • network-interface.private-dns-name - The private DNS name of the network interface.

      • network-interface.requester-id - The requester ID for the network interface.

      • network-interface.requester-managed - Indicates whether the network interface is being managed by Amazon Web Services.

      • network-interface.status - The status of the network interface (available) | in-use).

      • network-interface.source-dest-check - Whether the network interface performs source/destination checking. A value of true means that checking is enabled, and false means that checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC.

      • network-interface.subnet-id - The ID of the subnet for the network interface.

      • network-interface.vpc-id - The ID of the VPC for the network interface.

      • outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

      • owner-id - The Amazon Web Services account ID of the instance owner.

      • placement-group-name - The name of the placement group for the instance.

      • placement-partition-number - The partition in which the instance is located.

      • platform - The platform. To list only Windows instances, use windows.

      • platform-details - The platform (Linux/UNIX | Red Hat BYOL Linux | Red Hat Enterprise Linux | Red Hat Enterprise Linux with HA | Red Hat Enterprise Linux with SQL Server Standard and HA | Red Hat Enterprise Linux with SQL Server Enterprise and HA | Red Hat Enterprise Linux with SQL Server Standard | Red Hat Enterprise Linux with SQL Server Web | Red Hat Enterprise Linux with SQL Server Enterprise | SQL Server Enterprise | SQL Server Standard | SQL Server Web | SUSE Linux | Ubuntu Pro | Windows | Windows BYOL | Windows with SQL Server Enterprise | Windows with SQL Server Standard | Windows with SQL Server Web).

      • private-dns-name - The private IPv4 DNS name of the instance.

      • private-dns-name-options.enable-resource-name-dns-a-record - A Boolean that indicates whether to respond to DNS queries for instance hostnames with DNS A records.

      • private-dns-name-options.enable-resource-name-dns-aaaa-record - A Boolean that indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

      • private-dns-name-options.hostname-type - The type of hostname (ip-name | resource-name).

      • private-ip-address - The private IPv4 address of the instance.

      • product-code - The product code associated with the AMI used to launch the instance.

      • product-code.type - The type of product code (devpay | marketplace).

      • ramdisk-id - The RAM disk ID.

      • reason - The reason for the current state of the instance (for example, shows \"User Initiated [date]\" when you stop or terminate the instance). Similar to the state-reason-code filter.

      • requester-id - The ID of the entity that launched the instance on your behalf (for example, Amazon Web Services Management Console, Auto Scaling, and so on).

      • reservation-id - The ID of the instance's reservation. A reservation ID is created any time you launch an instance. A reservation ID has a one-to-one relationship with an instance launch request, but can be associated with more than one instance if you launch multiple instances using the same launch request. For example, if you launch one instance, you get one reservation ID. If you launch ten instances using the same launch request, you also get one reservation ID.

      • root-device-name - The device name of the root device volume (for example, /dev/sda1).

      • root-device-type - The type of the root device volume (ebs | instance-store).

      • source-dest-check - Indicates whether the instance performs source/destination checking. A value of true means that checking is enabled, and false means that checking is disabled. The value must be false for the instance to perform network address translation (NAT) in your VPC.

      • spot-instance-request-id - The ID of the Spot Instance request.

      • state-reason-code - The reason code for the state change.

      • state-reason-message - A message that describes the state change.

      • subnet-id - The ID of the subnet for the instance.

      • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

      • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.

      • tenancy - The tenancy of an instance (dedicated | default | host).

      • tpm-support - Indicates if the instance is configured for NitroTPM support (v2.0).

      • usage-operation - The usage operation value for the instance (RunInstances | RunInstances:00g0 | RunInstances:0010 | RunInstances:1010 | RunInstances:1014 | RunInstances:1110 | RunInstances:0014 | RunInstances:0210 | RunInstances:0110 | RunInstances:0100 | RunInstances:0004 | RunInstances:0200 | RunInstances:000g | RunInstances:0g00 | RunInstances:0002 | RunInstances:0800 | RunInstances:0102 | RunInstances:0006 | RunInstances:0202).

      • usage-operation-update-time - The time that the usage operation was last updated, for example, 2022-09-15T17:15:20.000Z.

      • virtualization-type - The virtualization type of the instance (paravirtual | hvm).

      • vpc-id - The ID of the VPC that the instance is running in.

      ", + "documentation":"

      The filters.

      • affinity - The affinity setting for an instance running on a Dedicated Host (default | host).

      • architecture - The instance architecture (i386 | x86_64 | arm64).

      • availability-zone - The Availability Zone of the instance.

      • block-device-mapping.attach-time - The attach time for an EBS volume mapped to the instance, for example, 2022-09-15T17:15:20.000Z.

      • block-device-mapping.delete-on-termination - A Boolean that indicates whether the EBS volume is deleted on instance termination.

      • block-device-mapping.device-name - The device name specified in the block device mapping (for example, /dev/sdh or xvdh).

      • block-device-mapping.status - The status for the EBS volume (attaching | attached | detaching | detached).

      • block-device-mapping.volume-id - The volume ID of the EBS volume.

      • boot-mode - The boot mode that was specified by the AMI (legacy-bios | uefi | uefi-preferred).

      • capacity-reservation-id - The ID of the Capacity Reservation into which the instance was launched.

      • capacity-reservation-specification.capacity-reservation-preference - The instance's Capacity Reservation preference (open | none).

      • capacity-reservation-specification.capacity-reservation-target.capacity-reservation-id - The ID of the targeted Capacity Reservation.

      • capacity-reservation-specification.capacity-reservation-target.capacity-reservation-resource-group-arn - The ARN of the targeted Capacity Reservation group.

      • client-token - The idempotency token you provided when you launched the instance.

      • current-instance-boot-mode - The boot mode that is used to launch the instance at launch or start (legacy-bios | uefi).

      • dns-name - The public DNS name of the instance.

      • ebs-optimized - A Boolean that indicates whether the instance is optimized for Amazon EBS I/O.

      • ena-support - A Boolean that indicates whether the instance is enabled for enhanced networking with ENA.

      • enclave-options.enabled - A Boolean that indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

      • hibernation-options.configured - A Boolean that indicates whether the instance is enabled for hibernation. A value of true means that the instance is enabled for hibernation.

      • host-id - The ID of the Dedicated Host on which the instance is running, if applicable.

      • hypervisor - The hypervisor type of the instance (ovm | xen). The value xen is used for both Xen and Nitro hypervisors.

      • iam-instance-profile.arn - The instance profile associated with the instance. Specified as an ARN.

      • iam-instance-profile.id - The instance profile associated with the instance. Specified as an ID.

      • iam-instance-profile.name - The instance profile associated with the instance. Specified as an name.

      • image-id - The ID of the image used to launch the instance.

      • instance-id - The ID of the instance.

      • instance-lifecycle - Indicates whether this is a Spot Instance or a Scheduled Instance (spot | scheduled).

      • instance-state-code - The state of the instance, as a 16-bit unsigned integer. The high byte is used for internal purposes and should be ignored. The low byte is set based on the state represented. The valid values are: 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping), and 80 (stopped).

      • instance-state-name - The state of the instance (pending | running | shutting-down | terminated | stopping | stopped).

      • instance-type - The type of instance (for example, t2.micro).

      • instance.group-id - The ID of the security group for the instance.

      • instance.group-name - The name of the security group for the instance.

      • ip-address - The public IPv4 address of the instance.

      • ipv6-address - The IPv6 address of the instance.

      • kernel-id - The kernel ID.

      • key-name - The name of the key pair used when the instance was launched.

      • launch-index - When launching multiple instances, this is the index for the instance in the launch group (for example, 0, 1, 2, and so on).

      • launch-time - The time when the instance was launched, in the ISO 8601 format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example, 2021-09-29T11:04:43.305Z. You can use a wildcard (*), for example, 2021-09-29T*, which matches an entire day.

      • maintenance-options.auto-recovery - The current automatic recovery behavior of the instance (disabled | default).

      • metadata-options.http-endpoint - The status of access to the HTTP metadata endpoint on your instance (enabled | disabled)

      • metadata-options.http-protocol-ipv4 - Indicates whether the IPv4 endpoint is enabled (disabled | enabled).

      • metadata-options.http-protocol-ipv6 - Indicates whether the IPv6 endpoint is enabled (disabled | enabled).

      • metadata-options.http-put-response-hop-limit - The HTTP metadata request put response hop limit (integer, possible values 1 to 64)

      • metadata-options.http-tokens - The metadata request authorization state (optional | required)

      • metadata-options.instance-metadata-tags - The status of access to instance tags from the instance metadata (enabled | disabled)

      • metadata-options.state - The state of the metadata option changes (pending | applied).

      • monitoring-state - Indicates whether detailed monitoring is enabled (disabled | enabled).

      • network-interface.addresses.association.allocation-id - The allocation ID.

      • network-interface.addresses.association.association-id - The association ID.

      • network-interface.addresses.association.carrier-ip - The carrier IP address.

      • network-interface.addresses.association.customer-owned-ip - The customer-owned IP address.

      • network-interface.addresses.association.ip-owner-id - The owner ID of the private IPv4 address associated with the network interface.

      • network-interface.addresses.association.public-dns-name - The public DNS name.

      • network-interface.addresses.association.public-ip - The ID of the association of an Elastic IP address (IPv4) with a network interface.

      • network-interface.addresses.primary - Specifies whether the IPv4 address of the network interface is the primary private IPv4 address.

      • network-interface.addresses.private-dns-name - The private DNS name.

      • network-interface.addresses.private-ip-address - The private IPv4 address associated with the network interface.

      • network-interface.association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.

      • network-interface.association.association-id - The association ID returned when the network interface was associated with an IPv4 address.

      • network-interface.association.carrier-ip - The customer-owned IP address.

      • network-interface.association.customer-owned-ip - The customer-owned IP address.

      • network-interface.association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface.

      • network-interface.association.public-dns-name - The public DNS name.

      • network-interface.association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

      • network-interface.attachment.attach-time - The time that the network interface was attached to an instance.

      • network-interface.attachment.attachment-id - The ID of the interface attachment.

      • network-interface.attachment.delete-on-termination - Specifies whether the attachment is deleted when an instance is terminated.

      • network-interface.attachment.device-index - The device index to which the network interface is attached.

      • network-interface.attachment.instance-id - The ID of the instance to which the network interface is attached.

      • network-interface.attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

      • network-interface.attachment.network-card-index - The index of the network card.

      • network-interface.attachment.status - The status of the attachment (attaching | attached | detaching | detached).

      • network-interface.availability-zone - The Availability Zone for the network interface.

      • network-interface.deny-all-igw-traffic - A Boolean that indicates whether a network interface with an IPv6 address is unreachable from the public internet.

      • network-interface.description - The description of the network interface.

      • network-interface.group-id - The ID of a security group associated with the network interface.

      • network-interface.group-name - The name of a security group associated with the network interface.

      • network-interface.ipv4-prefixes.ipv4-prefix - The IPv4 prefixes that are assigned to the network interface.

      • network-interface.ipv6-address - The IPv6 address associated with the network interface.

      • network-interface.ipv6-addresses.ipv6-address - The IPv6 address associated with the network interface.

      • network-interface.ipv6-addresses.is-primary-ipv6 - A Boolean that indicates whether this is the primary IPv6 address.

      • network-interface.ipv6-native - A Boolean that indicates whether this is an IPv6 only network interface.

      • network-interface.ipv6-prefixes.ipv6-prefix - The IPv6 prefix assigned to the network interface.

      • network-interface.mac-address - The MAC address of the network interface.

      • network-interface.network-interface-id - The ID of the network interface.

      • network-interface.outpost-arn - The ARN of the Outpost.

      • network-interface.owner-id - The ID of the owner of the network interface.

      • network-interface.private-dns-name - The private DNS name of the network interface.

      • network-interface.private-ip-address - The private IPv4 address.

      • network-interface.public-dns-name - The public DNS name.

      • network-interface.requester-id - The requester ID for the network interface.

      • network-interface.requester-managed - Indicates whether the network interface is being managed by Amazon Web Services.

      • network-interface.status - The status of the network interface (available) | in-use).

      • network-interface.source-dest-check - Whether the network interface performs source/destination checking. A value of true means that checking is enabled, and false means that checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC.

      • network-interface.subnet-id - The ID of the subnet for the network interface.

      • network-interface.tag-key - The key of a tag assigned to the network interface.

      • network-interface.tag-value - The value of a tag assigned to the network interface.

      • network-interface.vpc-id - The ID of the VPC for the network interface.

      • outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

      • owner-id - The Amazon Web Services account ID of the instance owner.

      • placement-group-name - The name of the placement group for the instance.

      • placement-partition-number - The partition in which the instance is located.

      • platform - The platform. To list only Windows instances, use windows.

      • platform-details - The platform (Linux/UNIX | Red Hat BYOL Linux | Red Hat Enterprise Linux | Red Hat Enterprise Linux with HA | Red Hat Enterprise Linux with SQL Server Standard and HA | Red Hat Enterprise Linux with SQL Server Enterprise and HA | Red Hat Enterprise Linux with SQL Server Standard | Red Hat Enterprise Linux with SQL Server Web | Red Hat Enterprise Linux with SQL Server Enterprise | SQL Server Enterprise | SQL Server Standard | SQL Server Web | SUSE Linux | Ubuntu Pro | Windows | Windows BYOL | Windows with SQL Server Enterprise | Windows with SQL Server Standard | Windows with SQL Server Web).

      • private-dns-name - The private IPv4 DNS name of the instance.

      • private-dns-name-options.enable-resource-name-dns-a-record - A Boolean that indicates whether to respond to DNS queries for instance hostnames with DNS A records.

      • private-dns-name-options.enable-resource-name-dns-aaaa-record - A Boolean that indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

      • private-dns-name-options.hostname-type - The type of hostname (ip-name | resource-name).

      • private-ip-address - The private IPv4 address of the instance.

      • product-code - The product code associated with the AMI used to launch the instance.

      • product-code.type - The type of product code (devpay | marketplace).

      • ramdisk-id - The RAM disk ID.

      • reason - The reason for the current state of the instance (for example, shows \"User Initiated [date]\" when you stop or terminate the instance). Similar to the state-reason-code filter.

      • requester-id - The ID of the entity that launched the instance on your behalf (for example, Amazon Web Services Management Console, Auto Scaling, and so on).

      • reservation-id - The ID of the instance's reservation. A reservation ID is created any time you launch an instance. A reservation ID has a one-to-one relationship with an instance launch request, but can be associated with more than one instance if you launch multiple instances using the same launch request. For example, if you launch one instance, you get one reservation ID. If you launch ten instances using the same launch request, you also get one reservation ID.

      • root-device-name - The device name of the root device volume (for example, /dev/sda1).

      • root-device-type - The type of the root device volume (ebs | instance-store).

      • source-dest-check - Indicates whether the instance performs source/destination checking. A value of true means that checking is enabled, and false means that checking is disabled. The value must be false for the instance to perform network address translation (NAT) in your VPC.

      • spot-instance-request-id - The ID of the Spot Instance request.

      • state-reason-code - The reason code for the state change.

      • state-reason-message - A message that describes the state change.

      • subnet-id - The ID of the subnet for the instance.

      • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

      • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.

      • tenancy - The tenancy of an instance (dedicated | default | host).

      • tpm-support - Indicates if the instance is configured for NitroTPM support (v2.0).

      • usage-operation - The usage operation value for the instance (RunInstances | RunInstances:00g0 | RunInstances:0010 | RunInstances:1010 | RunInstances:1014 | RunInstances:1110 | RunInstances:0014 | RunInstances:0210 | RunInstances:0110 | RunInstances:0100 | RunInstances:0004 | RunInstances:0200 | RunInstances:000g | RunInstances:0g00 | RunInstances:0002 | RunInstances:0800 | RunInstances:0102 | RunInstances:0006 | RunInstances:0202).

      • usage-operation-update-time - The time that the usage operation was last updated, for example, 2022-09-15T17:15:20.000Z.

      • virtualization-type - The virtualization type of the instance (paravirtual | hvm).

      • vpc-id - The ID of the VPC that the instance is running in.

      ", "locationName":"Filter" }, "InstanceIds":{ @@ -21591,7 +21637,7 @@ "members":{ "Filters":{ "shape":"FilterList", - "documentation":"

      One or more filters.

      • addresses.private-ip-address - The private IPv4 addresses associated with the network interface.

      • addresses.primary - Whether the private IPv4 address is the primary IP address associated with the network interface.

      • addresses.association.public-ip - The association ID returned when the network interface was associated with the Elastic IP address (IPv4).

      • addresses.association.owner-id - The owner ID of the addresses associated with the network interface.

      • association.association-id - The association ID returned when the network interface was associated with an IPv4 address.

      • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.

      • association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface.

      • association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

      • association.public-dns-name - The public DNS name for the network interface (IPv4).

      • attachment.attachment-id - The ID of the interface attachment.

      • attachment.attach-time - The time that the network interface was attached to an instance.

      • attachment.delete-on-termination - Indicates whether the attachment is deleted when an instance is terminated.

      • attachment.device-index - The device index to which the network interface is attached.

      • attachment.instance-id - The ID of the instance to which the network interface is attached.

      • attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

      • attachment.status - The status of the attachment (attaching | attached | detaching | detached).

      • availability-zone - The Availability Zone of the network interface.

      • description - The description of the network interface.

      • group-id - The ID of a security group associated with the network interface.

      • group-name - The name of a security group associated with the network interface.

      • ipv6-addresses.ipv6-address - An IPv6 address associated with the network interface.

      • interface-type - The type of network interface (api_gateway_managed | aws_codestar_connections_managed | branch | efa | gateway_load_balancer | gateway_load_balancer_endpoint | global_accelerator_managed | interface | iot_rules_managed | lambda | load_balancer | nat_gateway | network_load_balancer | quicksight | transit_gateway | trunk | vpc_endpoint).

      • mac-address - The MAC address of the network interface.

      • network-interface-id - The ID of the network interface.

      • owner-id - The Amazon Web Services account ID of the network interface owner.

      • private-ip-address - The private IPv4 address or addresses of the network interface.

      • private-dns-name - The private DNS name of the network interface (IPv4).

      • requester-id - The alias or Amazon Web Services account ID of the principal or service that created the network interface.

      • requester-managed - Indicates whether the network interface is being managed by an Amazon Web Service (for example, Amazon Web Services Management Console, Auto Scaling, and so on).

      • source-dest-check - Indicates whether the network interface performs source/destination checking. A value of true means checking is enabled, and false means checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC.

      • status - The status of the network interface. If the network interface is not attached to an instance, the status is available; if a network interface is attached to an instance the status is in-use.

      • subnet-id - The ID of the subnet for the network interface.

      • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

      • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

      • vpc-id - The ID of the VPC for the network interface.

      ", + "documentation":"

      One or more filters.

      • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.

      • association.association-id - The association ID returned when the network interface was associated with an IPv4 address.

      • addresses.association.owner-id - The owner ID of the addresses associated with the network interface.

      • addresses.association.public-ip - The association ID returned when the network interface was associated with the Elastic IP address (IPv4).

      • addresses.primary - Whether the private IPv4 address is the primary IP address associated with the network interface.

      • addresses.private-ip-address - The private IPv4 addresses associated with the network interface.

      • association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface.

      • association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

      • association.public-dns-name - The public DNS name for the network interface (IPv4).

      • attachment.attach-time - The time that the network interface was attached to an instance.

      • attachment.attachment-id - The ID of the interface attachment.

      • attachment.delete-on-termination - Indicates whether the attachment is deleted when an instance is terminated.

      • attachment.device-index - The device index to which the network interface is attached.

      • attachment.instance-id - The ID of the instance to which the network interface is attached.

      • attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

      • attachment.status - The status of the attachment (attaching | attached | detaching | detached).

      • availability-zone - The Availability Zone of the network interface.

      • description - The description of the network interface.

      • group-id - The ID of a security group associated with the network interface.

      • ipv6-addresses.ipv6-address - An IPv6 address associated with the network interface.

      • interface-type - The type of network interface (api_gateway_managed | aws_codestar_connections_managed | branch | ec2_instance_connect_endpoint | efa | efs | gateway_load_balancer | gateway_load_balancer_endpoint | global_accelerator_managed | interface | iot_rules_managed | lambda | load_balancer | nat_gateway | network_load_balancer | quicksight | transit_gateway | trunk | vpc_endpoint).

      • mac-address - The MAC address of the network interface.

      • network-interface-id - The ID of the network interface.

      • owner-id - The Amazon Web Services account ID of the network interface owner.

      • private-dns-name - The private DNS name of the network interface (IPv4).

      • private-ip-address - The private IPv4 address or addresses of the network interface.

      • requester-id - The alias or Amazon Web Services account ID of the principal or service that created the network interface.

      • requester-managed - Indicates whether the network interface is being managed by an Amazon Web Service (for example, Amazon Web Services Management Console, Auto Scaling, and so on).

      • source-dest-check - Indicates whether the network interface performs source/destination checking. A value of true means checking is enabled, and false means checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC.

      • status - The status of the network interface. If the network interface is not attached to an instance, the status is available; if a network interface is attached to an instance the status is in-use.

      • subnet-id - The ID of the subnet for the network interface.

      • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

      • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

      • vpc-id - The ID of the VPC for the network interface.

      ", "locationName":"filter" }, "DryRun":{ @@ -25154,6 +25200,25 @@ } } }, + "DisableImageBlockPublicAccessRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

      " + } + } + }, + "DisableImageBlockPublicAccessResult":{ + "type":"structure", + "members":{ + "ImageBlockPublicAccessState":{ + "shape":"ImageBlockPublicAccessDisabledState", + "documentation":"

      Returns unblocked if the request succeeds; otherwise, it returns an error.

      ", + "locationName":"imageBlockPublicAccessState" + } + } + }, "DisableImageDeprecationRequest":{ "type":"structure", "required":["ImageId"], @@ -26883,6 +26948,30 @@ } } }, + "EnableImageBlockPublicAccessRequest":{ + "type":"structure", + "required":["ImageBlockPublicAccessState"], + "members":{ + "ImageBlockPublicAccessState":{ + "shape":"ImageBlockPublicAccessEnabledState", + "documentation":"

      Specify block-new-sharing to enable block public access for AMIs at the account level in the specified Region. This will block any attempt to publicly share your AMIs in the specified Region.

      " + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

      " + } + } + }, + "EnableImageBlockPublicAccessResult":{ + "type":"structure", + "members":{ + "ImageBlockPublicAccessState":{ + "shape":"ImageBlockPublicAccessEnabledState", + "documentation":"

      Returns block-new-sharing if the request succeeds; otherwise, it returns an error.

      ", + "locationName":"imageBlockPublicAccessState" + } + } + }, "EnableImageDeprecationRequest":{ "type":"structure", "required":[ @@ -29554,6 +29643,25 @@ } } }, + "GetImageBlockPublicAccessStateRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

      " + } + } + }, + "GetImageBlockPublicAccessStateResult":{ + "type":"structure", + "members":{ + "ImageBlockPublicAccessState":{ + "shape":"String", + "documentation":"

      The current state of block public access for AMIs at the account level in the specified Amazon Web Services Region.

      Possible values:

      • block-new-sharing - Any attempt to publicly share your AMIs in the specified Region is blocked.

      • unblocked - Your AMIs in the specified Region can be publicly shared.

      ", + "locationName":"imageBlockPublicAccessState" + } + } + }, "GetInstanceTypesFromInstanceRequirementsRequest":{ "type":"structure", "required":[ @@ -31789,6 +31897,14 @@ "imdsSupport" ] }, + "ImageBlockPublicAccessDisabledState":{ + "type":"string", + "enum":["unblocked"] + }, + "ImageBlockPublicAccessEnabledState":{ + "type":"string", + "enum":["block-new-sharing"] + }, "ImageDiskContainer":{ "type":"structure", "members":{ @@ -32043,7 +32159,7 @@ }, "BootMode":{ "shape":"BootModeValues", - "documentation":"

      The boot mode of the virtual machine.

      " + "documentation":"

      The boot mode of the virtual machine.

      The uefi-preferred boot mode isn't supported for importing images. For more information, see Boot modes in the VM Import/Export User Guide.

      " } } }, @@ -35402,7 +35518,36 @@ "r7gd.4xlarge", "r7gd.8xlarge", "r7gd.12xlarge", - "r7gd.16xlarge" + "r7gd.16xlarge", + "r7a.medium", + "r7a.large", + "r7a.xlarge", + "r7a.2xlarge", + "r7a.4xlarge", + "r7a.8xlarge", + "r7a.12xlarge", + "r7a.16xlarge", + "r7a.24xlarge", + "r7a.32xlarge", + "r7a.48xlarge", + "c7i.large", + "c7i.xlarge", + "c7i.2xlarge", + "c7i.4xlarge", + "c7i.8xlarge", + "c7i.12xlarge", + "c7i.16xlarge", + "c7i.24xlarge", + "c7i.48xlarge", + "mac2-m2pro.metal", + "r7iz.large", + "r7iz.xlarge", + "r7iz.2xlarge", + "r7iz.4xlarge", + "r7iz.8xlarge", + "r7iz.12xlarge", + "r7iz.16xlarge", + "r7iz.32xlarge" ] }, "InstanceTypeHypervisor":{ @@ -37250,6 +37395,7 @@ "ed25519" ] }, + "KmsKeyArn":{"type":"string"}, "KmsKeyId":{"type":"string"}, "LastError":{ "type":"structure", @@ -38538,7 +38684,7 @@ "members":{ "ResourceType":{ "shape":"ResourceType", - "documentation":"

      The type of resource to tag.

      The Valid Values are all the resource types that can be tagged. However, when creating a launch template, you can specify tags for the following resource types only: instance | volume | elastic-gpu | network-interface | spot-instances-request

      To tag a resource after it has been created, see CreateTags.

      " + "documentation":"

      The type of resource to tag.

      Valid Values lists all resource types for Amazon EC2 that can be tagged. When you create a launch template, you can specify tags for the following resource types only: instance | volume | elastic-gpu | network-interface | spot-instances-request. If the instance does include the resource type that you specify, the instance launch fails. For example, not all instance types include an Elastic GPU.

      To tag a resource after it has been created, see CreateTags.

      " }, "Tags":{ "shape":"TagList", @@ -41441,10 +41587,7 @@ }, "ModifyVerifiedAccessEndpointPolicyRequest":{ "type":"structure", - "required":[ - "VerifiedAccessEndpointId", - "PolicyEnabled" - ], + "required":["VerifiedAccessEndpointId"], "members":{ "VerifiedAccessEndpointId":{ "shape":"VerifiedAccessEndpointId", @@ -41466,6 +41609,10 @@ "DryRun":{ "shape":"Boolean", "documentation":"

      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

      " + }, + "SseSpecification":{ + "shape":"VerifiedAccessSseSpecificationRequest", + "documentation":"

      Options for server side encryption.

      " } } }, @@ -41481,6 +41628,11 @@ "shape":"String", "documentation":"

      The Verified Access policy document.

      ", "locationName":"policyDocument" + }, + "SseSpecification":{ + "shape":"VerifiedAccessSseSpecificationResponse", + "documentation":"

      Describes the options in use for server side encryption.

      ", + "locationName":"sseSpecification" } } }, @@ -41538,10 +41690,7 @@ }, "ModifyVerifiedAccessGroupPolicyRequest":{ "type":"structure", - "required":[ - "VerifiedAccessGroupId", - "PolicyEnabled" - ], + "required":["VerifiedAccessGroupId"], "members":{ "VerifiedAccessGroupId":{ "shape":"VerifiedAccessGroupId", @@ -41563,6 +41712,10 @@ "DryRun":{ "shape":"Boolean", "documentation":"

      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

      " + }, + "SseSpecification":{ + "shape":"VerifiedAccessSseSpecificationRequest", + "documentation":"

      Options for server side encryption.

      " } } }, @@ -41578,6 +41731,11 @@ "shape":"String", "documentation":"

      The Verified Access policy document.

      ", "locationName":"policyDocument" + }, + "SseSpecification":{ + "shape":"VerifiedAccessSseSpecificationResponse", + "documentation":"

      Describes the options in use for server side encryption.

      ", + "locationName":"sseSpecification" } } }, @@ -41745,6 +41903,10 @@ "shape":"String", "documentation":"

      A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

      ", "idempotencyToken":true + }, + "SseSpecification":{ + "shape":"VerifiedAccessSseSpecificationRequest", + "documentation":"

      Options for server side encryption.

      " } } }, @@ -43964,7 +44126,7 @@ }, "MaxTotalPrice":{ "shape":"String", - "documentation":"

      The maximum amount per hour for On-Demand Instances that you're willing to pay.

      ", + "documentation":"

      The maximum amount per hour for On-Demand Instances that you're willing to pay.

      If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The maxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for maxTotalPrice. For more information, see Surplus credits can incur charges in the EC2 User Guide.

      ", "locationName":"maxTotalPrice" } }, @@ -43995,7 +44157,7 @@ }, "MaxTotalPrice":{ "shape":"String", - "documentation":"

      The maximum amount per hour for On-Demand Instances that you're willing to pay.

      " + "documentation":"

      The maximum amount per hour for On-Demand Instances that you're willing to pay.

      If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The MaxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for MaxTotalPrice. For more information, see Surplus credits can incur charges in the EC2 User Guide.

      " } }, "documentation":"

      Describes the configuration of On-Demand Instances in an EC2 Fleet.

      " @@ -46392,7 +46554,7 @@ }, "NetworkBorderGroup":{ "shape":"String", - "documentation":"

      The set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises IP addresses.

      If you provide an incorrect network border group, you receive an InvalidAddress.NotFound error.

      You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 classic, you receive an InvalidParameterCombination error.

      " + "documentation":"

      The set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises IP addresses.

      If you provide an incorrect network border group, you receive an InvalidAddress.NotFound error.

      " }, "DryRun":{ "shape":"Boolean", @@ -47095,7 +47257,7 @@ }, "ElasticInferenceAccelerators":{ "shape":"LaunchTemplateElasticInferenceAcceleratorList", - "documentation":"

      The elastic inference accelerator for the instance.

      ", + "documentation":"

      An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.

      You cannot specify accelerators from different generations in the same request.

      Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.

      ", "locationName":"ElasticInferenceAccelerator" }, "SecurityGroupIds":{ @@ -48375,7 +48537,7 @@ }, "ElasticInferenceAccelerators":{ "shape":"LaunchTemplateElasticInferenceAcceleratorResponseList", - "documentation":"

      The elastic inference accelerator for the instance.

      ", + "documentation":"

      An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.

      You cannot specify accelerators from different generations in the same request.

      Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.

      ", "locationName":"elasticInferenceAcceleratorSet" }, "SecurityGroupIds":{ @@ -51433,12 +51595,12 @@ }, "OnDemandMaxTotalPrice":{ "shape":"String", - "documentation":"

      The maximum amount per hour for On-Demand Instances that you're willing to pay. You can use the onDemandMaxTotalPrice parameter, the spotMaxTotalPrice parameter, or both parameters to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.

      ", + "documentation":"

      The maximum amount per hour for On-Demand Instances that you're willing to pay. You can use the onDemandMaxTotalPrice parameter, the spotMaxTotalPrice parameter, or both parameters to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.

      If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The onDemandMaxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for onDemandMaxTotalPrice. For more information, see Surplus credits can incur charges in the EC2 User Guide.

      ", "locationName":"onDemandMaxTotalPrice" }, "SpotMaxTotalPrice":{ "shape":"String", - "documentation":"

      The maximum amount per hour for Spot Instances that you're willing to pay. You can use the spotdMaxTotalPrice parameter, the onDemandMaxTotalPrice parameter, or both parameters to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.

      ", + "documentation":"

      The maximum amount per hour for Spot Instances that you're willing to pay. You can use the spotMaxTotalPrice parameter, the onDemandMaxTotalPrice parameter, or both parameters to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.

      If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The spotMaxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for spotMaxTotalPrice. For more information, see Surplus credits can incur charges in the EC2 User Guide.

      ", "locationName":"spotMaxTotalPrice" }, "TerminateInstancesWithExpiration":{ @@ -51493,7 +51655,7 @@ }, "TagSpecifications":{ "shape":"TagSpecificationList", - "documentation":"

      The key-value pair for tagging the Spot Fleet request on creation. The value for ResourceType must be spot-fleet-request, otherwise the Spot Fleet request fails. To tag instances at launch, specify the tags in the launch template (valid only if you use LaunchTemplateConfigs) or in the SpotFleetTagSpecification (valid only if you use LaunchSpecifications). For information about tagging after launch, see Tagging Your Resources.

      ", + "documentation":"

      The key-value pair for tagging the Spot Fleet request on creation. The value for ResourceType must be spot-fleet-request, otherwise the Spot Fleet request fails. To tag instances at launch, specify the tags in the launch template (valid only if you use LaunchTemplateConfigs) or in the SpotFleetTagSpecification (valid only if you use LaunchSpecifications). For information about tagging after launch, see Tag your resources.

      ", "locationName":"TagSpecification" } }, @@ -51793,7 +51955,7 @@ }, "MaxTotalPrice":{ "shape":"String", - "documentation":"

      The maximum amount per hour for Spot Instances that you're willing to pay. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

      If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter.

      ", + "documentation":"

      The maximum amount per hour for Spot Instances that you're willing to pay. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

      If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter.

      If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The maxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for maxTotalPrice. For more information, see Surplus credits can incur charges in the EC2 User Guide.

      ", "locationName":"maxTotalPrice" } }, @@ -51832,7 +51994,7 @@ }, "MaxTotalPrice":{ "shape":"String", - "documentation":"

      The maximum amount per hour for Spot Instances that you're willing to pay. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

      If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter.

      " + "documentation":"

      The maximum amount per hour for Spot Instances that you're willing to pay. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

      If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter.

      If your fleet includes T instances that are configured as unlimited, and if their average CPU usage exceeds the baseline utilization, you will incur a charge for surplus credits. The MaxTotalPrice does not account for surplus credits, and, if you use surplus credits, your final cost might be higher than what you specified for MaxTotalPrice. For more information, see Surplus credits can incur charges in the EC2 User Guide.

      " } }, "documentation":"

      Describes the configuration of Spot Instances in an EC2 Fleet request.

      " @@ -56105,6 +56267,11 @@ "shape":"TagList", "documentation":"

      The tags.

      ", "locationName":"tagSet" + }, + "SseSpecification":{ + "shape":"VerifiedAccessSseSpecificationResponse", + "documentation":"

      Describes the options in use for server side encryption.

      ", + "locationName":"sseSpecification" } }, "documentation":"

      An Amazon Web Services Verified Access endpoint specifies the application that Amazon Web Services Verified Access provides access to. It must be attached to an Amazon Web Services Verified Access group. An Amazon Web Services Verified Access endpoint must also have an attached access policy before you attached it to a group.

      " @@ -56274,6 +56441,11 @@ "shape":"TagList", "documentation":"

      The tags.

      ", "locationName":"tagSet" + }, + "SseSpecification":{ + "shape":"VerifiedAccessSseSpecificationResponse", + "documentation":"

      Describes the options in use for server side encryption.

      ", + "locationName":"sseSpecification" } }, "documentation":"

      Describes a Verified Access group.

      " @@ -56325,6 +56497,11 @@ "shape":"TagList", "documentation":"

      The tags.

      ", "locationName":"tagSet" + }, + "FipsEnabled":{ + "shape":"Boolean", + "documentation":"

      Describes whether support for Federal Information Processing Standards (FIPS) is enabled on the instance.

      ", + "locationName":"fipsEnabled" } }, "documentation":"

      Describes a Verified Access instance.

      " @@ -56573,6 +56750,36 @@ }, "documentation":"

      Describes the options for Verified Access logs.

      " }, + "VerifiedAccessSseSpecificationRequest":{ + "type":"structure", + "members":{ + "CustomerManagedKeyEnabled":{ + "shape":"Boolean", + "documentation":"

      Enable or disable the use of customer managed KMS keys for server side encryption.

      Valid values: True | False

      " + }, + "KmsKeyArn":{ + "shape":"KmsKeyArn", + "documentation":"

      The ARN of the KMS key.

      " + } + }, + "documentation":"

      Verified Access provides server side encryption by default to data at rest using Amazon Web Services-owned KMS keys. You also have the option of using customer managed KMS keys, which can be specified using the options below.

      " + }, + "VerifiedAccessSseSpecificationResponse":{ + "type":"structure", + "members":{ + "CustomerManagedKeyEnabled":{ + "shape":"Boolean", + "documentation":"

      Describes the use of customer managed KMS keys for server side encryption.

      Valid values: True | False

      ", + "locationName":"customerManagedKeyEnabled" + }, + "KmsKeyArn":{ + "shape":"KmsKeyArn", + "documentation":"

      Describes the ARN of the KMS key.

      ", + "locationName":"kmsKeyArn" + } + }, + "documentation":"

      Describes the options in use for server side encryption.

      " + }, "VerifiedAccessTrustProvider":{ "type":"structure", "members":{ @@ -56630,6 +56837,11 @@ "shape":"TagList", "documentation":"

      The tags.

      ", "locationName":"tagSet" + }, + "SseSpecification":{ + "shape":"VerifiedAccessSseSpecificationResponse", + "documentation":"

      Describes the options in use for server side encryption.

      ", + "locationName":"sseSpecification" } }, "documentation":"

      Describes a Verified Access trust provider.

      " diff --git a/services/ec2instanceconnect/pom.xml b/services/ec2instanceconnect/pom.xml index 876a81ae4f7e..539d1f253515 100644 --- a/services/ec2instanceconnect/pom.xml +++ b/services/ec2instanceconnect/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ec2instanceconnect AWS Java SDK :: Services :: EC2 Instance Connect diff --git a/services/ec2instanceconnect/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/ec2instanceconnect/src/main/resources/codegen-resources/endpoint-rule-set.json index b8b78e9fe9b5..66af4752b1ec 100644 --- a/services/ec2instanceconnect/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/ec2instanceconnect/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "parseURL", + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,221 +140,175 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ec2-instance-connect-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] }, { "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] - }, + } + ], + "type": "tree", + "rules": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ec2-instance-connect-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://ec2-instance-connect-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://ec2-instance-connect-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ec2-instance-connect.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://ec2-instance-connect.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://ec2-instance-connect.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://ec2-instance-connect.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/ec2instanceconnect/src/main/resources/codegen-resources/endpoint-tests.json b/services/ec2instanceconnect/src/main/resources/codegen-resources/endpoint-tests.json index 91c92af29cd0..a2bfe37fd264 100644 --- a/services/ec2instanceconnect/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/ec2instanceconnect/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,16 +1,281 @@ { "testCases": [ { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ec2-instance-connect-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ec2-instance-connect-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ec2-instance-connect.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ec2-instance-connect.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ec2-instance-connect-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ec2-instance-connect-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ec2-instance-connect.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ec2-instance-connect.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ec2-instance-connect-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ec2-instance-connect-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ec2-instance-connect.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ec2-instance-connect.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ec2-instance-connect-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ec2-instance-connect.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ec2-instance-connect-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ec2-instance-connect.us-isob-east-1.sc2s.sgov.gov" + } + }, + "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": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -20,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -32,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/ecr/pom.xml b/services/ecr/pom.xml index 038af0132d84..1f491810989e 100644 --- a/services/ecr/pom.xml +++ b/services/ecr/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ecr AWS Java SDK :: Services :: Amazon EC2 Container Registry diff --git a/services/ecr/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/ecr/src/main/resources/codegen-resources/endpoint-rule-set.json index 99aba2357c28..722e1b812398 100644 --- a/services/ecr/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/ecr/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,85 +45,20 @@ { "conditions": [ { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } - ], - "assign": "url" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "ref": "UseFIPS" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + true ] } - ] + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" }, { "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, { "fn": "booleanEquals", "argv": [ @@ -135,71 +69,45 @@ ] } ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://api.ecr-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" + "ref": "Region" } ] - }, + } + ], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ { - "ref": "UseFIPS" - }, - true - ] + "ref": "Region" + } + ], + "assign": "PartitionResult" } ], "type": "tree", @@ -209,101 +117,111 @@ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ + true, { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ { - "ref": "Region" + "ref": "PartitionResult" }, - "dkr-us-east-2" + "supportsFIPS" ] } - ], - "endpoint": { - "url": "https://ecr-fips.us-east-2.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + ] }, { - "conditions": [ + "fn": "booleanEquals", + "argv": [ + true, { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ { - "ref": "Region" + "ref": "PartitionResult" }, - "dkr-us-east-1" + "supportsDualStack" ] } - ], - "endpoint": { - "url": "https://ecr-fips.us-east-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, + ] + } + ], + "type": "tree", + "rules": [ { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "dkr-us-west-2" - ] - } - ], + "conditions": [], "endpoint": { - "url": "https://ecr-fips.us-west-2.amazonaws.com", + "url": "https://api.ecr-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": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ + true, { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ { - "ref": "Region" + "ref": "PartitionResult" }, - "dkr-us-west-1" + "supportsFIPS" ] } - ], - "endpoint": { - "url": "https://ecr-fips.us-west-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, + ] + } + ], + "type": "tree", + "rules": [ { "conditions": [ { @@ -323,45 +241,7 @@ } ], "endpoint": { - "url": "https://ecr-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "dkr-us-gov-east-1" - ] - } - ], - "endpoint": { - "url": "https://ecr-fips.us-gov-east-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "dkr-us-gov-west-1" - ] - } - ], - "endpoint": { - "url": "https://ecr-fips.us-gov-west-1.amazonaws.com", + "url": "https://ecr-fips.{Region}.amazonaws.com", "properties": {}, "headers": {} }, @@ -386,7 +266,7 @@ } ], "endpoint": { - "url": "https://ecr-fips.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://ecr-fips.{Region}.amazonaws.com", "properties": {}, "headers": {} }, @@ -402,78 +282,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://api.ecr.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://api.ecr.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://api.ecr.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://api.ecr.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/ecr/src/main/resources/codegen-resources/endpoint-tests.json b/services/ecr/src/main/resources/codegen-resources/endpoint-tests.json index 9f25666db0c7..9e2aafff9c7c 100644 --- a/services/ecr/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/ecr/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,94 +1,68 @@ { "testCases": [ { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-fips.ap-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecr-fips.ap-south-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack enabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.ecr.ap-south-2.api.aws" + "url": "https://api.ecr.af-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-2", - "UseFIPS": false + "Region": "af-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.ecr.ap-south-2.amazonaws.com" + "url": "https://api.ecr.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-south-2", - "UseFIPS": false + "Region": "ap-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.ecr-fips.ap-south-1.api.aws" + "url": "https://api.ecr.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecr-fips.ap-south-1.amazonaws.com" + "url": "https://api.ecr.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.ecr.ap-south-1.api.aws" + "url": "https://api.ecr.ap-northeast-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false + "Region": "ap-northeast-3", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -99,256 +73,48 @@ } }, "params": { - "UseDualStack": false, "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-fips.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecr-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-fips.eu-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecr-fips.eu-south-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.eu-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.eu-south-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecr-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-fips.me-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecr-fips.me-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.me-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.me-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-central-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.ecr-fips.ca-central-1.api.aws" + "url": "https://api.ecr.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecr-fips.ca-central-1.amazonaws.com" + "url": "https://api.ecr.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.ecr.ca-central-1.api.aws" + "url": "https://api.ecr.ap-southeast-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false + "Region": "ap-southeast-3", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -359,1353 +125,460 @@ } }, "params": { - "UseDualStack": false, "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecr-fips.eu-central-1.amazonaws.com" + "url": "https://api.ecr.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, "Region": "eu-central-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.ecr.eu-central-1.api.aws" + "url": "https://api.ecr.eu-north-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "UseDualStack": true, - "Region": "us-iso-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-fips.us-iso-west-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-iso-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "UseDualStack": true, - "Region": "us-iso-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.us-iso-west-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-iso-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-fips.eu-central-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecr-fips.eu-central-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.eu-central-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.eu-central-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-fips.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecr-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecr-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-fips.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecr-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecr-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecr-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecr-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecr-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecr-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecr-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecr-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-fips.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecr-fips.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-fips.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecr-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-fips.ap-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecr-fips.ap-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.ap-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.ap-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-fips.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-fips.us-gov-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://ecr-fips.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr.us-gov-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.ecr.us-gov-west-1.amazonaws.com" + "url": "https://api.ecr.eu-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "eu-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.ecr-fips.ap-southeast-1.api.aws" + "url": "https://api.ecr.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecr-fips.ap-southeast-1.amazonaws.com" + "url": "https://api.ecr.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.ecr.ap-southeast-1.api.aws" + "url": "https://api.ecr.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.ecr.ap-southeast-1.amazonaws.com" + "url": "https://api.ecr.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "me-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.ecr-fips.ap-southeast-2.api.aws" + "url": "https://api.ecr.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ecr-fips.ap-southeast-2.amazonaws.com" + "url": "https://api.ecr.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.ecr.ap-southeast-2.api.aws" + "url": "https://ecr-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.ecr.ap-southeast-2.amazonaws.com" + "url": "https://api.ecr.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + "endpoint": { + "url": "https://ecr-fips.us-east-2.amazonaws.com" + } }, "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": true + "Region": "us-east-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.ecr-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://api.ecr.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": true + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" + "endpoint": { + "url": "https://ecr-fips.us-west-1.amazonaws.com" + } }, "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": false + "Region": "us-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.ecr.us-iso-east-1.c2s.ic.gov" + "url": "https://api.ecr.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.ecr-fips.ap-southeast-3.api.aws" + "url": "https://ecr-fips.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-3", - "UseFIPS": true + "Region": "us-west-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://ecr-fips.ap-southeast-3.amazonaws.com" + "url": "https://api.ecr-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-3", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://api.ecr.ap-southeast-3.api.aws" + "url": "https://api.ecr.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-3", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.ecr.ap-southeast-3.amazonaws.com" + "url": "https://api.ecr.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-3", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.ecr-fips.ap-southeast-4.api.aws" + "url": "https://api.ecr.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-4", - "UseFIPS": true + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://ecr-fips.ap-southeast-4.amazonaws.com" + "url": "https://api.ecr-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-4", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.ecr.ap-southeast-4.api.aws" + "url": "https://api.ecr-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-4", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://api.ecr.ap-southeast-4.amazonaws.com" + "url": "https://api.ecr.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-4", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.ecr-fips.us-east-1.api.aws" + "url": "https://api.ecr.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-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://ecr-fips.us-east-1.amazonaws.com" + "url": "https://ecr-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.ecr.us-east-1.api.aws" + "url": "https://api.ecr.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.ecr.us-east-1.amazonaws.com" + "url": "https://ecr-fips.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://api.ecr-fips.us-east-2.api.aws" + "url": "https://api.ecr-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://ecr-fips.us-east-2.amazonaws.com" + "url": "https://api.ecr.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.ecr.us-east-2.api.aws" + "url": "https://api.ecr.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.ecr.us-east-2.amazonaws.com" + "url": "https://api.ecr.us-iso-west-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-iso-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://api.ecr-fips.cn-northwest-1.api.amazonwebservices.com.cn" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.ecr-fips.cn-northwest-1.amazonaws.com.cn" + "url": "https://api.ecr-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://api.ecr.cn-northwest-1.api.amazonwebservices.com.cn" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.ecr.cn-northwest-1.amazonaws.com.cn" + "url": "https://api.ecr.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1714,9 +587,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -1727,9 +600,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -1738,35 +611,35 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://api.ecr.us-isob-east-1.sc2s.sgov.gov" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, - "Region": "us-isob-east-1", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1776,9 +649,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1788,11 +661,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/ecr/src/main/resources/codegen-resources/service-2.json b/services/ecr/src/main/resources/codegen-resources/service-2.json old mode 100755 new mode 100644 index 0d7f4cf77957..23337aecd042 --- a/services/ecr/src/main/resources/codegen-resources/service-2.json +++ b/services/ecr/src/main/resources/codegen-resources/service-2.json @@ -145,7 +145,8 @@ {"shape":"ServerException"}, {"shape":"InvalidParameterException"}, {"shape":"RepositoryNotFoundException"}, - {"shape":"LifecyclePolicyNotFoundException"} + {"shape":"LifecyclePolicyNotFoundException"}, + {"shape":"ValidationException"} ], "documentation":"

      Deletes the lifecycle policy associated with the specified repository.

      " }, @@ -354,7 +355,8 @@ {"shape":"ServerException"}, {"shape":"InvalidParameterException"}, {"shape":"RepositoryNotFoundException"}, - {"shape":"LifecyclePolicyNotFoundException"} + {"shape":"LifecyclePolicyNotFoundException"}, + {"shape":"ValidationException"} ], "documentation":"

      Retrieves the lifecycle policy for the specified repository.

      " }, @@ -370,7 +372,8 @@ {"shape":"ServerException"}, {"shape":"InvalidParameterException"}, {"shape":"RepositoryNotFoundException"}, - {"shape":"LifecyclePolicyPreviewNotFoundException"} + {"shape":"LifecyclePolicyPreviewNotFoundException"}, + {"shape":"ValidationException"} ], "documentation":"

      Retrieves the results of the lifecycle policy preview request for the specified repository.

      " }, @@ -531,7 +534,8 @@ "errors":[ {"shape":"ServerException"}, {"shape":"InvalidParameterException"}, - {"shape":"RepositoryNotFoundException"} + {"shape":"RepositoryNotFoundException"}, + {"shape":"ValidationException"} ], "documentation":"

      Creates or updates the lifecycle policy for the specified repository. For more information, see Lifecycle policy template.

      " }, @@ -627,7 +631,8 @@ {"shape":"InvalidParameterException"}, {"shape":"RepositoryNotFoundException"}, {"shape":"LifecyclePolicyNotFoundException"}, - {"shape":"LifecyclePolicyPreviewInProgressException"} + {"shape":"LifecyclePolicyPreviewInProgressException"}, + {"shape":"ValidationException"} ], "documentation":"

      Starts a preview of a lifecycle policy for the specified repository. This allows you to see the results before associating the lifecycle policy with the repository.

      " }, @@ -1025,7 +1030,7 @@ }, "repositoryName":{ "shape":"RepositoryName", - "documentation":"

      The name to use for the repository. The repository name may be specified on its own (such as nginx-web-app) or it can be prepended with a namespace to group the repository into a category (such as project-a/nginx-web-app).

      " + "documentation":"

      The name to use for the repository. The repository name may be specified on its own (such as nginx-web-app) or it can be prepended with a namespace to group the repository into a category (such as project-a/nginx-web-app).

      The repository name must start with a letter and can only contain lowercase letters, numbers, hyphens, underscores, and forward slashes.

      " }, "tags":{ "shape":"TagList", @@ -3009,7 +3014,7 @@ "members":{ "scanFrequency":{ "shape":"ScanFrequency", - "documentation":"

      The frequency that scans are performed at for a private registry. When the ENHANCED scan type is specified, the supported scan frequencies are CONTINUOUS_SCAN and SCAN_ON_PUSH. When the BASIC scan type is specified, the SCAN_ON_PUSH and MANUAL scan frequencies are supported.

      " + "documentation":"

      The frequency that scans are performed at for a private registry. When the ENHANCED scan type is specified, the supported scan frequencies are CONTINUOUS_SCAN and SCAN_ON_PUSH. When the BASIC scan type is specified, the SCAN_ON_PUSH scan frequency is supported. If scan on push is not specified, then the MANUAL scan frequency is set by default.

      " }, "repositoryFilters":{ "shape":"ScanningRepositoryFilterList", @@ -3110,7 +3115,7 @@ "members":{ "repositoryArn":{ "shape":"Arn", - "documentation":"

      The Amazon Resource Name (ARN) that identifies the repository. The ARN contains the arn:aws:ecr namespace, followed by the region of the repository, Amazon Web Services account ID of the repository owner, repository namespace, and repository name. For example, arn:aws:ecr:region:012345678910:repository/test.

      " + "documentation":"

      The Amazon Resource Name (ARN) that identifies the repository. The ARN contains the arn:aws:ecr namespace, followed by the region of the repository, Amazon Web Services account ID of the repository owner, repository namespace, and repository name. For example, arn:aws:ecr:region:012345678910:repository-namespace/repository-name.

      " }, "registryId":{ "shape":"RegistryId", @@ -3167,7 +3172,7 @@ "documentation":"

      The repository filter type. The only supported value is PREFIX_MATCH, which is a repository name prefix specified with the filter parameter.

      " } }, - "documentation":"

      The filter settings used with image replication. Specifying a repository filter to a replication rule provides a method for controlling which repositories in a private registry are replicated. If no repository filter is specified, all images in the repository are replicated.

      " + "documentation":"

      The filter settings used with image replication. Specifying a repository filter to a replication rule provides a method for controlling which repositories in a private registry are replicated. If no filters are added, the contents of all repositories are replicated.

      " }, "RepositoryFilterList":{ "type":"list", @@ -3563,6 +3568,10 @@ "Status":{"type":"string"}, "Tag":{ "type":"structure", + "required":[ + "Key", + "Value" + ], "members":{ "Key":{ "shape":"TagKey", diff --git a/services/ecrpublic/pom.xml b/services/ecrpublic/pom.xml index 4b0cb6eeaa9e..029db0bdb3ec 100644 --- a/services/ecrpublic/pom.xml +++ b/services/ecrpublic/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ecrpublic AWS Java SDK :: Services :: ECR PUBLIC diff --git a/services/ecrpublic/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/ecrpublic/src/main/resources/codegen-resources/endpoint-rule-set.json index b399a8125a12..a3c2e8ec8923 100644 --- a/services/ecrpublic/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/ecrpublic/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://api.ecr-public-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://api.ecr-public-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://api.ecr-public-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://api.ecr-public-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://api.ecr-public.{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://api.ecr-public.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://api.ecr-public.{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://api.ecr-public.{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/services/ecrpublic/src/main/resources/codegen-resources/endpoint-tests.json b/services/ecrpublic/src/main/resources/codegen-resources/endpoint-tests.json index 71702bbc29c4..a5d16d9e714a 100644 --- a/services/ecrpublic/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/ecrpublic/src/main/resources/codegen-resources/endpoint-tests.json @@ -9,8 +9,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -22,8 +22,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -35,8 +35,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -48,8 +48,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -61,8 +61,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -74,8 +74,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -87,8 +87,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -100,8 +100,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -113,8 +113,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -126,8 +126,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -139,8 +139,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -152,8 +152,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -163,8 +163,8 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -176,8 +176,8 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -187,8 +187,8 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -200,8 +200,8 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -211,8 +211,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -224,8 +224,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -235,8 +235,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -248,8 +248,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -261,8 +261,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -274,8 +274,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -286,8 +286,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -298,8 +298,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } }, diff --git a/services/ecs/pom.xml b/services/ecs/pom.xml index 9d89c29ca405..54f551ee6174 100644 --- a/services/ecs/pom.xml +++ b/services/ecs/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ecs AWS Java SDK :: Services :: Amazon EC2 Container Service diff --git a/services/efs/pom.xml b/services/efs/pom.xml index 1111bf3d1249..7a065df5ce2d 100644 --- a/services/efs/pom.xml +++ b/services/efs/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT efs AWS Java SDK :: Services :: Amazon Elastic File System diff --git a/services/efs/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/efs/src/main/resources/codegen-resources/endpoint-rule-set.json index e2a751df21fb..2501aa43f99c 100644 --- a/services/efs/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/efs/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://elasticfilesystem-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://elasticfilesystem-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://elasticfilesystem-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://elasticfilesystem-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://elasticfilesystem.{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://elasticfilesystem.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://elasticfilesystem.{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://elasticfilesystem.{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/services/efs/src/main/resources/codegen-resources/service-2.json b/services/efs/src/main/resources/codegen-resources/service-2.json index 1fb57e8f110c..538db2a104c0 100644 --- a/services/efs/src/main/resources/codegen-resources/service-2.json +++ b/services/efs/src/main/resources/codegen-resources/service-2.json @@ -98,7 +98,7 @@ {"shape":"ThroughputLimitExceeded"}, {"shape":"InternalServerError"} ], - "documentation":"

      Creates a replication configuration that replicates an existing EFS file system to a new, read-only file system. For more information, see Amazon EFS replication in the Amazon EFS User Guide. The replication configuration specifies the following:

      • Source file system - An existing EFS file system that you want replicated. The source file system cannot be a destination file system in an existing replication configuration.

      • Destination file system configuration - The configuration of the destination file system to which the source file system will be replicated. There can only be one destination file system in a replication configuration. The destination file system configuration consists of the following properties:

        • Amazon Web Services Region - The Amazon Web Services Region in which the destination file system is created. Amazon EFS replication is available in all Amazon Web Services Regions that Amazon EFS is available in, except Africa (Cape Town), Asia Pacific (Hong Kong), Asia Pacific (Jakarta), Europe (Milan), and Middle East (Bahrain).

        • Availability Zone - If you want the destination file system to use EFS One Zone availability and durability, you must specify the Availability Zone to create the file system in. For more information about EFS storage classes, see Amazon EFS storage classes in the Amazon EFS User Guide.

        • Encryption - All destination file systems are created with encryption at rest enabled. You can specify the Key Management Service (KMS) key that is used to encrypt the destination file system. If you don't specify a KMS key, your service-managed KMS key for Amazon EFS is used.

          After the file system is created, you cannot change the KMS key.

      The following properties are set by default:

      • Performance mode - The destination file system's performance mode matches that of the source file system, unless the destination file system uses EFS One Zone storage. In that case, the General Purpose performance mode is used. The performance mode cannot be changed.

      • Throughput mode - The destination file system's throughput mode matches that of the source file system. After the file system is created, you can modify the throughput mode.

      The following properties are turned off by default:

      • Lifecycle management - EFS lifecycle management and EFS Intelligent-Tiering are not enabled on the destination file system. After the destination file system is created, you can enable EFS lifecycle management and EFS Intelligent-Tiering.

      • Automatic backups - Automatic daily backups not enabled on the destination file system. After the file system is created, you can change this setting.

      For more information, see Amazon EFS replication in the Amazon EFS User Guide.

      " + "documentation":"

      Creates a replication configuration that replicates an existing EFS file system to a new, read-only file system. For more information, see Amazon EFS replication in the Amazon EFS User Guide. The replication configuration specifies the following:

      • Source file system - An existing EFS file system that you want replicated. The source file system cannot be a destination file system in an existing replication configuration.

      • Destination file system configuration - The configuration of the destination file system to which the source file system will be replicated. There can only be one destination file system in a replication configuration. The destination file system configuration consists of the following properties:

        • Amazon Web Services Region - The Amazon Web Services Region in which the destination file system is created. Amazon EFS replication is available in all Amazon Web Services Regions in which EFS is available. To use EFS replication in a Region that is disabled by default, you must first opt in to the Region. For more information, see Managing Amazon Web Services Regions in the Amazon Web Services General Reference Reference Guide

        • Availability Zone - If you want the destination file system to use EFS One Zone availability and durability, you must specify the Availability Zone to create the file system in. For more information about EFS storage classes, see Amazon EFS storage classes in the Amazon EFS User Guide.

        • Encryption - All destination file systems are created with encryption at rest enabled. You can specify the Key Management Service (KMS) key that is used to encrypt the destination file system. If you don't specify a KMS key, your service-managed KMS key for Amazon EFS is used.

          After the file system is created, you cannot change the KMS key.

      The following properties are set by default:

      • Performance mode - The destination file system's performance mode matches that of the source file system, unless the destination file system uses EFS One Zone storage. In that case, the General Purpose performance mode is used. The performance mode cannot be changed.

      • Throughput mode - The destination file system's throughput mode matches that of the source file system. After the file system is created, you can modify the throughput mode.

      The following properties are turned off by default:

      • Lifecycle management - EFS lifecycle management and EFS Intelligent-Tiering are not enabled on the destination file system. After the destination file system is created, you can enable EFS lifecycle management and EFS Intelligent-Tiering.

      • Automatic backups - Automatic daily backups are enabled on the destination file system. After the file system is created, you can change this setting.

      For more information, see Amazon EFS replication in the Amazon EFS User Guide.

      " }, "CreateTags":{ "name":"CreateTags", @@ -194,7 +194,7 @@ {"shape":"FileSystemNotFound"}, {"shape":"ReplicationNotFound"} ], - "documentation":"

      Deletes an existing replication configuration. To delete a replication configuration, you must make the request from the Amazon Web Services Region in which the destination file system is located. Deleting a replication configuration ends the replication process. After a replication configuration is deleted, the destination file system is no longer read-only. You can write to the destination file system after its status becomes Writeable.

      " + "documentation":"

      Deletes an existing replication configuration. Deleting a replication configuration ends the replication process. After a replication configuration is deleted, the destination file system is no longer read-only. You can write to the destination file system after its status becomes Writeable.

      " }, "DeleteTags":{ "name":"DeleteTags", @@ -242,7 +242,7 @@ "errors":[ {"shape":"InternalServerError"} ], - "documentation":"

      Returns the account preferences settings for the Amazon Web Services account associated with the user making the request, in the current Amazon Web Services Region. For more information, see Managing Amazon EFS resource IDs.

      " + "documentation":"

      Returns the account preferences settings for the Amazon Web Services account associated with the user making the request, in the current Amazon Web Services Region.

      " }, "DescribeBackupPolicy":{ "name":"DescribeBackupPolicy", @@ -738,7 +738,7 @@ }, "PerformanceMode":{ "shape":"PerformanceMode", - "documentation":"

      The performance mode of the file system. We recommend generalPurpose performance mode for most file systems. File systems using the maxIO performance mode can scale to higher levels of aggregate throughput and operations per second with a tradeoff of slightly higher latencies for most file operations. The performance mode can't be changed after the file system has been created.

      The maxIO mode is not supported on file systems using One Zone storage classes.

      " + "documentation":"

      The performance mode of the file system. We recommend generalPurpose performance mode for most file systems. File systems using the maxIO performance mode can scale to higher levels of aggregate throughput and operations per second with a tradeoff of slightly higher latencies for most file operations. The performance mode can't be changed after the file system has been created.

      The maxIO mode is not supported on file systems using One Zone storage classes.

      Default is generalPurpose.

      " }, "Encrypted":{ "shape":"Encrypted", @@ -754,7 +754,7 @@ }, "ProvisionedThroughputInMibps":{ "shape":"ProvisionedThroughputInMibps", - "documentation":"

      The throughput, measured in MiB/s, that you want to provision for a file system that you're creating. Valid values are 1-1024. Required if ThroughputMode is set to provisioned. The upper limit for throughput is 1024 MiB/s. To increase this limit, contact Amazon Web Services Support. For more information, see Amazon EFS quotas that you can increase in the Amazon EFS User Guide.

      " + "documentation":"

      The throughput, measured in mebibytes per second (MiBps), that you want to provision for a file system that you're creating. Required if ThroughputMode is set to provisioned. Valid values are 1-3414 MiBps, with the upper limit depending on Region. To increase this limit, contact Amazon Web Services Support. For more information, see Amazon EFS quotas that you can increase in the Amazon EFS User Guide.

      " }, "AvailabilityZoneName":{ "shape":"AvailabilityZoneName", @@ -1412,7 +1412,7 @@ }, "ProvisionedThroughputInMibps":{ "shape":"ProvisionedThroughputInMibps", - "documentation":"

      The amount of provisioned throughput, measured in MiB/s, for the file system. Valid for file systems using ThroughputMode set to provisioned.

      " + "documentation":"

      The amount of provisioned throughput, measured in MiBps, for the file system. Valid for file systems using ThroughputMode set to provisioned.

      " }, "AvailabilityZoneName":{ "shape":"AvailabilityZoneName", @@ -2005,7 +2005,8 @@ "shape":"Destinations", "documentation":"

      An array of destination objects. Only one destination object is supported.

      " } - } + }, + "documentation":"

      Describes the replication configuration for a specific file system.

      " }, "ReplicationConfigurationDescriptions":{ "type":"list", @@ -2328,7 +2329,7 @@ }, "ProvisionedThroughputInMibps":{ "shape":"ProvisionedThroughputInMibps", - "documentation":"

      (Optional) Sets the amount of provisioned throughput, in MiB/s, for the file system. Valid values are 1-1024. If you are changing the throughput mode to provisioned, you must also provide the amount of provisioned throughput. Required if ThroughputMode is changed to provisioned on update.

      " + "documentation":"

      (Optional) The throughput, measured in mebibytes per second (MiBps), that you want to provision for a file system that you're creating. Required if ThroughputMode is set to provisioned. Valid values are 1-3414 MiBps, with the upper limit depending on Region. To increase this limit, contact Amazon Web Services Support. For more information, see Amazon EFS quotas that you can increase in the Amazon EFS User Guide.

      " } } }, diff --git a/services/eks/pom.xml b/services/eks/pom.xml index f3b5d9a55928..00e70e0fabc3 100644 --- a/services/eks/pom.xml +++ b/services/eks/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT eks AWS Java SDK :: Services :: EKS diff --git a/services/eks/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/eks/src/main/resources/codegen-resources/endpoint-rule-set.json index 4d1971250c54..db5eed57caf9 100644 --- a/services/eks/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/eks/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,92 +140,83 @@ { "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://eks-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://eks-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 + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], @@ -221,180 +225,140 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, + "aws", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] } ] } ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - "aws", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://fips.eks.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - "aws-us-gov", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://eks.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://eks-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] + "endpoint": { + "url": "https://fips.eks.{Region}.amazonaws.com", + "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", + "fn": "stringEquals", "argv": [ - true, + "aws-us-gov", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsDualStack" + "name" ] } ] } ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://eks.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] + "endpoint": { + "url": "https://eks.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://eks-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] }, { "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], "type": "tree", "rules": [ { "conditions": [], "endpoint": { - "url": "https://eks.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://eks.{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://eks.{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/services/elasticache/pom.xml b/services/elasticache/pom.xml index e186085ae126..f45f06eddaed 100644 --- a/services/elasticache/pom.xml +++ b/services/elasticache/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT elasticache AWS Java SDK :: Services :: Amazon ElastiCache diff --git a/services/elasticache/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/elasticache/src/main/resources/codegen-resources/endpoint-rule-set.json index db2e6d163364..aeba10d94a81 100644 --- a/services/elasticache/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/elasticache/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,92 +140,83 @@ { "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://elasticache-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://elasticache-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 + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], @@ -221,155 +225,115 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, + "aws-us-gov", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] } ] } ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - "aws-us-gov", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://elasticache.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://elasticache-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] + "endpoint": { + "url": "https://elasticache.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://elasticache-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://elasticache.{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://elasticache.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://elasticache.{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://elasticache.{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/services/elasticbeanstalk/pom.xml b/services/elasticbeanstalk/pom.xml index 42f6b715128e..1d0f85cee0e5 100644 --- a/services/elasticbeanstalk/pom.xml +++ b/services/elasticbeanstalk/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT elasticbeanstalk AWS Java SDK :: Services :: AWS Elastic Beanstalk diff --git a/services/elasticbeanstalk/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/elasticbeanstalk/src/main/resources/codegen-resources/endpoint-rule-set.json index 7ca32851aff4..b872ba21425f 100644 --- a/services/elasticbeanstalk/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/elasticbeanstalk/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,64 +45,17 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "ref": "UseFIPS" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + true ] } - ] + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" }, { "conditions": [ @@ -111,19 +63,51 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "booleanEquals", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "UseDualStack" - }, - true - ] + "ref": "Region" + } + ], + "assign": "PartitionResult" } ], "type": "tree", @@ -133,38 +117,57 @@ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] }, { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -177,52 +180,46 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -260,52 +257,46 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -318,57 +309,13 @@ "type": "endpoint" } ] - } - ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ] - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-east-1" - ] - } - ], - "endpoint": { - "url": "https://elasticbeanstalk.us-gov-east-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ + }, { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-west-1" - ] + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } - ], - "endpoint": { - "url": "https://elasticbeanstalk.us-gov-west-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + ] }, { "conditions": [], @@ -382,6 +329,11 @@ ] } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/elasticbeanstalk/src/main/resources/codegen-resources/endpoint-tests.json b/services/elasticbeanstalk/src/main/resources/codegen-resources/endpoint-tests.json index d01425e7196e..c23e7b530bc3 100644 --- a/services/elasticbeanstalk/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/elasticbeanstalk/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,29 +1,55 @@ { "testCases": [ { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://elasticbeanstalk.af-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-iso-east-1" + "Region": "af-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.us-iso-east-1.c2s.ic.gov" + "url": "https://elasticbeanstalk.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticbeanstalk.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticbeanstalk.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-2", "UseFIPS": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { @@ -34,87 +60,87 @@ } }, "params": { - "UseDualStack": false, + "Region": "ap-northeast-3", "UseFIPS": false, - "Region": "ap-northeast-3" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.us-east-1.amazonaws.com" + "url": "https://elasticbeanstalk.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-south-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk-fips.us-east-1.amazonaws.com" + "url": "https://elasticbeanstalk.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-east-1" + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.eu-west-1.amazonaws.com" + "url": "https://elasticbeanstalk.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-southeast-2", "UseFIPS": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.eu-west-2.amazonaws.com" + "url": "https://elasticbeanstalk.ap-southeast-3.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-southeast-3", "UseFIPS": false, - "Region": "eu-west-2" + "UseDualStack": false } }, { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.eu-west-3.amazonaws.com" + "url": "https://elasticbeanstalk.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ca-central-1", "UseFIPS": false, - "Region": "eu-west-3" + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.me-south-1.amazonaws.com" + "url": "https://elasticbeanstalk.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-central-1", "UseFIPS": false, - "Region": "me-south-1" + "UseDualStack": false } }, { @@ -125,139 +151,139 @@ } }, "params": { - "UseDualStack": false, + "Region": "eu-north-1", "UseFIPS": false, - "Region": "eu-north-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.us-east-2.amazonaws.com" + "url": "https://elasticbeanstalk.eu-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-south-1", "UseFIPS": false, - "Region": "us-east-2" + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk-fips.us-east-2.amazonaws.com" + "url": "https://elasticbeanstalk.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-east-2" + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.sa-east-1.amazonaws.com" + "url": "https://elasticbeanstalk.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-west-2", "UseFIPS": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.ap-east-1.amazonaws.com" + "url": "https://elasticbeanstalk.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-west-3", "UseFIPS": false, - "Region": "ap-east-1" + "UseDualStack": false } }, { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.eu-south-1.amazonaws.com" + "url": "https://elasticbeanstalk.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "me-south-1", "UseFIPS": false, - "Region": "eu-south-1" + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.eu-central-1.amazonaws.com" + "url": "https://elasticbeanstalk.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "sa-east-1", "UseFIPS": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.ap-southeast-1.amazonaws.com" + "url": "https://elasticbeanstalk.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.ap-southeast-2.amazonaws.com" + "url": "https://elasticbeanstalk-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-southeast-2" + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.ap-southeast-3.amazonaws.com" + "url": "https://elasticbeanstalk.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-2", "UseFIPS": false, - "Region": "ap-southeast-3" + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.ca-central-1.amazonaws.com" + "url": "https://elasticbeanstalk-fips.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ca-central-1" + "Region": "us-east-2", + "UseFIPS": true, + "UseDualStack": false } }, { @@ -268,9 +294,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-west-1", "UseFIPS": false, - "Region": "us-west-1" + "UseDualStack": false } }, { @@ -281,9 +307,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-west-1", "UseFIPS": true, - "Region": "us-west-1" + "UseDualStack": false } }, { @@ -294,9 +320,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-west-2", "UseFIPS": false, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -307,139 +333,152 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-west-2", "UseFIPS": true, - "Region": "us-west-2" + "UseDualStack": false } }, { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.af-south-1.amazonaws.com" + "url": "https://elasticbeanstalk-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "af-south-1" + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.ap-south-1.amazonaws.com" + "url": "https://elasticbeanstalk.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "ap-south-1" + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.ap-northeast-1.amazonaws.com" + "url": "https://elasticbeanstalk.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.ap-northeast-2.amazonaws.com" + "url": "https://elasticbeanstalk.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-northwest-1", "UseFIPS": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk-fips.us-east-1.api.aws" + "url": "https://elasticbeanstalk-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.us-east-1.api.aws" + "url": "https://elasticbeanstalk-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elasticbeanstalk.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.us-gov-west-1.amazonaws.com" + "url": "https://elasticbeanstalk.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.us-gov-west-1.amazonaws.com" + "url": "https://elasticbeanstalk.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.us-gov-east-1.amazonaws.com" + "url": "https://elasticbeanstalk.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-west-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.us-gov-east-1.amazonaws.com" + "url": "https://elasticbeanstalk.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-west-1", "UseFIPS": true, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -450,9 +489,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -463,113 +502,131 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://elasticbeanstalk-fips.us-isob-east-1.sc2s.sgov.gov" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.us-isob-east-1.sc2s.sgov.gov" + "url": "https://elasticbeanstalk-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-isob-east-1" + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://elasticbeanstalk.cn-northwest-1.amazonaws.com.cn" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "cn-northwest-1" + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.cn-north-1.amazonaws.com.cn" + "url": "https://elasticbeanstalk.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://elasticbeanstalk-fips.cn-north-1.api.amazonwebservices.com.cn" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk-fips.cn-north-1.amazonaws.com.cn" + "url": "https://elasticbeanstalk-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticbeanstalk.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://elasticbeanstalk.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "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, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { "UseFIPS": false, - "Region": "us-east-1", + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -579,9 +636,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -591,11 +648,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/elasticinference/pom.xml b/services/elasticinference/pom.xml index 74133e5ae109..8e0351bd5b13 100644 --- a/services/elasticinference/pom.xml +++ b/services/elasticinference/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT elasticinference AWS Java SDK :: Services :: Elastic Inference diff --git a/services/elasticinference/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/elasticinference/src/main/resources/codegen-resources/endpoint-rule-set.json index e95fcde4b7e4..8d0a9e4933a2 100644 --- a/services/elasticinference/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/elasticinference/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://api.elastic-inference-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://api.elastic-inference-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://api.elastic-inference-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://api.elastic-inference-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://api.elastic-inference.{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://api.elastic-inference.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://api.elastic-inference.{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://api.elastic-inference.{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/services/elasticloadbalancing/pom.xml b/services/elasticloadbalancing/pom.xml index 4de5e766b41f..ae7a4f62707e 100644 --- a/services/elasticloadbalancing/pom.xml +++ b/services/elasticloadbalancing/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT elasticloadbalancing AWS Java SDK :: Services :: Elastic Load Balancing diff --git a/services/elasticloadbalancing/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/elasticloadbalancing/src/main/resources/codegen-resources/endpoint-rule-set.json index ed9f27248ecc..ac783e2300a6 100644 --- a/services/elasticloadbalancing/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/elasticloadbalancing/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://elasticloadbalancing-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://elasticloadbalancing-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -247,7 +241,7 @@ } ], "endpoint": { - "url": "https://elasticloadbalancing.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://elasticloadbalancing.{Region}.amazonaws.com", "properties": {}, "headers": {} }, @@ -263,78 +257,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://elasticloadbalancing.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://elasticloadbalancing.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://elasticloadbalancing.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://elasticloadbalancing.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/elasticloadbalancing/src/main/resources/codegen-resources/endpoint-tests.json b/services/elasticloadbalancing/src/main/resources/codegen-resources/endpoint-tests.json index 0747cda8d2a9..a5e023b96c19 100644 --- a/services/elasticloadbalancing/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/elasticloadbalancing/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,94 +1,68 @@ { "testCases": [ { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.ap-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.ap-south-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack enabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.ap-south-2.api.aws" + "url": "https://elasticloadbalancing.af-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-2", - "UseFIPS": false + "Region": "af-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.ap-south-2.amazonaws.com" + "url": "https://elasticloadbalancing.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-south-2", - "UseFIPS": false + "Region": "ap-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing-fips.ap-south-1.api.aws" + "url": "https://elasticloadbalancing.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing-fips.ap-south-1.amazonaws.com" + "url": "https://elasticloadbalancing.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.ap-south-1.api.aws" + "url": "https://elasticloadbalancing.ap-northeast-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false + "Region": "ap-northeast-3", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -99,256 +73,48 @@ } }, "params": { - "UseDualStack": false, "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.eu-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.eu-south-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.eu-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.eu-south-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.me-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.me-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.me-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.me-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-central-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing-fips.ca-central-1.api.aws" + "url": "https://elasticloadbalancing.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing-fips.ca-central-1.amazonaws.com" + "url": "https://elasticloadbalancing.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.ca-central-1.api.aws" + "url": "https://elasticloadbalancing.ap-southeast-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false + "Region": "ap-southeast-3", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -359,1353 +125,460 @@ } }, "params": { - "UseDualStack": false, "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing-fips.eu-central-1.amazonaws.com" + "url": "https://elasticloadbalancing.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, "Region": "eu-central-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.eu-central-1.api.aws" + "url": "https://elasticloadbalancing.eu-north-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "UseDualStack": true, - "Region": "us-iso-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.us-iso-west-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-iso-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "UseDualStack": true, - "Region": "us-iso-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.us-iso-west-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-iso-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.eu-central-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.eu-central-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.eu-central-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.eu-central-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.ap-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.ap-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.ap-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.ap-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.us-gov-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.us-gov-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.us-gov-west-1.amazonaws.com" + "url": "https://elasticloadbalancing.eu-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "eu-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing-fips.ap-southeast-1.api.aws" + "url": "https://elasticloadbalancing.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing-fips.ap-southeast-1.amazonaws.com" + "url": "https://elasticloadbalancing.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.ap-southeast-1.api.aws" + "url": "https://elasticloadbalancing.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.ap-southeast-1.amazonaws.com" + "url": "https://elasticloadbalancing.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "me-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing-fips.ap-southeast-2.api.aws" + "url": "https://elasticloadbalancing.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing-fips.ap-southeast-2.amazonaws.com" + "url": "https://elasticloadbalancing.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.ap-southeast-2.api.aws" + "url": "https://elasticloadbalancing-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.ap-southeast-2.amazonaws.com" + "url": "https://elasticloadbalancing.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + "endpoint": { + "url": "https://elasticloadbalancing-fips.us-east-2.amazonaws.com" + } }, "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": true + "Region": "us-east-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://elasticloadbalancing.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": true + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" + "endpoint": { + "url": "https://elasticloadbalancing-fips.us-west-1.amazonaws.com" + } }, "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": false + "Region": "us-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.us-iso-east-1.c2s.ic.gov" + "url": "https://elasticloadbalancing.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing-fips.ap-southeast-3.api.aws" + "url": "https://elasticloadbalancing-fips.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-3", - "UseFIPS": true + "Region": "us-west-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing-fips.ap-southeast-3.amazonaws.com" + "url": "https://elasticloadbalancing-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-3", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.ap-southeast-3.api.aws" + "url": "https://elasticloadbalancing.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-3", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.ap-southeast-3.amazonaws.com" + "url": "https://elasticloadbalancing.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-3", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing-fips.ap-southeast-4.api.aws" + "url": "https://elasticloadbalancing.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-4", - "UseFIPS": true + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing-fips.ap-southeast-4.amazonaws.com" + "url": "https://elasticloadbalancing-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-4", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.ap-southeast-4.api.aws" + "url": "https://elasticloadbalancing-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-4", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.ap-southeast-4.amazonaws.com" + "url": "https://elasticloadbalancing.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-4", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing-fips.us-east-1.api.aws" + "url": "https://elasticloadbalancing.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-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://elasticloadbalancing-fips.us-east-1.amazonaws.com" + "url": "https://elasticloadbalancing.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.us-east-1.api.aws" + "url": "https://elasticloadbalancing.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.us-east-1.amazonaws.com" + "url": "https://elasticloadbalancing.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing-fips.us-east-2.api.aws" + "url": "https://elasticloadbalancing-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing-fips.us-east-2.amazonaws.com" + "url": "https://elasticloadbalancing.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.us-east-2.api.aws" + "url": "https://elasticloadbalancing.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.us-east-2.amazonaws.com" + "url": "https://elasticloadbalancing.us-iso-west-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-iso-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://elasticloadbalancing-fips.cn-northwest-1.api.amazonwebservices.com.cn" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing-fips.cn-northwest-1.amazonaws.com.cn" + "url": "https://elasticloadbalancing-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://elasticloadbalancing.cn-northwest-1.api.amazonwebservices.com.cn" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.cn-northwest-1.amazonaws.com.cn" + "url": "https://elasticloadbalancing.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1714,9 +587,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -1727,9 +600,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -1738,35 +611,35 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://elasticloadbalancing.us-isob-east-1.sc2s.sgov.gov" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, - "Region": "us-isob-east-1", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1776,9 +649,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1788,11 +661,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/elasticloadbalancingv2/pom.xml b/services/elasticloadbalancingv2/pom.xml index 472df30c1f78..d1369da72b73 100644 --- a/services/elasticloadbalancingv2/pom.xml +++ b/services/elasticloadbalancingv2/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT elasticloadbalancingv2 AWS Java SDK :: Services :: Elastic Load Balancing V2 diff --git a/services/elasticsearch/pom.xml b/services/elasticsearch/pom.xml index 5296508bb50a..3e3d8f570046 100644 --- a/services/elasticsearch/pom.xml +++ b/services/elasticsearch/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT elasticsearch AWS Java SDK :: Services :: Amazon Elasticsearch Service diff --git a/services/elasticsearch/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/elasticsearch/src/main/resources/codegen-resources/endpoint-rule-set.json index 07a7ff339617..4d07181f8629 100644 --- a/services/elasticsearch/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/elasticsearch/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://es-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://es-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://es-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://es-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://es.{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://es.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://es.{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://es.{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/services/elastictranscoder/pom.xml b/services/elastictranscoder/pom.xml index a8684153eb3c..ae9c4a85d26d 100644 --- a/services/elastictranscoder/pom.xml +++ b/services/elastictranscoder/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT elastictranscoder AWS Java SDK :: Services :: Amazon Elastic Transcoder diff --git a/services/elastictranscoder/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/elastictranscoder/src/main/resources/codegen-resources/endpoint-rule-set.json index 8eea76940e2f..29f802e53202 100644 --- a/services/elastictranscoder/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/elastictranscoder/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://elastictranscoder-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://elastictranscoder-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://elastictranscoder.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://elastictranscoder.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://elastictranscoder.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://elastictranscoder.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/elastictranscoder/src/main/resources/codegen-resources/endpoint-tests.json b/services/elastictranscoder/src/main/resources/codegen-resources/endpoint-tests.json index 60eecfdd7dd5..ce032519b674 100644 --- a/services/elastictranscoder/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/elastictranscoder/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,94 +1,81 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elastictranscoder-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elastictranscoder-fips.ap-south-1.amazonaws.com" + "url": "https://elastictranscoder.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elastictranscoder.ap-south-1.api.aws" + "url": "https://elastictranscoder.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, "Region": "ap-south-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elastictranscoder.ap-south-1.amazonaws.com" + "url": "https://elastictranscoder.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": false + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elastictranscoder-fips.us-west-1.api.aws" + "url": "https://elastictranscoder.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elastictranscoder-fips.us-west-1.amazonaws.com" + "url": "https://elastictranscoder.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elastictranscoder.us-west-1.api.aws" + "url": "https://elastictranscoder.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -99,48 +86,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elastictranscoder-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://elastictranscoder-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://elastictranscoder.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -151,282 +99,274 @@ } }, "params": { - "UseDualStack": false, "Region": "us-west-2", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elastictranscoder-fips.eu-west-1.api.aws" + "url": "https://elastictranscoder-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elastictranscoder-fips.eu-west-1.amazonaws.com" + "url": "https://elastictranscoder-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elastictranscoder.eu-west-1.api.aws" + "url": "https://elastictranscoder.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elastictranscoder.eu-west-1.amazonaws.com" + "url": "https://elastictranscoder-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elastictranscoder-fips.ap-northeast-1.api.aws" + "url": "https://elastictranscoder-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elastictranscoder-fips.ap-northeast-1.amazonaws.com" + "url": "https://elastictranscoder.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elastictranscoder.ap-northeast-1.api.aws" + "url": "https://elastictranscoder.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elastictranscoder.ap-northeast-1.amazonaws.com" + "url": "https://elastictranscoder-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elastictranscoder-fips.ap-southeast-1.api.aws" + "url": "https://elastictranscoder-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elastictranscoder-fips.ap-southeast-1.amazonaws.com" + "url": "https://elastictranscoder.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elastictranscoder.ap-southeast-1.api.aws" + "url": "https://elastictranscoder.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://elastictranscoder.ap-southeast-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elastictranscoder-fips.ap-southeast-2.api.aws" + "url": "https://elastictranscoder-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://elastictranscoder-fips.ap-southeast-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elastictranscoder.ap-southeast-2.api.aws" + "url": "https://elastictranscoder.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://elastictranscoder.ap-southeast-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elastictranscoder-fips.us-east-1.api.aws" + "url": "https://elastictranscoder-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://elastictranscoder-fips.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elastictranscoder.us-east-1.api.aws" + "url": "https://elastictranscoder.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://elastictranscoder.us-east-1.amazonaws.com" + "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -436,9 +376,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -448,11 +388,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/emr/pom.xml b/services/emr/pom.xml index 9bb58c8392ee..77d511786fe0 100644 --- a/services/emr/pom.xml +++ b/services/emr/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT emr AWS Java SDK :: Services :: Amazon EMR diff --git a/services/emr/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/emr/src/main/resources/codegen-resources/endpoint-rule-set.json index 6cf6d2ab7013..0aae80e768bd 100644 --- a/services/emr/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/emr/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,92 +140,83 @@ { "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://elasticmapreduce-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://elasticmapreduce-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 + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], @@ -221,155 +225,115 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, + "aws-us-gov", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] } ] } ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - "aws-us-gov", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://elasticmapreduce.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://elasticmapreduce-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] + "endpoint": { + "url": "https://elasticmapreduce.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://elasticmapreduce-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://elasticmapreduce.{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://elasticmapreduce.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://elasticmapreduce.{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://elasticmapreduce.{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/services/emrcontainers/pom.xml b/services/emrcontainers/pom.xml index 5d257d267448..435ccab123a5 100644 --- a/services/emrcontainers/pom.xml +++ b/services/emrcontainers/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT emrcontainers AWS Java SDK :: Services :: EMR Containers diff --git a/services/emrcontainers/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/emrcontainers/src/main/resources/codegen-resources/endpoint-rule-set.json index 0e8ad5021ddf..527bdac7ceef 100644 --- a/services/emrcontainers/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/emrcontainers/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://emr-containers-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://emr-containers-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://emr-containers-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://emr-containers-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://emr-containers.{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://emr-containers.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://emr-containers.{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://emr-containers.{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/services/emrserverless/pom.xml b/services/emrserverless/pom.xml index 2ee41e6dbbc9..b0b28fe2b6fc 100644 --- a/services/emrserverless/pom.xml +++ b/services/emrserverless/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT emrserverless AWS Java SDK :: Services :: EMR Serverless diff --git a/services/emrserverless/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/emrserverless/src/main/resources/codegen-resources/endpoint-rule-set.json index 9af69616e2b9..d3eee9057b7d 100644 --- a/services/emrserverless/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/emrserverless/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://emr-serverless-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://emr-serverless-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://emr-serverless-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://emr-serverless-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://emr-serverless.{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://emr-serverless.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://emr-serverless.{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://emr-serverless.{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/services/emrserverless/src/main/resources/codegen-resources/service-2.json b/services/emrserverless/src/main/resources/codegen-resources/service-2.json index a4437ef55a38..33f6edb8e384 100644 --- a/services/emrserverless/src/main/resources/codegen-resources/service-2.json +++ b/services/emrserverless/src/main/resources/codegen-resources/service-2.json @@ -345,7 +345,12 @@ "workerTypeSpecifications":{ "shape":"WorkerTypeSpecificationMap", "documentation":"

      The specification applied to each worker type.

      " - } + }, + "runtimeConfiguration":{ + "shape":"ConfigurationList", + "documentation":"

      The Configuration specifications of an application. Each configuration consists of a classification and properties. You use this parameter when creating or updating an application. To see the runtimeConfiguration object of an application, run the GetApplication API operation.

      " + }, + "monitoringConfiguration":{"shape":"MonitoringConfiguration"} }, "documentation":"

      Information about an application. Amazon EMR Serverless uses applications to run jobs.

      " }, @@ -674,6 +679,14 @@ "workerTypeSpecifications":{ "shape":"WorkerTypeSpecificationInputMap", "documentation":"

      The key-value pairs that specify worker type to WorkerTypeSpecificationInput. This parameter must contain all valid worker types for a Spark or Hive application. Valid worker types include Driver and Executor for Spark applications and HiveDriver and TezTask for Hive applications. You can either set image details in this parameter for each worker type, or in imageConfiguration for all worker types.

      " + }, + "runtimeConfiguration":{ + "shape":"ConfigurationList", + "documentation":"

      The Configuration specifications to use when creating an application. Each configuration consists of a classification and properties. This configuration is applied to all the job runs submitted under the application.

      " + }, + "monitoringConfiguration":{ + "shape":"MonitoringConfiguration", + "documentation":"

      The configuration setting for monitoring.

      " } } }, @@ -1800,6 +1813,14 @@ "releaseLabel":{ "shape":"ReleaseLabel", "documentation":"

      The Amazon EMR release label for the application. You can change the release label to use a different release of Amazon EMR.

      " + }, + "runtimeConfiguration":{ + "shape":"ConfigurationList", + "documentation":"

      The Configuration specifications to use when updating an application. Each configuration consists of a classification and properties. This configuration is applied across all the job runs submitted under the application.

      " + }, + "monitoringConfiguration":{ + "shape":"MonitoringConfiguration", + "documentation":"

      The configuration setting for monitoring.

      " } } }, diff --git a/services/entityresolution/pom.xml b/services/entityresolution/pom.xml index fb51faedfb81..787e2192ffba 100644 --- a/services/entityresolution/pom.xml +++ b/services/entityresolution/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT entityresolution AWS Java SDK :: Services :: Entity Resolution diff --git a/services/entityresolution/src/main/resources/codegen-resources/endpoint-tests.json b/services/entityresolution/src/main/resources/codegen-resources/endpoint-tests.json index a836f3e8d6cb..8ea988970b3c 100644 --- a/services/entityresolution/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/entityresolution/src/main/resources/codegen-resources/endpoint-tests.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://entityresolution-fips.us-gov-east-1.api.aws" + "url": "https://entityresolution-fips.us-east-1.api.aws" } }, "params": { - "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "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://entityresolution-fips.us-gov-east-1.amazonaws.com" + "url": "https://entityresolution-fips.us-east-1.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "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://entityresolution.us-gov-east-1.api.aws" + "url": "https://entityresolution.us-east-1.api.aws" } }, "params": { - "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "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://entityresolution.us-gov-east-1.amazonaws.com" + "url": "https://entityresolution.us-east-1.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -61,8 +61,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -74,8 +74,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -87,8 +87,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -100,108 +100,108 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "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://entityresolution-fips.us-gov-east-1.api.aws" + } }, "params": { - "Region": "us-iso-east-1", - "UseDualStack": true, - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "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://entityresolution-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://entityresolution-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "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://entityresolution.us-gov-east-1.api.aws" + } }, "params": { - "Region": "us-iso-east-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "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://entityresolution.us-iso-east-1.c2s.ic.gov" + "url": "https://entityresolution.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "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://entityresolution-fips.us-east-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "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://entityresolution-fips.us-east-1.amazonaws.com" + "url": "https://entityresolution-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "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://entityresolution.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "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://entityresolution.us-east-1.amazonaws.com" + "url": "https://entityresolution.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -211,8 +211,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -224,8 +224,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -235,8 +235,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -248,12 +248,12 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" @@ -261,8 +261,21 @@ }, "params": { "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -273,8 +286,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -285,10 +298,16 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/entityresolution/src/main/resources/codegen-resources/service-2.json b/services/entityresolution/src/main/resources/codegen-resources/service-2.json index 2603a3901ed4..c2e1ae1434cb 100644 --- a/services/entityresolution/src/main/resources/codegen-resources/service-2.json +++ b/services/entityresolution/src/main/resources/codegen-resources/service-2.json @@ -193,7 +193,7 @@ {"shape":"AccessDeniedException"}, {"shape":"ValidationException"} ], - "documentation":"

      Returns a list of all the MatchingWorkflows that have been created for an AWS account.

      " + "documentation":"

      Returns a list of all the MatchingWorkflows that have been created for an Amazon Web Services account.

      " }, "ListSchemaMappings":{ "name":"ListSchemaMappings", @@ -210,7 +210,7 @@ {"shape":"AccessDeniedException"}, {"shape":"ValidationException"} ], - "documentation":"

      Returns a list of all the SchemaMappings that have been created for an AWS account.

      " + "documentation":"

      Returns a list of all the SchemaMappings that have been created for an Amazon Web Services account.

      " }, "ListTagsForResource":{ "name":"ListTagsForResource", @@ -226,7 +226,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ValidationException"} ], - "documentation":"

      Displays the tags associated with an AWS Entity Resolution resource. In Entity Resolution, SchemaMapping, and MatchingWorkflow can be tagged.

      " + "documentation":"

      Displays the tags associated with an Entity Resolution resource. In Entity Resolution, SchemaMapping, and MatchingWorkflow can be tagged.

      " }, "StartMatchingJob":{ "name":"StartMatchingJob", @@ -262,7 +262,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ValidationException"} ], - "documentation":"

      Assigns one or more tags (key-value pairs) to the specified AWS Entity Resolution resource. Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values. In Entity Resolution, SchemaMapping, and MatchingWorkflow can be tagged. Tags don't have any semantic meaning to AWS and are interpreted strictly as strings of characters. You can use the TagResource action with a resource that already has tags. If you specify a new tag key, this tag is appended to the list of tags associated with the resource. If you specify a tag key that is already associated with the resource, the new tag value that you specify replaces the previous value for that tag.

      " + "documentation":"

      Assigns one or more tags (key-value pairs) to the specified Entity Resolution resource. Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values. In Entity Resolution, SchemaMapping and MatchingWorkflow can be tagged. Tags don't have any semantic meaning to Amazon Web Services and are interpreted strictly as strings of characters. You can use the TagResource action with a resource that already has tags. If you specify a new tag key, this tag is appended to the list of tags associated with the resource. If you specify a tag key that is already associated with the resource, the new tag value that you specify replaces the previous value for that tag.

      " }, "UntagResource":{ "name":"UntagResource", @@ -277,7 +277,7 @@ {"shape":"InternalServerException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

      Removes one or more tags from the specified AWS Entity Resolution resource. In Entity Resolution, SchemaMapping, and MatchingWorkflow can be tagged.

      ", + "documentation":"

      Removes one or more tags from the specified Entity Resolution resource. In Entity Resolution, SchemaMapping, and MatchingWorkflow can be tagged.

      ", "idempotent":true }, "UpdateMatchingWorkflow":{ @@ -370,11 +370,11 @@ }, "resolutionTechniques":{ "shape":"ResolutionTechniques", - "documentation":"

      An object which defines the resolutionType and the ruleBasedProperties

      " + "documentation":"

      An object which defines the resolutionType and the ruleBasedProperties.

      " }, "roleArn":{ "shape":"String", - "documentation":"

      The Amazon Resource Name (ARN) of the IAM role. AWS Entity Resolution assumes this role to create resources on your behalf as part of workflow execution.

      " + "documentation":"

      The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to create resources on your behalf as part of workflow execution.

      " }, "tags":{ "shape":"TagMap", @@ -415,11 +415,11 @@ }, "resolutionTechniques":{ "shape":"ResolutionTechniques", - "documentation":"

      An object which defines the resolutionType and the ruleBasedProperties

      " + "documentation":"

      An object which defines the resolutionType and the ruleBasedProperties.

      " }, "roleArn":{ "shape":"String", - "documentation":"

      The Amazon Resource Name (ARN) of the IAM role. AWS Entity Resolution assumes this role to create resources on your behalf as part of workflow execution.

      " + "documentation":"

      The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to create resources on your behalf as part of workflow execution.

      " }, "workflowArn":{ "shape":"MatchingWorkflowArn", @@ -433,7 +433,10 @@ }, "CreateSchemaMappingInput":{ "type":"structure", - "required":["schemaName"], + "required":[ + "mappedInputFields", + "schemaName" + ], "members":{ "description":{ "shape":"Description", @@ -553,9 +556,17 @@ "ExceedsLimitException":{ "type":"structure", "members":{ - "message":{"shape":"ErrorMessage"} + "message":{"shape":"ErrorMessage"}, + "quotaName":{ + "shape":"String", + "documentation":"

      The name of the quota that has been breached.

      " + }, + "quotaValue":{ + "shape":"Integer", + "documentation":"

      The current quota value for the customers.

      " + } }, - "documentation":"

      The request was rejected because it attempted to create resources beyond the current AWS Entity Resolution account limits. The error message describes the limit exceeded. HTTP Status Code: 402

      ", + "documentation":"

      The request was rejected because it attempted to create resources beyond the current Entity Resolution account limits. The error message describes the limit exceeded. HTTP Status Code: 402

      ", "error":{ "httpStatusCode":402, "senderFault":true @@ -641,7 +652,7 @@ }, "status":{ "shape":"JobStatus", - "documentation":"

      The current status of the job. Either running, succeeded, queued, or failed.

      " + "documentation":"

      The current status of the job.

      " } } }, @@ -692,11 +703,11 @@ }, "resolutionTechniques":{ "shape":"ResolutionTechniques", - "documentation":"

      An object which defines the resolutionType and the ruleBasedProperties

      " + "documentation":"

      An object which defines the resolutionType and the ruleBasedProperties.

      " }, "roleArn":{ "shape":"String", - "documentation":"

      The Amazon Resource Name (ARN) of the IAM role. AWS Entity Resolution assumes this role to access resources on your behalf.

      " + "documentation":"

      The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to access resources on your behalf.

      " }, "tags":{ "shape":"TagMap", @@ -823,7 +834,7 @@ "members":{ "message":{"shape":"ErrorMessage"} }, - "documentation":"

      This exception occurs when there is an internal failure in the AWS Entity Resolution service. HTTP Status Code: 500

      ", + "documentation":"

      This exception occurs when there is an internal failure in the Entity Resolution service. HTTP Status Code: 500

      ", "error":{"httpStatusCode":500}, "exception":true, "fault":true, @@ -850,7 +861,7 @@ }, "recordsNotProcessed":{ "shape":"Integer", - "documentation":"

      The total number of records that did not get processed,

      " + "documentation":"

      The total number of records that did not get processed.

      " }, "totalRecordsProcessed":{ "shape":"Integer", @@ -890,7 +901,7 @@ }, "status":{ "shape":"JobStatus", - "documentation":"

      The current status of the job. Either running, succeeded, queued, or failed.

      " + "documentation":"

      The current status of the job.

      " } }, "documentation":"

      An object containing the JobId, Status, StartTime, and EndTime of a job.

      " @@ -934,7 +945,7 @@ "members":{ "jobs":{ "shape":"JobList", - "documentation":"

      A list of JobSummary objects, each of which contain the ID, status, start time, and end time of a job.

      " + "documentation":"

      A list of JobSummary objects, each of which contain the ID, status, start time, and end time of a job.

      " }, "nextToken":{ "shape":"NextToken", @@ -1089,7 +1100,7 @@ "documentation":"

      A name of a column to be written to the output. This must be an InputField name in the schema mapping.

      " } }, - "documentation":"

      A list of OutputAttribute objects, each of which have the fields Name and Hashed. Each of these objects selects a column to be included in the output table, and whether the values of the column should be hashed.

      " + "documentation":"

      A list of OutputAttribute objects, each of which have the fields Name and Hashed. Each of these objects selects a column to be included in the output table, and whether the values of the column should be hashed.

      " }, "OutputSource":{ "type":"structure", @@ -1108,14 +1119,14 @@ }, "output":{ "shape":"OutputSourceOutputList", - "documentation":"

      A list of OutputAttribute objects, each of which have the fields Name and Hashed. Each of these objects selects a column to be included in the output table, and whether the values of the column should be hashed.

      " + "documentation":"

      A list of OutputAttribute objects, each of which have the fields Name and Hashed. Each of these objects selects a column to be included in the output table, and whether the values of the column should be hashed.

      " }, "outputS3Path":{ - "shape":"OutputSourceOutputS3PathString", + "shape":"S3Path", "documentation":"

      The S3 path to which Entity Resolution will write the output table.

      " } }, - "documentation":"

      A list of OutputAttribute objects, each of which have the fields Name and Hashed. Each of these objects selects a column to be included in the output table, and whether the values of the column should be hashed.

      " + "documentation":"

      A list of OutputAttribute objects, each of which have the fields Name and Hashed. Each of these objects selects a column to be included in the output table, and whether the values of the column should be hashed.

      " }, "OutputSourceConfig":{ "type":"list", @@ -1129,10 +1140,6 @@ "max":750, "min":0 }, - "OutputSourceOutputS3PathString":{ - "type":"string", - "pattern":"^s3://([^/]+)/?(.*?([^/]+)/?)$" - }, "RecordAttributeMap":{ "type":"map", "key":{"shape":"RecordAttributeMapKeyString"}, @@ -1153,17 +1160,18 @@ }, "ResolutionTechniques":{ "type":"structure", + "required":["resolutionType"], "members":{ "resolutionType":{ "shape":"ResolutionType", - "documentation":"

      There are two types of matching, RULE_MATCHING and ML_MATCHING

      " + "documentation":"

      The type of matching. There are two types of matching: RULE_MATCHING and ML_MATCHING.

      " }, "ruleBasedProperties":{ "shape":"RuleBasedProperties", "documentation":"

      An object which defines the list of matching rules to run and has a field Rules, which is a list of rule objects.

      " } }, - "documentation":"

      An object which defines the resolutionType and the ruleBasedProperties

      " + "documentation":"

      An object which defines the resolutionType and the ruleBasedProperties.

      " }, "ResolutionType":{ "type":"string", @@ -1211,11 +1219,11 @@ "members":{ "attributeMatchingModel":{ "shape":"AttributeMatchingModel", - "documentation":"

      You can either choose ONE_TO_ONE or MANY_TO_MANY as the AttributeMatchingModel. When choosing MANY_TO_MANY, the system can match attribute across the sub-types of an attribute type. For example, if the value of the Email field of Profile A and the value of BusinessEmail field of Profile B matches, the two profiles are matched on the Email type. When choosing ONE_TO_ONE the system can only match if the sub-types are exact matches. For example, only when the value of the Email field of Profile A and the value of the Email field of Profile B matches, the two profiles are matched on the Email type.

      " + "documentation":"

      The comparison type. You can either choose ONE_TO_ONE or MANY_TO_MANY as the AttributeMatchingModel. When choosing MANY_TO_MANY, the system can match attributes across the sub-types of an attribute type. For example, if the value of the Email field of Profile A and the value of BusinessEmail field of Profile B matches, the two profiles are matched on the Email type. When choosing ONE_TO_ONE ,the system can only match if the sub-types are exact matches. For example, only when the value of the Email field of Profile A and the value of the Email field of Profile B matches, the two profiles are matched on the Email type.

      " }, "rules":{ "shape":"RuleBasedPropertiesRulesList", - "documentation":"

      A list of Rule objects, each of which have fields RuleName and MatchingKeys.

      " + "documentation":"

      A list of Rule objects, each of which have fields RuleName and MatchingKeys.

      " } }, "documentation":"

      An object which defines the list of matching rules to run and has a field Rules, which is a list of rule objects.

      " @@ -1238,6 +1246,10 @@ "min":0, "pattern":"^[a-zA-Z_0-9- \\t]*$" }, + "S3Path":{ + "type":"string", + "pattern":"^s3://([^/]+)/?(.*?([^/]+)/?)$" + }, "SchemaAttributeType":{ "type":"string", "enum":[ @@ -1279,7 +1291,7 @@ }, "matchKey":{ "shape":"AttributeName", - "documentation":"

      A key that allows grouping of multiple input attributes into a unified matching group. For example, let's consider a scenario where the source table contains various addresses, such as business_address and shipping_address. By assigning the MatchKey Address' to both attributes, Entity Resolution will match records across these fields to create a consolidated matching group. If no MatchKey is specified for a column, it won't be utilized for matching purposes but will still be included in the output table.

      " + "documentation":"

      A key that allows grouping of multiple input attributes into a unified matching group. For example, let's consider a scenario where the source table contains various addresses, such as business_address and shipping_address. By assigning the MatchKey Address to both attributes, Entity Resolution will match records across these fields to create a consolidated matching group. If no MatchKey is specified for a column, it won't be utilized for matching purposes but will still be included in the output table.

      " }, "type":{ "shape":"SchemaAttributeType", @@ -1468,11 +1480,11 @@ }, "resolutionTechniques":{ "shape":"ResolutionTechniques", - "documentation":"

      An object which defines the resolutionType and the ruleBasedProperties

      " + "documentation":"

      An object which defines the resolutionType and the ruleBasedProperties.

      " }, "roleArn":{ "shape":"String", - "documentation":"

      The Amazon Resource Name (ARN) of the IAM role. AWS Entity Resolution assumes this role to create resources on your behalf as part of workflow execution.

      " + "documentation":"

      The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to create resources on your behalf as part of workflow execution.

      " }, "workflowName":{ "shape":"EntityName", @@ -1514,7 +1526,7 @@ }, "roleArn":{ "shape":"String", - "documentation":"

      The Amazon Resource Name (ARN) of the IAM role. AWS Entity Resolution assumes this role to create resources on your behalf as part of workflow execution.

      " + "documentation":"

      The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to create resources on your behalf as part of workflow execution.

      " }, "workflowName":{ "shape":"EntityName", @@ -1527,7 +1539,7 @@ "members":{ "message":{"shape":"ErrorMessage"} }, - "documentation":"

      The input fails to satisfy the constraints specified by AWS Entity Resolution. HTTP Status Code: 400

      ", + "documentation":"

      The input fails to satisfy the constraints specified by Entity Resolution. HTTP Status Code: 400

      ", "error":{ "httpStatusCode":400, "senderFault":true @@ -1539,5 +1551,5 @@ "pattern":"^arn:(aws|aws-us-gov|aws-cn):(entityresolution):.*:[0-9]+:((schemamapping|matchingworkflow)/[a-zA-Z0-9_-]+)$" } }, - "documentation":"

      Welcome to the AWS Entity Resolution API Reference.

      AWS Entity Resolution is an AWS service that provides pre-configured entity resolution capabilities that enable developers and analysts at advertising and marketing companies to build an accurate and complete view of their consumers.

      With AWS Entity Resolution, you have the ability to match source records containing consumer identifiers, such as name, email address, and phone number. This holds true even when these records have incomplete or conflicting identifiers. For example, AWS Entity Resolution can effectively match a source record from a customer relationship management (CRM) system, which includes account information like first name, last name, postal address, phone number, and email address, with a source record from a marketing system containing campaign information, such as username and email address.

      To learn more about AWS Entity Resolution concepts, procedures, and best practices, see the AWS Entity Resolution User Guide.

      " + "documentation":"

      Welcome to the Entity Resolution API Reference.

      Entity Resolution is an Amazon Web Services service that provides pre-configured entity resolution capabilities that enable developers and analysts at advertising and marketing companies to build an accurate and complete view of their consumers.

      With Entity Resolution, you can match source records containing consumer identifiers, such as name, email address, and phone number. This is true even when these records have incomplete or conflicting identifiers. For example, Entity Resolution can effectively match a source record from a customer relationship management (CRM) system with a source record from a marketing system containing campaign information.

      To learn more about Entity Resolution concepts, procedures, and best practices, see the Entity Resolution User Guide.

      " } diff --git a/services/eventbridge/pom.xml b/services/eventbridge/pom.xml index f94579e6558b..d2342a78266e 100644 --- a/services/eventbridge/pom.xml +++ b/services/eventbridge/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT eventbridge AWS Java SDK :: Services :: EventBridge diff --git a/services/eventbridge/src/main/resources/codegen-resources/service-2.json b/services/eventbridge/src/main/resources/codegen-resources/service-2.json index 9a0d3a3d902e..deba6afc6974 100644 --- a/services/eventbridge/src/main/resources/codegen-resources/service-2.json +++ b/services/eventbridge/src/main/resources/codegen-resources/service-2.json @@ -1053,6 +1053,13 @@ "min":1, "pattern":"^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$" }, + "AuthHeaderParametersSensitive":{ + "type":"string", + "max":512, + "min":1, + "pattern":"^[ \\t]*[^\\x00-\\x1F:\\x7F]+([ \\t]+[^\\x00-\\x1F:\\x7F]+)*[ \\t]*$", + "sensitive":true + }, "AwsVpcConfiguration":{ "type":"structure", "required":["Subnets"], @@ -1317,7 +1324,7 @@ "documentation":"

      The key for the parameter.

      " }, "Value":{ - "shape":"String", + "shape":"SensitiveString", "documentation":"

      The value associated with the key.

      " }, "IsValueSecret":{ @@ -1346,7 +1353,7 @@ "documentation":"

      The key for the parameter.

      " }, "Value":{ - "shape":"HeaderValue", + "shape":"HeaderValueSensitive", "documentation":"

      The value associated with the key.

      " }, "IsValueSecret":{ @@ -1434,7 +1441,7 @@ "documentation":"

      The key for a query string parameter.

      " }, "Value":{ - "shape":"QueryStringValue", + "shape":"QueryStringValueSensitive", "documentation":"

      The value associated with the key for the query string parameter.

      " }, "IsValueSecret":{ @@ -1589,7 +1596,7 @@ "documentation":"

      The name of the API key to use for authorization.

      " }, "ApiKeyValue":{ - "shape":"AuthHeaderParameters", + "shape":"AuthHeaderParametersSensitive", "documentation":"

      The value for the API key to use for authorization.

      " } }, @@ -1629,7 +1636,7 @@ "documentation":"

      The user name to use for Basic authorization.

      " }, "Password":{ - "shape":"AuthHeaderParameters", + "shape":"AuthHeaderParametersSensitive", "documentation":"

      The password associated with the user name to use for Basic authorization.

      " } }, @@ -1647,7 +1654,7 @@ "documentation":"

      The client ID to use for OAuth authorization for the connection.

      " }, "ClientSecret":{ - "shape":"AuthHeaderParameters", + "shape":"AuthHeaderParametersSensitive", "documentation":"

      The client secret associated with the client ID to use for OAuth authorization for the connection.

      " } }, @@ -2855,6 +2862,12 @@ "max":512, "pattern":"^[ \\t]*[\\x20-\\x7E]+([ \\t]+[\\x20-\\x7E]+)*[ \\t]*$" }, + "HeaderValueSensitive":{ + "type":"string", + "max":512, + "pattern":"^[ \\t]*[\\x20-\\x7E]+([ \\t]+[\\x20-\\x7E]+)*[ \\t]*$", + "sensitive":true + }, "HealthCheck":{ "type":"string", "max":1600, @@ -3934,6 +3947,12 @@ "max":512, "pattern":"[^\\x00-\\x09\\x0B\\x0C\\x0E-\\x1F\\x7F]+" }, + "QueryStringValueSensitive":{ + "type":"string", + "max":512, + "pattern":"[^\\x00-\\x09\\x0B\\x0C\\x0E-\\x1F\\x7F]+", + "sensitive":true + }, "RedshiftDataParameters":{ "type":"structure", "required":["Database"], @@ -4417,6 +4436,10 @@ "min":20, "pattern":"^arn:aws([a-z]|\\-)*:secretsmanager:([a-z]|\\d|\\-)*:([0-9]{12})?:secret:[\\/_+=\\.@\\-A-Za-z0-9]+$" }, + "SensitiveString":{ + "type":"string", + "sensitive":true + }, "Sql":{ "type":"string", "documentation":"A single Redshift SQL", @@ -4850,7 +4873,7 @@ "documentation":"

      The name of the API key to use for authorization.

      " }, "ApiKeyValue":{ - "shape":"AuthHeaderParameters", + "shape":"AuthHeaderParametersSensitive", "documentation":"

      The value associated with teh API key to use for authorization.

      " } }, @@ -4886,7 +4909,7 @@ "documentation":"

      The user name to use for Basic authorization.

      " }, "Password":{ - "shape":"AuthHeaderParameters", + "shape":"AuthHeaderParametersSensitive", "documentation":"

      The password associated with the user name to use for Basic authorization.

      " } }, @@ -4900,7 +4923,7 @@ "documentation":"

      The client ID to use for OAuth authorization.

      " }, "ClientSecret":{ - "shape":"AuthHeaderParameters", + "shape":"AuthHeaderParametersSensitive", "documentation":"

      The client secret assciated with the client ID to use for OAuth authorization.

      " } }, diff --git a/services/evidently/pom.xml b/services/evidently/pom.xml index b5c383b06c67..e0fb324b0acc 100644 --- a/services/evidently/pom.xml +++ b/services/evidently/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT evidently AWS Java SDK :: Services :: Evidently diff --git a/services/evidently/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/evidently/src/main/resources/codegen-resources/endpoint-rule-set.json index 62b497a4d058..6e34edea1f86 100644 --- a/services/evidently/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/evidently/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://evidently-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://evidently-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://evidently-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://evidently-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://evidently.{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://evidently.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://evidently.{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://evidently.{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/services/evidently/src/main/resources/codegen-resources/endpoint-tests.json b/services/evidently/src/main/resources/codegen-resources/endpoint-tests.json index a4d7b24cb142..6b6595b130eb 100644 --- a/services/evidently/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/evidently/src/main/resources/codegen-resources/endpoint-tests.json @@ -8,9 +8,9 @@ } }, "params": { + "Region": "ap-northeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { @@ -21,9 +21,9 @@ } }, "params": { + "Region": "ap-southeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { @@ -34,9 +34,9 @@ } }, "params": { + "Region": "ap-southeast-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { @@ -47,9 +47,9 @@ } }, "params": { + "Region": "eu-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { @@ -60,9 +60,9 @@ } }, "params": { + "Region": "eu-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-north-1" + "UseDualStack": false } }, { @@ -73,9 +73,9 @@ } }, "params": { + "Region": "eu-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { @@ -86,9 +86,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -99,9 +99,9 @@ } }, "params": { + "Region": "us-east-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-2" + "UseDualStack": false } }, { @@ -112,9 +112,9 @@ } }, "params": { + "Region": "us-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -125,9 +125,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -138,9 +138,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -151,9 +151,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -164,9 +164,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -177,9 +177,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -190,9 +190,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -203,9 +203,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -216,9 +216,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -229,9 +229,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -242,9 +242,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -255,9 +255,20 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -268,9 +279,20 @@ } }, "params": { + "Region": "us-iso-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", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -281,9 +303,20 @@ } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -294,9 +327,20 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -307,9 +351,9 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -320,9 +364,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -345,9 +389,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" } }, @@ -357,11 +401,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/services/finspace/pom.xml b/services/finspace/pom.xml index b10a29ba1eb8..74c858f0f884 100644 --- a/services/finspace/pom.xml +++ b/services/finspace/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT finspace AWS Java SDK :: Services :: Finspace diff --git a/services/finspacedata/pom.xml b/services/finspacedata/pom.xml index 2feb801c3a17..537ae3f29f20 100644 --- a/services/finspacedata/pom.xml +++ b/services/finspacedata/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT finspacedata AWS Java SDK :: Services :: Finspace Data diff --git a/services/finspacedata/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/finspacedata/src/main/resources/codegen-resources/endpoint-rule-set.json index 56ad009e44f1..eb3162996870 100644 --- a/services/finspacedata/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/finspacedata/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://finspace-api-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://finspace-api-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://finspace-api.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://finspace-api.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://finspace-api.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://finspace-api.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/finspacedata/src/main/resources/codegen-resources/endpoint-tests.json b/services/finspacedata/src/main/resources/codegen-resources/endpoint-tests.json index bb88d70e76f8..382bcc5ca762 100644 --- a/services/finspacedata/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/finspacedata/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,276 +1,333 @@ { "testCases": [ { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://finspace-api-fips.ca-central-1.api.aws" + "url": "https://finspace-api.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, "Region": "ca-central-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://finspace-api-fips.ca-central-1.amazonaws.com" + "url": "https://finspace-api.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://finspace-api.ca-central-1.api.aws" + "url": "https://finspace-api.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://finspace-api.ca-central-1.amazonaws.com" + "url": "https://finspace-api.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://finspace-api-fips.us-west-2.api.aws" + "url": "https://finspace-api.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, "Region": "us-west-2", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://finspace-api-fips.us-west-2.amazonaws.com" + "url": "https://finspace-api-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://finspace-api.us-west-2.api.aws" + "url": "https://finspace-api-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://finspace-api.us-west-2.amazonaws.com" + "url": "https://finspace-api.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://finspace-api-fips.eu-west-1.api.aws" + "url": "https://finspace-api-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://finspace-api-fips.eu-west-1.amazonaws.com" + "url": "https://finspace-api-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://finspace-api.eu-west-1.api.aws" + "url": "https://finspace-api.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://finspace-api.eu-west-1.amazonaws.com" + "url": "https://finspace-api.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://finspace-api-fips.us-east-1.api.aws" + "url": "https://finspace-api-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-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://finspace-api-fips.us-east-1.amazonaws.com" + "url": "https://finspace-api-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://finspace-api.us-east-1.api.aws" + "url": "https://finspace-api.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-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://finspace-api.us-east-1.amazonaws.com" + "url": "https://finspace-api.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://finspace-api-fips.us-east-2.api.aws" + "url": "https://finspace-api-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://finspace-api-fips.us-east-2.amazonaws.com" + "url": "https://finspace-api.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://finspace-api.us-east-2.api.aws" + "url": "https://finspace-api-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://finspace-api.us-east-2.amazonaws.com" + "url": "https://finspace-api.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -280,9 +337,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -292,11 +349,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/finspacedata/src/main/resources/codegen-resources/service-2.json b/services/finspacedata/src/main/resources/codegen-resources/service-2.json index e537e5865fba..8998082fd666 100644 --- a/services/finspacedata/src/main/resources/codegen-resources/service-2.json +++ b/services/finspacedata/src/main/resources/codegen-resources/service-2.json @@ -29,7 +29,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ConflictException"} ], - "documentation":"

      Adds a user account to a permission group to grant permissions for actions a user can perform in FinSpace.

      " + "documentation":"

      Adds a user to a permission group to grant permissions for actions a user can perform in FinSpace.

      " }, "CreateChangeset":{ "name":"CreateChangeset", @@ -195,7 +195,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ConflictException"} ], - "documentation":"

      Removes a user account from a permission group.

      " + "documentation":"

      Removes a user from a permission group.

      " }, "EnableUser":{ "name":"EnableUser", @@ -317,7 +317,7 @@ {"shape":"ThrottlingException"}, {"shape":"AccessDeniedException"} ], - "documentation":"

      Request programmatic credentials to use with FinSpace SDK.

      " + "documentation":"

      Request programmatic credentials to use with FinSpace SDK. For more information, see Step 2. Access credentials programmatically using IAM access key id and secret access key.

      " }, "GetUser":{ "name":"GetUser", @@ -435,7 +435,7 @@ {"shape":"AccessDeniedException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

      Lists all the permission groups that are associated with a specific user account.

      " + "documentation":"

      Lists all the permission groups that are associated with a specific user.

      " }, "ListUsers":{ "name":"ListUsers", @@ -451,7 +451,7 @@ {"shape":"ThrottlingException"}, {"shape":"AccessDeniedException"} ], - "documentation":"

      Lists all available user accounts in FinSpace.

      " + "documentation":"

      Lists all available users in FinSpace.

      " }, "ListUsersByPermissionGroup":{ "name":"ListUsersByPermissionGroup", @@ -558,7 +558,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ConflictException"} ], - "documentation":"

      Modifies the details of the specified user account. You cannot update the userId for a user.

      " + "documentation":"

      Modifies the details of the specified user. You cannot update the userId for a user.

      " } }, "shapes":{ @@ -662,7 +662,8 @@ "documentation":"

      The Epoch time when the current credentials expire.

      " } }, - "documentation":"

      The credentials required to access the external Dataview from the S3 location.

      " + "documentation":"

      The credentials required to access the external Dataview from the S3 location.

      ", + "sensitive":true }, "Boolean":{ "type":"boolean", @@ -1058,7 +1059,7 @@ "shape":"LastName", "documentation":"

      The last name of the user that you want to register.

      " }, - "ApiAccess":{ + "apiAccess":{ "shape":"ApiAccess", "documentation":"

      The option to indicate whether the user can use the GetProgrammaticAccessCredentials API to obtain credentials that can then be used to access other FinSpace Data API operations.

      • ENABLED – The user has permissions to use the APIs.

      • DISABLED – The user does not have permissions to use any APIs.

      " }, @@ -1098,7 +1099,8 @@ "documentation":"

      The session token.

      " } }, - "documentation":"

      Short term API credentials.

      " + "documentation":"

      Short term API credentials.

      ", + "sensitive":true }, "DataViewArn":{ "type":"string", @@ -1395,7 +1397,7 @@ "members":{ "userId":{ "shape":"UserId", - "documentation":"

      The unique identifier for the user account that you want to disable.

      ", + "documentation":"

      The unique identifier for the user that you want to deactivate.

      ", "location":"uri", "locationName":"userId" }, @@ -1411,7 +1413,7 @@ "members":{ "userId":{ "shape":"UserId", - "documentation":"

      The unique identifier for the disabled user account.

      " + "documentation":"

      The unique identifier for the deactivated user.

      " } } }, @@ -1466,7 +1468,7 @@ "members":{ "userId":{ "shape":"UserId", - "documentation":"

      The unique identifier for the user account that you want to enable.

      ", + "documentation":"

      The unique identifier for the user that you want to activate.

      ", "location":"uri", "locationName":"userId" }, @@ -1482,7 +1484,7 @@ "members":{ "userId":{ "shape":"UserId", - "documentation":"

      The unique identifier for the enabled user account.

      " + "documentation":"

      The unique identifier for the active user.

      " } } }, @@ -1846,11 +1848,11 @@ "members":{ "userId":{ "shape":"UserId", - "documentation":"

      The unique identifier for the user account that is retrieved.

      " + "documentation":"

      The unique identifier for the user that is retrieved.

      " }, "status":{ "shape":"UserStatus", - "documentation":"

      The current status of the user account.

      • CREATING – The user account creation is in progress.

      • ENABLED – The user account is created and is currently active.

      • DISABLED – The user account is currently inactive.

      " + "documentation":"

      The current status of the user.

      • CREATING – The creation is in progress.

      • ENABLED – The user is created and is currently active.

      • DISABLED – The user is currently inactive.

      " }, "firstName":{ "shape":"FirstName", @@ -1878,19 +1880,19 @@ }, "createTime":{ "shape":"TimestampEpoch", - "documentation":"

      The timestamp at which the user account was created in FinSpace. The value is determined as epoch time in milliseconds.

      " + "documentation":"

      The timestamp at which the user was created in FinSpace. The value is determined as epoch time in milliseconds.

      " }, "lastEnabledTime":{ "shape":"TimestampEpoch", - "documentation":"

      Describes the last time the user account was enabled. The value is determined as epoch time in milliseconds.

      " + "documentation":"

      Describes the last time the user was activated. The value is determined as epoch time in milliseconds.

      " }, "lastDisabledTime":{ "shape":"TimestampEpoch", - "documentation":"

      Describes the last time the user account was disabled. The value is determined as epoch time in milliseconds.

      " + "documentation":"

      Describes the last time the user was deactivated. The value is determined as epoch time in milliseconds.

      " }, "lastModifiedTime":{ "shape":"TimestampEpoch", - "documentation":"

      Describes the last time the user account was updated. The value is determined as epoch time in milliseconds.

      " + "documentation":"

      Describes the last time the user details were updated. The value is determined as epoch time in milliseconds.

      " }, "lastLoginTime":{ "shape":"TimestampEpoch", @@ -2211,7 +2213,7 @@ "members":{ "users":{ "shape":"UserList", - "documentation":"

      A list of all the user accounts.

      " + "documentation":"

      A list of all the users.

      " }, "nextToken":{ "shape":"PaginationToken", @@ -2268,7 +2270,7 @@ }, "membershipStatus":{ "shape":"PermissionGroupMembershipStatus", - "documentation":"

      Indicates the status of the user account within a permission group.

      • ADDITION_IN_PROGRESS – The user account is currently being added to the permission group.

      • ADDITION_SUCCESS – The user account is successfully added to the permission group.

      • REMOVAL_IN_PROGRESS – The user is currently being removed from the permission group.

      " + "documentation":"

      Indicates the status of the user within a permission group.

      • ADDITION_IN_PROGRESS – The user is currently being added to the permission group.

      • ADDITION_SUCCESS – The user is successfully added to the permission group.

      • REMOVAL_IN_PROGRESS – The user is currently being removed from the permission group.

      " } }, "documentation":"

      The structure for a permission group.

      " @@ -2286,10 +2288,10 @@ }, "membershipStatus":{ "shape":"PermissionGroupMembershipStatus", - "documentation":"

      Indicates the status of the user account within a permission group.

      • ADDITION_IN_PROGRESS – The user account is currently being added to the permission group.

      • ADDITION_SUCCESS – The user account is successfully added to the permission group.

      • REMOVAL_IN_PROGRESS – The user is currently being removed from the permission group.

      " + "documentation":"

      Indicates the status of the user within a permission group.

      • ADDITION_IN_PROGRESS – The user is currently being added to the permission group.

      • ADDITION_SUCCESS – The user is successfully added to the permission group.

      • REMOVAL_IN_PROGRESS – The user is currently being removed from the permission group.

      " } }, - "documentation":"

      The structure of a permission group associated with a user account.

      " + "documentation":"

      The structure of a permission group associated with a user.

      " }, "PermissionGroupByUserList":{ "type":"list", @@ -2374,7 +2376,7 @@ }, "temporaryPassword":{ "shape":"Password", - "documentation":"

      A randomly generated temporary password for the requested user account. This password expires in 7 days.

      " + "documentation":"

      A randomly generated temporary password for the requested user. This password expires in 7 days.

      " } } }, @@ -2482,8 +2484,8 @@ }, "SessionDuration":{ "type":"long", - "max":720, - "min":60 + "max":60, + "min":1 }, "SessionToken":{ "type":"string", @@ -2687,7 +2689,7 @@ "members":{ "userId":{ "shape":"UserId", - "documentation":"

      The unique identifier for the user account to update.

      ", + "documentation":"

      The unique identifier for the user that you want to update.

      ", "location":"uri", "locationName":"userId" }, @@ -2723,7 +2725,7 @@ "members":{ "userId":{ "shape":"UserId", - "documentation":"

      The unique identifier of the updated user account.

      " + "documentation":"

      The unique identifier of the updated user.

      " } } }, @@ -2736,7 +2738,7 @@ }, "status":{ "shape":"UserStatus", - "documentation":"

      The current status of the user account.

      • CREATING – The user account creation is in progress.

      • ENABLED – The user account is created and is currently active.

      • DISABLED – The user account is currently inactive.

      " + "documentation":"

      The current status of the user.

      • CREATING – The user creation is in progress.

      • ENABLED – The user is created and is currently active.

      • DISABLED – The user is currently inactive.

      " }, "firstName":{ "shape":"FirstName", @@ -2764,26 +2766,26 @@ }, "createTime":{ "shape":"TimestampEpoch", - "documentation":"

      The timestamp at which the user account was created in FinSpace. The value is determined as epoch time in milliseconds.

      " + "documentation":"

      The timestamp at which the user was created in FinSpace. The value is determined as epoch time in milliseconds.

      " }, "lastEnabledTime":{ "shape":"TimestampEpoch", - "documentation":"

      Describes the last time the user account was enabled. The value is determined as epoch time in milliseconds.

      " + "documentation":"

      Describes the last time the user was activated. The value is determined as epoch time in milliseconds.

      " }, "lastDisabledTime":{ "shape":"TimestampEpoch", - "documentation":"

      Describes the last time the user account was disabled. The value is determined as epoch time in milliseconds.

      " + "documentation":"

      Describes the last time the user was deactivated. The value is determined as epoch time in milliseconds.

      " }, "lastModifiedTime":{ "shape":"TimestampEpoch", - "documentation":"

      Describes the last time the user account was updated. The value is determined as epoch time in milliseconds.

      " + "documentation":"

      Describes the last time the user was updated. The value is determined as epoch time in milliseconds.

      " }, "lastLoginTime":{ "shape":"TimestampEpoch", "documentation":"

      Describes the last time that the user logged into their account. The value is determined as epoch time in milliseconds.

      " } }, - "documentation":"

      The details of the user account.

      " + "documentation":"

      The details of the user.

      " }, "UserByPermissionGroup":{ "type":"structure", @@ -2794,7 +2796,7 @@ }, "status":{ "shape":"UserStatus", - "documentation":"

      The current status of the user account.

      • CREATING – The user account creation is in progress.

      • ENABLED – The user account is created and is currently active.

      • DISABLED – The user account is currently inactive.

      " + "documentation":"

      The current status of the user.

      • CREATING – The user creation is in progress.

      • ENABLED – The user is created and is currently active.

      • DISABLED – The user is currently inactive.

      " }, "firstName":{ "shape":"FirstName", @@ -2822,10 +2824,10 @@ }, "membershipStatus":{ "shape":"PermissionGroupMembershipStatus", - "documentation":"

      Indicates the status of the user account within a permission group.

      • ADDITION_IN_PROGRESS – The user account is currently being added to the permission group.

      • ADDITION_SUCCESS – The user account is successfully added to the permission group.

      • REMOVAL_IN_PROGRESS – The user is currently being removed from the permission group.

      " + "documentation":"

      Indicates the status of the user within a permission group.

      • ADDITION_IN_PROGRESS – The user is currently being added to the permission group.

      • ADDITION_SUCCESS – The user is successfully added to the permission group.

      • REMOVAL_IN_PROGRESS – The user is currently being removed from the permission group.

      " } }, - "documentation":"

      The structure of a user account associated with a permission group.

      " + "documentation":"

      The structure of a user associated with a permission group.

      " }, "UserByPermissionGroupList":{ "type":"list", diff --git a/services/firehose/pom.xml b/services/firehose/pom.xml index 440ee1bcd342..c908f00646c2 100644 --- a/services/firehose/pom.xml +++ b/services/firehose/pom.xml @@ -22,7 +22,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT firehose AWS Java SDK :: Services :: Amazon Kinesis Firehose diff --git a/services/firehose/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/firehose/src/main/resources/codegen-resources/endpoint-rule-set.json index 09b6d78fdb55..7e1ccd992dbd 100644 --- a/services/firehose/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/firehose/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://firehose-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://firehose-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://firehose.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://firehose.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://firehose.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://firehose.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/firehose/src/main/resources/codegen-resources/endpoint-tests.json b/services/firehose/src/main/resources/codegen-resources/endpoint-tests.json index ab71fd49ec1c..0fbff4392bd3 100644 --- a/services/firehose/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/firehose/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,1555 +1,558 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-south-1" - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-south-1" - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-south-1" - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-south-1" - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-south-1" - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-south-1" - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-south-1" - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-south-1" - } - }, - { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.eu-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-south-2" - } - }, - { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.eu-south-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-south-2" - } - }, - { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose.eu-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-south-2" - } - }, - { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose.eu-south-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-south-2" - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-gov-east-1" - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-gov-east-1" - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-gov-east-1" - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-gov-east-1" - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.me-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "me-central-1" - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.me-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "me-central-1" - } - }, - { - "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose.me-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "me-central-1" - } - }, - { - "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose.me-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "me-central-1" - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ca-central-1" - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ca-central-1" - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ca-central-1" - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ca-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-iso-west-1" - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.us-iso-west-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-iso-west-1" - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-iso-west-1" - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose.us-iso-west-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-iso-west-1" - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-west-1" - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-west-1" - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-west-1" - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-west-1" - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-west-2" - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-west-2" - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-west-2" - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-west-2" - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "af-south-1" - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "af-south-1" - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "af-south-1" - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "af-south-1" - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-north-1" - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-north-1" - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-north-1" - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-north-1" - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-west-2" - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-west-2" - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-west-2" - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-west-2" - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-west-1" - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-west-1" - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-west-1" - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-west-1" - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-northeast-3" - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-northeast-3" - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-northeast-3" - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-northeast-3" - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-northeast-2" - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-northeast-2" - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-northeast-2" - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-northeast-2" - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-northeast-1" - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-northeast-1" - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-northeast-1" - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-northeast-1" - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "me-south-1" - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "me-south-1" - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "me-south-1" - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "me-south-1" - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "sa-east-1" - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://firehose-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "sa-east-1" - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose.sa-east-1.api.aws" + "url": "https://firehose.af-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "af-south-1", "UseFIPS": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose.sa-east-1.amazonaws.com" + "url": "https://firehose.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-east-1", "UseFIPS": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose-fips.ap-east-1.api.aws" + "url": "https://firehose.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-east-1" + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose-fips.ap-east-1.amazonaws.com" + "url": "https://firehose.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-east-1" + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose.ap-east-1.api.aws" + "url": "https://firehose.ap-northeast-3.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "ap-northeast-3", "UseFIPS": false, - "Region": "ap-east-1" + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose.ap-east-1.amazonaws.com" + "url": "https://firehose.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-south-1", "UseFIPS": false, - "Region": "ap-east-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose-fips.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://firehose.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "cn-north-1" + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose-fips.cn-north-1.amazonaws.com.cn" + "url": "https://firehose.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "cn-north-1" + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://firehose.ap-southeast-3.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "ap-southeast-3", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose.cn-north-1.amazonaws.com.cn" + "url": "https://firehose.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ca-central-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose-fips.us-gov-west-1.api.aws" + "url": "https://firehose.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-gov-west-1" + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose-fips.us-gov-west-1.amazonaws.com" + "url": "https://firehose.eu-north-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-gov-west-1" + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose.us-gov-west-1.api.aws" + "url": "https://firehose.eu-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "eu-south-1", "UseFIPS": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose.us-gov-west-1.amazonaws.com" + "url": "https://firehose.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-west-1", "UseFIPS": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose-fips.ap-southeast-1.api.aws" + "url": "https://firehose.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-southeast-1" + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose-fips.ap-southeast-1.amazonaws.com" + "url": "https://firehose.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-southeast-1" + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose.ap-southeast-1.api.aws" + "url": "https://firehose.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "me-south-1", "UseFIPS": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose.ap-southeast-1.amazonaws.com" + "url": "https://firehose.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "sa-east-1", "UseFIPS": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose-fips.ap-southeast-2.api.aws" + "url": "https://firehose.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-southeast-2" + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose-fips.ap-southeast-2.amazonaws.com" + "url": "https://firehose-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": true, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose.ap-southeast-2.api.aws" + "url": "https://firehose.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "us-east-2", "UseFIPS": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose.ap-southeast-2.amazonaws.com" + "url": "https://firehose-fips.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-southeast-2" + "Region": "us-east-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + "endpoint": { + "url": "https://firehose.us-west-1.amazonaws.com" + } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-iso-east-1" + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://firehose-fips.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-west-1", "UseFIPS": true, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" + "endpoint": { + "url": "https://firehose.us-west-2.amazonaws.com" + } }, "params": { - "UseDualStack": true, + "Region": "us-west-2", "UseFIPS": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose.us-iso-east-1.c2s.ic.gov" + "url": "https://firehose-fips.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-iso-east-1" + "Region": "us-west-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://firehose-fips.ap-southeast-3.api.aws" + "url": "https://firehose-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": true, - "Region": "ap-southeast-3" + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://firehose-fips.ap-southeast-3.amazonaws.com" + "url": "https://firehose.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-southeast-3" + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose.ap-southeast-3.api.aws" + "url": "https://firehose.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "ap-southeast-3" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose.ap-southeast-3.amazonaws.com" + "url": "https://firehose.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-northwest-1", "UseFIPS": false, - "Region": "ap-southeast-3" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://firehose-fips.us-east-1.api.aws" + "url": "https://firehose-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose-fips.us-east-1.amazonaws.com" + "url": "https://firehose-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://firehose.us-east-1.api.aws" + "url": "https://firehose.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-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://firehose.us-east-1.amazonaws.com" + "url": "https://firehose.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose-fips.us-east-2.api.aws" + "url": "https://firehose-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-east-2" + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose-fips.us-east-2.amazonaws.com" + "url": "https://firehose.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-east-2" + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose.us-east-2.api.aws" + "url": "https://firehose-fips.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-east-2" + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://firehose.us-east-2.amazonaws.com" + "url": "https://firehose-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-east-2" + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://firehose-fips.cn-northwest-1.api.amazonwebservices.com.cn" + "url": "https://firehose.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "cn-northwest-1" + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose-fips.cn-northwest-1.amazonaws.com.cn" + "url": "https://firehose.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "cn-northwest-1" + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://firehose.cn-northwest-1.api.amazonwebservices.com.cn" + "url": "https://firehose-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "cn-northwest-1" + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://firehose.cn-northwest-1.amazonaws.com.cn" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "cn-northwest-1" + "UseDualStack": true } }, { @@ -1558,9 +561,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { @@ -1571,9 +574,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -1582,9 +585,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { @@ -1595,22 +598,35 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "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, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { "UseFIPS": false, - "Region": "us-east-1", + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1620,9 +636,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1632,11 +648,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/firehose/src/main/resources/codegen-resources/service-2.json b/services/firehose/src/main/resources/codegen-resources/service-2.json index fb049781c0f8..491db0b7ae0c 100644 --- a/services/firehose/src/main/resources/codegen-resources/service-2.json +++ b/services/firehose/src/main/resources/codegen-resources/service-2.json @@ -27,7 +27,7 @@ {"shape":"ResourceInUseException"}, {"shape":"InvalidKMSResourceException"} ], - "documentation":"

      Creates a Kinesis Data Firehose delivery stream.

      By default, you can create up to 50 delivery streams per Amazon Web Services Region.

      This is an asynchronous operation that immediately returns. The initial status of the delivery stream is CREATING. After the delivery stream is created, its status is ACTIVE and it now accepts data. If the delivery stream creation fails, the status transitions to CREATING_FAILED. Attempts to send data to a delivery stream that is not in the ACTIVE state cause an exception. To check the state of a delivery stream, use DescribeDeliveryStream.

      If the status of a delivery stream is CREATING_FAILED, this status doesn't change, and you can't invoke CreateDeliveryStream again on it. However, you can invoke the DeleteDeliveryStream operation to delete it.

      A Kinesis Data Firehose delivery stream can be configured to receive records directly from providers using PutRecord or PutRecordBatch, or it can be configured to use an existing Kinesis stream as its source. To specify a Kinesis data stream as input, set the DeliveryStreamType parameter to KinesisStreamAsSource, and provide the Kinesis stream Amazon Resource Name (ARN) and role ARN in the KinesisStreamSourceConfiguration parameter.

      To create a delivery stream with server-side encryption (SSE) enabled, include DeliveryStreamEncryptionConfigurationInput in your request. This is optional. You can also invoke StartDeliveryStreamEncryption to turn on SSE for an existing delivery stream that doesn't have SSE enabled.

      A delivery stream is configured with a single destination: Amazon S3, Amazon ES, Amazon Redshift, or Splunk. You must specify only one of the following destination configuration parameters: ExtendedS3DestinationConfiguration, S3DestinationConfiguration, ElasticsearchDestinationConfiguration, RedshiftDestinationConfiguration, or SplunkDestinationConfiguration.

      When you specify S3DestinationConfiguration, you can also provide the following optional values: BufferingHints, EncryptionConfiguration, and CompressionFormat. By default, if no BufferingHints value is provided, Kinesis Data Firehose buffers data up to 5 MB or for 5 minutes, whichever condition is satisfied first. BufferingHints is a hint, so there are some cases where the service cannot adhere to these conditions strictly. For example, record boundaries might be such that the size is a little over or under the configured buffering size. By default, no encryption is performed. We strongly recommend that you enable encryption to ensure secure data storage in Amazon S3.

      A few notes about Amazon Redshift as a destination:

      • An Amazon Redshift destination requires an S3 bucket as intermediate location. Kinesis Data Firehose first delivers data to Amazon S3 and then uses COPY syntax to load data into an Amazon Redshift table. This is specified in the RedshiftDestinationConfiguration.S3Configuration parameter.

      • The compression formats SNAPPY or ZIP cannot be specified in RedshiftDestinationConfiguration.S3Configuration because the Amazon Redshift COPY operation that reads from the S3 bucket doesn't support these compression formats.

      • We strongly recommend that you use the user name and password you provide exclusively with Kinesis Data Firehose, and that the permissions for the account are restricted for Amazon Redshift INSERT permissions.

      Kinesis Data Firehose assumes the IAM role that is configured as part of the destination. The role should allow the Kinesis Data Firehose principal to assume the role, and the role should have permissions that allow the service to deliver the data. For more information, see Grant Kinesis Data Firehose Access to an Amazon S3 Destination in the Amazon Kinesis Data Firehose Developer Guide.

      " + "documentation":"

      Creates a Kinesis Data Firehose delivery stream.

      By default, you can create up to 50 delivery streams per Amazon Web Services Region.

      This is an asynchronous operation that immediately returns. The initial status of the delivery stream is CREATING. After the delivery stream is created, its status is ACTIVE and it now accepts data. If the delivery stream creation fails, the status transitions to CREATING_FAILED. Attempts to send data to a delivery stream that is not in the ACTIVE state cause an exception. To check the state of a delivery stream, use DescribeDeliveryStream.

      If the status of a delivery stream is CREATING_FAILED, this status doesn't change, and you can't invoke CreateDeliveryStream again on it. However, you can invoke the DeleteDeliveryStream operation to delete it.

      A Kinesis Data Firehose delivery stream can be configured to receive records directly from providers using PutRecord or PutRecordBatch, or it can be configured to use an existing Kinesis stream as its source. To specify a Kinesis data stream as input, set the DeliveryStreamType parameter to KinesisStreamAsSource, and provide the Kinesis stream Amazon Resource Name (ARN) and role ARN in the KinesisStreamSourceConfiguration parameter.

      To create a delivery stream with server-side encryption (SSE) enabled, include DeliveryStreamEncryptionConfigurationInput in your request. This is optional. You can also invoke StartDeliveryStreamEncryption to turn on SSE for an existing delivery stream that doesn't have SSE enabled.

      A delivery stream is configured with a single destination, such as Amazon Simple Storage Service (Amazon S3), Amazon Redshift, Amazon OpenSearch Service, Amazon OpenSearch Serverless, Splunk, and any custom HTTP endpoint or HTTP endpoints owned by or supported by third-party service providers, including Datadog, Dynatrace, LogicMonitor, MongoDB, New Relic, and Sumo Logic. You must specify only one of the following destination configuration parameters: ExtendedS3DestinationConfiguration, S3DestinationConfiguration, ElasticsearchDestinationConfiguration, RedshiftDestinationConfiguration, or SplunkDestinationConfiguration.

      When you specify S3DestinationConfiguration, you can also provide the following optional values: BufferingHints, EncryptionConfiguration, and CompressionFormat. By default, if no BufferingHints value is provided, Kinesis Data Firehose buffers data up to 5 MB or for 5 minutes, whichever condition is satisfied first. BufferingHints is a hint, so there are some cases where the service cannot adhere to these conditions strictly. For example, record boundaries might be such that the size is a little over or under the configured buffering size. By default, no encryption is performed. We strongly recommend that you enable encryption to ensure secure data storage in Amazon S3.

      A few notes about Amazon Redshift as a destination:

      • An Amazon Redshift destination requires an S3 bucket as intermediate location. Kinesis Data Firehose first delivers data to Amazon S3 and then uses COPY syntax to load data into an Amazon Redshift table. This is specified in the RedshiftDestinationConfiguration.S3Configuration parameter.

      • The compression formats SNAPPY or ZIP cannot be specified in RedshiftDestinationConfiguration.S3Configuration because the Amazon Redshift COPY operation that reads from the S3 bucket doesn't support these compression formats.

      • We strongly recommend that you use the user name and password you provide exclusively with Kinesis Data Firehose, and that the permissions for the account are restricted for Amazon Redshift INSERT permissions.

      Kinesis Data Firehose assumes the IAM role that is configured as part of the destination. The role should allow the Kinesis Data Firehose principal to assume the role, and the role should have permissions that allow the service to deliver the data. For more information, see Grant Kinesis Data Firehose Access to an Amazon S3 Destination in the Amazon Kinesis Data Firehose Developer Guide.

      " }, "DeleteDeliveryStream":{ "name":"DeleteDeliveryStream", @@ -95,7 +95,7 @@ {"shape":"InvalidKMSResourceException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

      Writes a single data record into an Amazon Kinesis Data Firehose delivery stream. To write multiple data records into a delivery stream, use PutRecordBatch. Applications using these operations are referred to as producers.

      By default, each delivery stream can take in up to 2,000 transactions per second, 5,000 records per second, or 5 MB per second. If you use PutRecord and PutRecordBatch, the limits are an aggregate across these two operations for each delivery stream. For more information about limits and how to request an increase, see Amazon Kinesis Data Firehose Limits.

      You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KiB in size, and any kind of data. For example, it can be a segment from a log file, geographic location data, website clickstream data, and so on.

      Kinesis Data Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\\n) or some other character unique within the data. This allows the consumer application to parse individual data items when reading the data from the destination.

      The PutRecord operation returns a RecordId, which is a unique string assigned to each record. Producer applications can use this ID for purposes such as auditability and investigation.

      If the PutRecord operation throws a ServiceUnavailableException, back off and retry. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream.

      Data records sent to Kinesis Data Firehose are stored for 24 hours from the time they are added to a delivery stream as it tries to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available.

      Don't concatenate two or more base64 strings to form the data fields of your records. Instead, concatenate the raw data, then perform base64 encoding.

      " + "documentation":"

      Writes a single data record into an Amazon Kinesis Data Firehose delivery stream. To write multiple data records into a delivery stream, use PutRecordBatch. Applications using these operations are referred to as producers.

      By default, each delivery stream can take in up to 2,000 transactions per second, 5,000 records per second, or 5 MB per second. If you use PutRecord and PutRecordBatch, the limits are an aggregate across these two operations for each delivery stream. For more information about limits and how to request an increase, see Amazon Kinesis Data Firehose Limits.

      Kinesis Data Firehose accumulates and publishes a particular metric for a customer account in one minute intervals. It is possible that the bursts of incoming bytes/records ingested to a delivery stream last only for a few seconds. Due to this, the actual spikes in the traffic might not be fully visible in the customer's 1 minute CloudWatch metrics.

      You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KiB in size, and any kind of data. For example, it can be a segment from a log file, geographic location data, website clickstream data, and so on.

      Kinesis Data Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\\n) or some other character unique within the data. This allows the consumer application to parse individual data items when reading the data from the destination.

      The PutRecord operation returns a RecordId, which is a unique string assigned to each record. Producer applications can use this ID for purposes such as auditability and investigation.

      If the PutRecord operation throws a ServiceUnavailableException, the API is automatically reinvoked (retried) 3 times. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream.

      Re-invoking the Put API operations (for example, PutRecord and PutRecordBatch) can result in data duplicates. For larger data assets, allow for a longer time out before retrying Put API operations.

      Data records sent to Kinesis Data Firehose are stored for 24 hours from the time they are added to a delivery stream as it tries to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available.

      Don't concatenate two or more base64 strings to form the data fields of your records. Instead, concatenate the raw data, then perform base64 encoding.

      " }, "PutRecordBatch":{ "name":"PutRecordBatch", @@ -111,7 +111,7 @@ {"shape":"InvalidKMSResourceException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

      Writes multiple data records into a delivery stream in a single call, which can achieve higher throughput per producer than when writing single records. To write single data records into a delivery stream, use PutRecord. Applications using these operations are referred to as producers.

      For information about service quota, see Amazon Kinesis Data Firehose Quota.

      Each PutRecordBatch request supports up to 500 records. Each record in the request can be as large as 1,000 KB (before base64 encoding), up to a limit of 4 MB for the entire request. These limits cannot be changed.

      You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KB in size, and any kind of data. For example, it could be a segment from a log file, geographic location data, website clickstream data, and so on.

      Kinesis Data Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\\n) or some other character unique within the data. This allows the consumer application to parse individual data items when reading the data from the destination.

      The PutRecordBatch response includes a count of failed records, FailedPutCount, and an array of responses, RequestResponses. Even if the PutRecordBatch call succeeds, the value of FailedPutCount may be greater than 0, indicating that there are records for which the operation didn't succeed. Each entry in the RequestResponses array provides additional information about the processed record. It directly correlates with a record in the request array using the same ordering, from the top to the bottom. The response array always includes the same number of records as the request array. RequestResponses includes both successfully and unsuccessfully processed records. Kinesis Data Firehose tries to process all records in each PutRecordBatch request. A single record failure does not stop the processing of subsequent records.

      A successfully processed record includes a RecordId value, which is unique for the record. An unsuccessfully processed record includes ErrorCode and ErrorMessage values. ErrorCode reflects the type of error, and is one of the following values: ServiceUnavailableException or InternalFailure. ErrorMessage provides more detailed information about the error.

      If there is an internal server error or a timeout, the write might have completed or it might have failed. If FailedPutCount is greater than 0, retry the request, resending only those records that might have failed processing. This minimizes the possible duplicate records and also reduces the total bytes sent (and corresponding charges). We recommend that you handle any duplicates at the destination.

      If PutRecordBatch throws ServiceUnavailableException, back off and retry. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream.

      Data records sent to Kinesis Data Firehose are stored for 24 hours from the time they are added to a delivery stream as it attempts to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available.

      Don't concatenate two or more base64 strings to form the data fields of your records. Instead, concatenate the raw data, then perform base64 encoding.

      " + "documentation":"

      Writes multiple data records into a delivery stream in a single call, which can achieve higher throughput per producer than when writing single records. To write single data records into a delivery stream, use PutRecord. Applications using these operations are referred to as producers.

      Kinesis Data Firehose accumulates and publishes a particular metric for a customer account in one minute intervals. It is possible that the bursts of incoming bytes/records ingested to a delivery stream last only for a few seconds. Due to this, the actual spikes in the traffic might not be fully visible in the customer's 1 minute CloudWatch metrics.

      For information about service quota, see Amazon Kinesis Data Firehose Quota.

      Each PutRecordBatch request supports up to 500 records. Each record in the request can be as large as 1,000 KB (before base64 encoding), up to a limit of 4 MB for the entire request. These limits cannot be changed.

      You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KB in size, and any kind of data. For example, it could be a segment from a log file, geographic location data, website clickstream data, and so on.

      Kinesis Data Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\\n) or some other character unique within the data. This allows the consumer application to parse individual data items when reading the data from the destination.

      The PutRecordBatch response includes a count of failed records, FailedPutCount, and an array of responses, RequestResponses. Even if the PutRecordBatch call succeeds, the value of FailedPutCount may be greater than 0, indicating that there are records for which the operation didn't succeed. Each entry in the RequestResponses array provides additional information about the processed record. It directly correlates with a record in the request array using the same ordering, from the top to the bottom. The response array always includes the same number of records as the request array. RequestResponses includes both successfully and unsuccessfully processed records. Kinesis Data Firehose tries to process all records in each PutRecordBatch request. A single record failure does not stop the processing of subsequent records.

      A successfully processed record includes a RecordId value, which is unique for the record. An unsuccessfully processed record includes ErrorCode and ErrorMessage values. ErrorCode reflects the type of error, and is one of the following values: ServiceUnavailableException or InternalFailure. ErrorMessage provides more detailed information about the error.

      If there is an internal server error or a timeout, the write might have completed or it might have failed. If FailedPutCount is greater than 0, retry the request, resending only those records that might have failed processing. This minimizes the possible duplicate records and also reduces the total bytes sent (and corresponding charges). We recommend that you handle any duplicates at the destination.

      If PutRecordBatch throws ServiceUnavailableException, the API is automatically reinvoked (retried) 3 times. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream.

      Re-invoking the Put API operations (for example, PutRecord and PutRecordBatch) can result in data duplicates. For larger data assets, allow for a longer time out before retrying Put API operations.

      Data records sent to Kinesis Data Firehose are stored for 24 hours from the time they are added to a delivery stream as it attempts to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available.

      Don't concatenate two or more base64 strings to form the data fields of your records. Instead, concatenate the raw data, then perform base64 encoding.

      " }, "StartDeliveryStreamEncryption":{ "name":"StartDeliveryStreamEncryption", @@ -128,7 +128,7 @@ {"shape":"LimitExceededException"}, {"shape":"InvalidKMSResourceException"} ], - "documentation":"

      Enables server-side encryption (SSE) for the delivery stream.

      This operation is asynchronous. It returns immediately. When you invoke it, Kinesis Data Firehose first sets the encryption status of the stream to ENABLING, and then to ENABLED. The encryption status of a delivery stream is the Status property in DeliveryStreamEncryptionConfiguration. If the operation fails, the encryption status changes to ENABLING_FAILED. You can continue to read and write data to your delivery stream while the encryption status is ENABLING, but the data is not encrypted. It can take up to 5 seconds after the encryption status changes to ENABLED before all records written to the delivery stream are encrypted. To find out whether a record or a batch of records was encrypted, check the response elements PutRecordOutput$Encrypted and PutRecordBatchOutput$Encrypted, respectively.

      To check the encryption status of a delivery stream, use DescribeDeliveryStream.

      Even if encryption is currently enabled for a delivery stream, you can still invoke this operation on it to change the ARN of the CMK or both its type and ARN. If you invoke this method to change the CMK, and the old CMK is of type CUSTOMER_MANAGED_CMK, Kinesis Data Firehose schedules the grant it had on the old CMK for retirement. If the new CMK is of type CUSTOMER_MANAGED_CMK, Kinesis Data Firehose creates a grant that enables it to use the new CMK to encrypt and decrypt data and to manage the grant.

      If a delivery stream already has encryption enabled and then you invoke this operation to change the ARN of the CMK or both its type and ARN and you get ENABLING_FAILED, this only means that the attempt to change the CMK failed. In this case, encryption remains enabled with the old CMK.

      If the encryption status of your delivery stream is ENABLING_FAILED, you can invoke this operation again with a valid CMK. The CMK must be enabled and the key policy mustn't explicitly deny the permission for Kinesis Data Firehose to invoke KMS encrypt and decrypt operations.

      You can enable SSE for a delivery stream only if it's a delivery stream that uses DirectPut as its source.

      The StartDeliveryStreamEncryption and StopDeliveryStreamEncryption operations have a combined limit of 25 calls per delivery stream per 24 hours. For example, you reach the limit if you call StartDeliveryStreamEncryption 13 times and StopDeliveryStreamEncryption 12 times for the same delivery stream in a 24-hour period.

      " + "documentation":"

      Enables server-side encryption (SSE) for the delivery stream.

      This operation is asynchronous. It returns immediately. When you invoke it, Kinesis Data Firehose first sets the encryption status of the stream to ENABLING, and then to ENABLED. The encryption status of a delivery stream is the Status property in DeliveryStreamEncryptionConfiguration. If the operation fails, the encryption status changes to ENABLING_FAILED. You can continue to read and write data to your delivery stream while the encryption status is ENABLING, but the data is not encrypted. It can take up to 5 seconds after the encryption status changes to ENABLED before all records written to the delivery stream are encrypted. To find out whether a record or a batch of records was encrypted, check the response elements PutRecordOutput$Encrypted and PutRecordBatchOutput$Encrypted, respectively.

      To check the encryption status of a delivery stream, use DescribeDeliveryStream.

      Even if encryption is currently enabled for a delivery stream, you can still invoke this operation on it to change the ARN of the CMK or both its type and ARN. If you invoke this method to change the CMK, and the old CMK is of type CUSTOMER_MANAGED_CMK, Kinesis Data Firehose schedules the grant it had on the old CMK for retirement. If the new CMK is of type CUSTOMER_MANAGED_CMK, Kinesis Data Firehose creates a grant that enables it to use the new CMK to encrypt and decrypt data and to manage the grant.

      For the KMS grant creation to be successful, Kinesis Data Firehose APIs StartDeliveryStreamEncryption and CreateDeliveryStream should not be called with session credentials that are more than 6 hours old.

      If a delivery stream already has encryption enabled and then you invoke this operation to change the ARN of the CMK or both its type and ARN and you get ENABLING_FAILED, this only means that the attempt to change the CMK failed. In this case, encryption remains enabled with the old CMK.

      If the encryption status of your delivery stream is ENABLING_FAILED, you can invoke this operation again with a valid CMK. The CMK must be enabled and the key policy mustn't explicitly deny the permission for Kinesis Data Firehose to invoke KMS encrypt and decrypt operations.

      You can enable SSE for a delivery stream only if it's a delivery stream that uses DirectPut as its source.

      The StartDeliveryStreamEncryption and StopDeliveryStreamEncryption operations have a combined limit of 25 calls per delivery stream per 24 hours. For example, you reach the limit if you call StartDeliveryStreamEncryption 13 times and StopDeliveryStreamEncryption 12 times for the same delivery stream in a 24-hour period.

      " }, "StopDeliveryStreamEncryption":{ "name":"StopDeliveryStreamEncryption", @@ -192,7 +192,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ConcurrentModificationException"} ], - "documentation":"

      Updates the specified destination of the specified delivery stream.

      Use this operation to change the destination type (for example, to replace the Amazon S3 destination with Amazon Redshift) or change the parameters associated with a destination (for example, to change the bucket name of the Amazon S3 destination). The update might not occur immediately. The target delivery stream remains active while the configurations are updated, so data writes to the delivery stream can continue during this process. The updated configurations are usually effective within a few minutes.

      Switching between Amazon ES and other services is not supported. For an Amazon ES destination, you can only update to another Amazon ES destination.

      If the destination type is the same, Kinesis Data Firehose merges the configuration parameters specified with the destination configuration that already exists on the delivery stream. If any of the parameters are not specified in the call, the existing values are retained. For example, in the Amazon S3 destination, if EncryptionConfiguration is not specified, then the existing EncryptionConfiguration is maintained on the destination.

      If the destination type is not the same, for example, changing the destination from Amazon S3 to Amazon Redshift, Kinesis Data Firehose does not merge any parameters. In this case, all parameters must be specified.

      Kinesis Data Firehose uses CurrentDeliveryStreamVersionId to avoid race conditions and conflicting merges. This is a required field, and the service updates the configuration only if the existing configuration has a version ID that matches. After the update is applied successfully, the version ID is updated, and can be retrieved using DescribeDeliveryStream. Use the new version ID to set CurrentDeliveryStreamVersionId in the next call.

      " + "documentation":"

      Updates the specified destination of the specified delivery stream.

      Use this operation to change the destination type (for example, to replace the Amazon S3 destination with Amazon Redshift) or change the parameters associated with a destination (for example, to change the bucket name of the Amazon S3 destination). The update might not occur immediately. The target delivery stream remains active while the configurations are updated, so data writes to the delivery stream can continue during this process. The updated configurations are usually effective within a few minutes.

      Switching between Amazon OpenSearch Service and other services is not supported. For an Amazon OpenSearch Service destination, you can only update to another Amazon OpenSearch Service destination.

      If the destination type is the same, Kinesis Data Firehose merges the configuration parameters specified with the destination configuration that already exists on the delivery stream. If any of the parameters are not specified in the call, the existing values are retained. For example, in the Amazon S3 destination, if EncryptionConfiguration is not specified, then the existing EncryptionConfiguration is maintained on the destination.

      If the destination type is not the same, for example, changing the destination from Amazon S3 to Amazon Redshift, Kinesis Data Firehose does not merge any parameters. In this case, all parameters must be specified.

      Kinesis Data Firehose uses CurrentDeliveryStreamVersionId to avoid race conditions and conflicting merges. This is a required field, and the service updates the configuration only if the existing configuration has a version ID that matches. After the update is applied successfully, the version ID is updated, and can be retrieved using DescribeDeliveryStream. Use the new version ID to set CurrentDeliveryStreamVersionId in the next call.

      " } }, "shapes":{ @@ -276,7 +276,7 @@ "members":{ "RoleARN":{ "shape":"RoleARN", - "documentation":"

      The Amazon Resource Name (ARN) of the AWS credentials.

      " + "documentation":"

      The Amazon Resource Name (ARN) of the Amazon Web Services credentials.

      " }, "CollectionEndpoint":{ "shape":"AmazonOpenSearchServerlessCollectionEndpoint", @@ -439,7 +439,11 @@ "S3Configuration":{"shape":"S3DestinationConfiguration"}, "ProcessingConfiguration":{"shape":"ProcessingConfiguration"}, "CloudWatchLoggingOptions":{"shape":"CloudWatchLoggingOptions"}, - "VpcConfiguration":{"shape":"VpcConfiguration"} + "VpcConfiguration":{"shape":"VpcConfiguration"}, + "DocumentIdOptions":{ + "shape":"DocumentIdOptions", + "documentation":"

      Indicates the method for setting up document ID. The supported methods are Kinesis Data Firehose generated document ID and OpenSearch Service generated document ID.

      " + } }, "documentation":"

      Describes the configuration of a destination in Amazon OpenSearch Service

      " }, @@ -485,7 +489,11 @@ "S3DestinationDescription":{"shape":"S3DestinationDescription"}, "ProcessingConfiguration":{"shape":"ProcessingConfiguration"}, "CloudWatchLoggingOptions":{"shape":"CloudWatchLoggingOptions"}, - "VpcConfigurationDescription":{"shape":"VpcConfigurationDescription"} + "VpcConfigurationDescription":{"shape":"VpcConfigurationDescription"}, + "DocumentIdOptions":{ + "shape":"DocumentIdOptions", + "documentation":"

      Indicates the method for setting up document ID. The supported methods are Kinesis Data Firehose generated document ID and OpenSearch Service generated document ID.

      " + } }, "documentation":"

      The destination description in Amazon OpenSearch Service.

      " }, @@ -526,7 +534,11 @@ }, "S3Update":{"shape":"S3DestinationUpdate"}, "ProcessingConfiguration":{"shape":"ProcessingConfiguration"}, - "CloudWatchLoggingOptions":{"shape":"CloudWatchLoggingOptions"} + "CloudWatchLoggingOptions":{"shape":"CloudWatchLoggingOptions"}, + "DocumentIdOptions":{ + "shape":"DocumentIdOptions", + "documentation":"

      Indicates the method for setting up document ID. The supported methods are Kinesis Data Firehose generated document ID and OpenSearch Service generated document ID.

      " + } }, "documentation":"

      Describes an update for a destination in Amazon OpenSearch Service.

      " }, @@ -580,6 +592,24 @@ "min":0, "pattern":".*" }, + "AuthenticationConfiguration":{ + "type":"structure", + "required":[ + "RoleARN", + "Connectivity" + ], + "members":{ + "RoleARN":{ + "shape":"RoleARN", + "documentation":"

      The ARN of the role used to access the Amazon MSK cluster.

      " + }, + "Connectivity":{ + "shape":"Connectivity", + "documentation":"

      The type of connectivity used to access the Amazon MSK cluster.

      " + } + }, + "documentation":"

      The authentication configuration of the Amazon MSK cluster.

      " + }, "BlockSizeBytes":{ "type":"integer", "min":67108864 @@ -627,7 +657,7 @@ "type":"string", "max":512, "min":1, - "pattern":"jdbc:(redshift|postgresql)://((?!-)[A-Za-z0-9-]{1,63}(?Another modification has already happened. Fetch VersionId again and use it to update the destination.

      ", "exception":true }, + "Connectivity":{ + "type":"string", + "enum":[ + "PUBLIC", + "PRIVATE" + ] + }, "ContentEncoding":{ "type":"string", "enum":[ @@ -743,7 +780,8 @@ "AmazonOpenSearchServerlessDestinationConfiguration":{ "shape":"AmazonOpenSearchServerlessDestinationConfiguration", "documentation":"

      The destination in the Serverless offering for Amazon OpenSearch Service. You can specify only one destination.

      " - } + }, + "MSKSourceConfiguration":{"shape":"MSKSourceConfiguration"} } }, "CreateDeliveryStreamOutput":{ @@ -794,6 +832,13 @@ "min":1, "pattern":".*" }, + "DefaultDocumentIdFormat":{ + "type":"string", + "enum":[ + "FIREHOSE_DEFAULT", + "NO_DOCUMENT_ID" + ] + }, "DeleteDeliveryStreamInput":{ "type":"structure", "required":["DeliveryStreamName"], @@ -975,7 +1020,8 @@ "type":"string", "enum":[ "DirectPut", - "KinesisStreamAsSource" + "KinesisStreamAsSource", + "MSKAsSource" ] }, "DeliveryStreamVersionId":{ @@ -1084,6 +1130,17 @@ "min":1, "pattern":"[a-zA-Z0-9-]+" }, + "DocumentIdOptions":{ + "type":"structure", + "required":["DefaultDocumentIdFormat"], + "members":{ + "DefaultDocumentIdFormat":{ + "shape":"DefaultDocumentIdFormat", + "documentation":"

      When the FIREHOSE_DEFAULT option is chosen, Kinesis Data Firehose generates a unique document ID for each record based on a unique internal identifier. The generated document ID is stable across multiple delivery attempts, which helps prevent the same record from being indexed multiple times with different document IDs.

      When the NO_DOCUMENT_ID option is chosen, Kinesis Data Firehose does not include any document IDs in the requests it sends to the Amazon OpenSearch Service. This causes the Amazon OpenSearch Service domain to generate document IDs. In case of multiple delivery attempts, this may cause the same record to be indexed more than once with different document IDs. This option enables write-heavy operations, such as the ingestion of logs and observability data, to consume less resources in the Amazon OpenSearch Service domain, resulting in improved performance.

      " + } + }, + "documentation":"

      Indicates the method for setting up document ID. The supported methods are Kinesis Data Firehose generated document ID and OpenSearch Service generated document ID.

      " + }, "DynamicPartitioningConfiguration":{ "type":"structure", "members":{ @@ -1186,7 +1243,11 @@ }, "VpcConfiguration":{ "shape":"VpcConfiguration", - "documentation":"

      The details of the VPC of the Amazon ES destination.

      " + "documentation":"

      The details of the VPC of the Amazon destination.

      " + }, + "DocumentIdOptions":{ + "shape":"DocumentIdOptions", + "documentation":"

      Indicates the method for setting up document ID. The supported methods are Kinesis Data Firehose generated document ID and OpenSearch Service generated document ID.

      " } }, "documentation":"

      Describes the configuration of a destination in Amazon ES.

      " @@ -1244,7 +1305,11 @@ }, "VpcConfigurationDescription":{ "shape":"VpcConfigurationDescription", - "documentation":"

      The details of the VPC of the Amazon ES destination.

      " + "documentation":"

      The details of the VPC of the Amazon OpenSearch or the Amazon OpenSearch Serverless destination.

      " + }, + "DocumentIdOptions":{ + "shape":"DocumentIdOptions", + "documentation":"

      Indicates the method for setting up document ID. The supported methods are Kinesis Data Firehose generated document ID and OpenSearch Service generated document ID.

      " } }, "documentation":"

      The destination description in Amazon ES.

      " @@ -1295,6 +1360,10 @@ "CloudWatchLoggingOptions":{ "shape":"CloudWatchLoggingOptions", "documentation":"

      The CloudWatch logging options for your delivery stream.

      " + }, + "DocumentIdOptions":{ + "shape":"DocumentIdOptions", + "documentation":"

      Indicates the method for setting up document ID. The supported methods are Kinesis Data Firehose generated document ID and OpenSearch Service generated document ID.

      " } }, "documentation":"

      Describes an update for a destination in Amazon ES.

      " @@ -2073,6 +2142,57 @@ "min":0, "pattern":"[^:*]*" }, + "MSKClusterARN":{ + "type":"string", + "max":512, + "min":1, + "pattern":"arn:.*" + }, + "MSKSourceConfiguration":{ + "type":"structure", + "required":[ + "MSKClusterARN", + "TopicName", + "AuthenticationConfiguration" + ], + "members":{ + "MSKClusterARN":{ + "shape":"MSKClusterARN", + "documentation":"

      The ARN of the Amazon MSK cluster.

      " + }, + "TopicName":{ + "shape":"TopicName", + "documentation":"

      The topic name within the Amazon MSK cluster.

      " + }, + "AuthenticationConfiguration":{ + "shape":"AuthenticationConfiguration", + "documentation":"

      The authentication configuration of the Amazon MSK cluster.

      " + } + }, + "documentation":"

      The configuration for the Amazon MSK cluster to be used as the source for a delivery stream.

      " + }, + "MSKSourceDescription":{ + "type":"structure", + "members":{ + "MSKClusterARN":{ + "shape":"MSKClusterARN", + "documentation":"

      The ARN of the Amazon MSK cluster.

      " + }, + "TopicName":{ + "shape":"TopicName", + "documentation":"

      The topic name within the Amazon MSK cluster.

      " + }, + "AuthenticationConfiguration":{ + "shape":"AuthenticationConfiguration", + "documentation":"

      The authentication configuration of the Amazon MSK cluster.

      " + }, + "DeliveryStartTimestamp":{ + "shape":"DeliveryStartTimestamp", + "documentation":"

      Kinesis Data Firehose starts retrieving records from the topic within the Amazon MSK cluster starting with this timestamp.

      " + } + }, + "documentation":"

      Details about the Amazon MSK cluster used as the source for a Kinesis Data Firehose delivery stream.

      " + }, "NoEncryptionConfig":{ "type":"string", "enum":["NoEncryption"] @@ -2318,7 +2438,8 @@ "BufferSizeInMBs", "BufferIntervalInSeconds", "SubRecordType", - "Delimiter" + "Delimiter", + "CompressionFormat" ] }, "ProcessorParameterValue":{ @@ -2331,6 +2452,7 @@ "type":"string", "enum":[ "RecordDeAggregation", + "Decompression", "Lambda", "MetadataExtraction", "AppendDelimiterToRecord" @@ -2886,6 +3008,10 @@ "KinesisStreamSourceDescription":{ "shape":"KinesisStreamSourceDescription", "documentation":"

      The KinesisStreamSourceDescription value for the source Kinesis data stream.

      " + }, + "MSKSourceDescription":{ + "shape":"MSKSourceDescription", + "documentation":"

      The configuration description for the Amazon MSK cluster to be used as the source for a delivery stream.

      " } }, "documentation":"

      Details about a Kinesis data stream used as the source for a Kinesis Data Firehose delivery stream.

      " @@ -3146,6 +3272,12 @@ "pattern":"^[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$" }, "Timestamp":{"type":"timestamp"}, + "TopicName":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[a-zA-Z0-9\\\\._\\\\-]+" + }, "UntagDeliveryStreamInput":{ "type":"structure", "required":[ @@ -3256,7 +3388,7 @@ "documentation":"

      The IDs of the security groups that you want Kinesis Data Firehose to use when it creates ENIs in the VPC of the Amazon ES destination. You can use the same security group that the Amazon ES domain uses or different ones. If you specify different security groups here, ensure that they allow outbound HTTPS traffic to the Amazon ES domain's security group. Also ensure that the Amazon ES domain's security group allows HTTPS traffic from the security groups specified here. If you use the same security group for both your delivery stream and the Amazon ES domain, make sure the security group inbound rule allows HTTPS traffic. For more information about security group rules, see Security group rules in the Amazon VPC documentation.

      " } }, - "documentation":"

      The details of the VPC of the Amazon ES destination.

      " + "documentation":"

      The details of the VPC of the Amazon OpenSearch or Amazon OpenSearch Serverless destination.

      " }, "VpcConfigurationDescription":{ "type":"structure", diff --git a/services/fis/pom.xml b/services/fis/pom.xml index cc086cc53cad..2c05425c0100 100644 --- a/services/fis/pom.xml +++ b/services/fis/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT fis AWS Java SDK :: Services :: Fis diff --git a/services/fis/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/fis/src/main/resources/codegen-resources/endpoint-rule-set.json index 1c0e24873381..2e96711c94d7 100644 --- a/services/fis/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/fis/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,64 +45,17 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "ref": "UseFIPS" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + true ] } - ] + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" }, { "conditions": [ @@ -111,19 +63,51 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "booleanEquals", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "UseDualStack" - }, - true - ] + "ref": "Region" + } + ], + "assign": "PartitionResult" } ], "type": "tree", @@ -133,38 +117,57 @@ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] }, { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -177,52 +180,46 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -260,52 +257,46 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -318,20 +309,14 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ] - }, - { - "conditions": [], - "type": "tree", - "rules": [ { "conditions": [], "endpoint": { @@ -344,6 +329,11 @@ ] } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/fis/src/main/resources/codegen-resources/endpoint-tests.json b/services/fis/src/main/resources/codegen-resources/endpoint-tests.json index 389afc12fd8d..e9beaeca747d 100644 --- a/services/fis/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/fis/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,133 +1,159 @@ { "testCases": [ { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://fis-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://fis-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": 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-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://fis.us-iso-east-1.c2s.ic.gov" + "url": "https://fis-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://fis.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-iso-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://fis-fips.us-east-1.api.aws" + "url": "https://fis.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://fis-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://fis-fips.us-east-1.amazonaws.com" + "url": "https://fis-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://fis.us-east-1.api.aws" + "url": "https://fis.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://fis.us-east-1.amazonaws.com" + "url": "https://fis.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://fis.us-gov-west-1.amazonaws.com" + "url": "https://fis.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://fis.us-gov-west-1.amazonaws.com" + "url": "https://fis.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://fis.us-gov-east-1.amazonaws.com" + "url": "https://fis.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-west-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://fis.us-gov-east-1.amazonaws.com" + "url": "https://fis.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-west-1", "UseFIPS": true, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -138,9 +164,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -151,100 +177,131 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://fis-fips.us-isob-east-1.sc2s.sgov.gov" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://fis.us-isob-east-1.sc2s.sgov.gov" + "url": "https://fis-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://fis-fips.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://fis.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://fis-fips.cn-north-1.amazonaws.com.cn" + "url": "https://fis-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://fis.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://fis.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://fis.cn-north-1.amazonaws.com.cn" + "url": "https://example.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": false, + "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" } }, "params": { - "UseDualStack": false, "UseFIPS": false, - "Region": "us-east-1", + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -254,9 +311,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -266,11 +323,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/fms/pom.xml b/services/fms/pom.xml index a471cca6e681..71ddc3373c56 100644 --- a/services/fms/pom.xml +++ b/services/fms/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT fms AWS Java SDK :: Services :: FMS diff --git a/services/fms/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/fms/src/main/resources/codegen-resources/endpoint-rule-set.json index 127a40b5796d..24da5eb6ceca 100644 --- a/services/fms/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/fms/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://fms-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://fms-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://fms-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://fms-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://fms.{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://fms.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://fms.{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://fms.{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/services/forecast/pom.xml b/services/forecast/pom.xml index e1b4b76db1e1..6dd236ed2bd8 100644 --- a/services/forecast/pom.xml +++ b/services/forecast/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT forecast AWS Java SDK :: Services :: Forecast diff --git a/services/forecast/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/forecast/src/main/resources/codegen-resources/endpoint-rule-set.json index c89efcbe4304..63a8197fdce5 100644 --- a/services/forecast/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/forecast/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,64 +45,17 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "ref": "UseFIPS" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + true ] } - ] + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" }, { "conditions": [ @@ -111,19 +63,51 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "booleanEquals", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "UseDualStack" - }, - true - ] + "ref": "Region" + } + ], + "assign": "PartitionResult" } ], "type": "tree", @@ -133,90 +117,109 @@ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] }, { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://forecast-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://forecast-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -229,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://forecast.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://forecast.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://forecast.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://forecast.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/forecast/src/main/resources/codegen-resources/endpoint-tests.json b/services/forecast/src/main/resources/codegen-resources/endpoint-tests.json index 6d974b010918..bee91ac14a70 100644 --- a/services/forecast/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/forecast/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,42 +1,29 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://forecast-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-south-1" - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecast-fips.ap-south-1.amazonaws.com" + "url": "https://forecast.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-south-1" + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecast.ap-south-1.api.aws" + "url": "https://forecast.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "ap-northeast-2", "UseFIPS": false, - "Region": "ap-south-1" + "UseDualStack": false } }, { @@ -47,48 +34,35 @@ } }, "params": { - "UseDualStack": false, + "Region": "ap-south-1", "UseFIPS": false, - "Region": "ap-south-1" + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://forecast-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecast-fips.eu-central-1.amazonaws.com" + "url": "https://forecast.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-central-1" + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecast.eu-central-1.api.aws" + "url": "https://forecast.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "ap-southeast-2", "UseFIPS": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { @@ -99,438 +73,352 @@ } }, "params": { - "UseDualStack": false, + "Region": "eu-central-1", "UseFIPS": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://forecast-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-west-2" - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://forecast-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-west-2" - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecast.us-west-2.api.aws" + "url": "https://forecast.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "eu-west-1", "UseFIPS": false, - "Region": "us-west-2" + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecast.us-west-2.amazonaws.com" + "url": "https://forecast.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-west-2" + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecast-fips.eu-west-1.api.aws" + "url": "https://forecast-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": true, - "Region": "eu-west-1" + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecast-fips.eu-west-1.amazonaws.com" + "url": "https://forecast.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-west-1" + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecast.eu-west-1.api.aws" + "url": "https://forecast-fips.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-west-1" + "Region": "us-east-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecast.eu-west-1.amazonaws.com" + "url": "https://forecast.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-west-2", "UseFIPS": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecast-fips.ap-northeast-2.api.aws" + "url": "https://forecast-fips.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "us-west-2", "UseFIPS": true, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://forecast-fips.ap-northeast-2.amazonaws.com" + "url": "https://forecast-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": true, - "Region": "ap-northeast-2" + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://forecast.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-northeast-2" - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://forecast.ap-northeast-2.amazonaws.com" + "url": "https://forecast.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "ap-northeast-2" + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://forecast-fips.ap-northeast-1.api.aws" + "url": "https://forecast-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "ap-northeast-1" + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecast-fips.ap-northeast-1.amazonaws.com" + "url": "https://forecast-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://forecast.ap-northeast-1.api.aws" + "url": "https://forecast.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "ap-northeast-1" + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecast.ap-northeast-1.amazonaws.com" + "url": "https://forecast.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://forecast-fips.ap-southeast-1.api.aws" + "url": "https://forecast-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "ap-southeast-1" + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecast-fips.ap-southeast-1.amazonaws.com" + "url": "https://forecast-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://forecast.ap-southeast-1.api.aws" + "url": "https://forecast.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "ap-southeast-1" + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecast.ap-southeast-1.amazonaws.com" + "url": "https://forecast.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://forecast-fips.ap-southeast-2.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "ap-southeast-2" + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecast-fips.ap-southeast-2.amazonaws.com" + "url": "https://forecast-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://forecast.ap-southeast-2.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "ap-southeast-2" + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecast.ap-southeast-2.amazonaws.com" + "url": "https://forecast.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://forecast-fips.us-east-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecast-fips.us-east-1.amazonaws.com" + "url": "https://forecast-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://forecast.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecast.us-east-1.amazonaws.com" + "url": "https://forecast.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "us-east-1" - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://forecast-fips.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-east-2" + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://forecast-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-east-2" - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://forecast.us-east-2.api.aws" + "url": "https://example.com" } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-east-2" - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://forecast.us-east-2.amazonaws.com" - } - }, - "params": { "UseDualStack": false, - "UseFIPS": false, - "Region": "us-east-2" + "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" } }, "params": { - "UseDualStack": false, "UseFIPS": false, - "Region": "us-east-1", + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -540,9 +428,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -552,11 +440,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/forecastquery/pom.xml b/services/forecastquery/pom.xml index 3225a9571cd7..a9461511eba3 100644 --- a/services/forecastquery/pom.xml +++ b/services/forecastquery/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT forecastquery AWS Java SDK :: Services :: Forecastquery diff --git a/services/forecastquery/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/forecastquery/src/main/resources/codegen-resources/endpoint-rule-set.json index 4122195f458a..23c0913f585f 100644 --- a/services/forecastquery/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/forecastquery/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://forecastquery-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://forecastquery-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://forecastquery.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://forecastquery.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://forecastquery.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://forecastquery.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/forecastquery/src/main/resources/codegen-resources/endpoint-tests.json b/services/forecastquery/src/main/resources/codegen-resources/endpoint-tests.json index 1f9a4e9526fd..09e15d232feb 100644 --- a/services/forecastquery/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/forecastquery/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,42 +1,29 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://forecastquery-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecastquery-fips.ap-south-1.amazonaws.com" + "url": "https://forecastquery.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecastquery.ap-south-1.api.aws" + "url": "https://forecastquery.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -47,48 +34,35 @@ } }, "params": { - "UseDualStack": false, "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://forecastquery-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecastquery-fips.eu-central-1.amazonaws.com" + "url": "https://forecastquery.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecastquery.eu-central-1.api.aws" + "url": "https://forecastquery.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -99,438 +73,352 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://forecastquery-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://forecastquery-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://forecastquery.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://forecastquery.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://forecastquery-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://forecastquery-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecastquery.eu-west-1.api.aws" + "url": "https://forecastquery.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, "Region": "eu-west-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecastquery.eu-west-1.amazonaws.com" + "url": "https://forecastquery.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecastquery-fips.ap-northeast-2.api.aws" + "url": "https://forecastquery-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecastquery-fips.ap-northeast-2.amazonaws.com" + "url": "https://forecastquery.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecastquery.ap-northeast-2.api.aws" + "url": "https://forecastquery-fips.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecastquery.ap-northeast-2.amazonaws.com" + "url": "https://forecastquery.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecastquery-fips.ap-northeast-1.api.aws" + "url": "https://forecastquery-fips.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-west-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://forecastquery-fips.ap-northeast-1.amazonaws.com" + "url": "https://forecastquery-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://forecastquery.ap-northeast-1.api.aws" + "url": "https://forecastquery.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://forecastquery.ap-northeast-1.amazonaws.com" + "url": "https://forecastquery-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecastquery-fips.ap-southeast-1.api.aws" + "url": "https://forecastquery-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://forecastquery-fips.ap-southeast-1.amazonaws.com" + "url": "https://forecastquery.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecastquery.ap-southeast-1.api.aws" + "url": "https://forecastquery.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://forecastquery.ap-southeast-1.amazonaws.com" + "url": "https://forecastquery-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecastquery-fips.ap-southeast-2.api.aws" + "url": "https://forecastquery-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://forecastquery-fips.ap-southeast-2.amazonaws.com" + "url": "https://forecastquery.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecastquery.ap-southeast-2.api.aws" + "url": "https://forecastquery.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://forecastquery.ap-southeast-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecastquery-fips.us-east-1.api.aws" + "url": "https://forecastquery-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://forecastquery-fips.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecastquery.us-east-1.api.aws" + "url": "https://forecastquery.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://forecastquery.us-east-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecastquery-fips.us-east-2.api.aws" + "url": "https://forecastquery-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://forecastquery-fips.us-east-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://forecastquery.us-east-2.api.aws" + "url": "https://forecastquery.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://forecastquery.us-east-2.amazonaws.com" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -540,9 +428,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -552,11 +440,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/frauddetector/pom.xml b/services/frauddetector/pom.xml index a7e4ec81b063..e72cde664c72 100644 --- a/services/frauddetector/pom.xml +++ b/services/frauddetector/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT frauddetector AWS Java SDK :: Services :: FraudDetector diff --git a/services/frauddetector/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/frauddetector/src/main/resources/codegen-resources/endpoint-rule-set.json index ec1255684839..6d0477e06164 100644 --- a/services/frauddetector/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/frauddetector/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://frauddetector-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://frauddetector-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://frauddetector-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://frauddetector-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://frauddetector.{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://frauddetector.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://frauddetector.{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://frauddetector.{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/services/fsx/pom.xml b/services/fsx/pom.xml index 690c7c8306f7..58a5022e11f5 100644 --- a/services/fsx/pom.xml +++ b/services/fsx/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT fsx AWS Java SDK :: Services :: FSx diff --git a/services/fsx/src/main/resources/codegen-resources/service-2.json b/services/fsx/src/main/resources/codegen-resources/service-2.json index 18d5f518af63..1fde570b387c 100644 --- a/services/fsx/src/main/resources/codegen-resources/service-2.json +++ b/services/fsx/src/main/resources/codegen-resources/service-2.json @@ -600,6 +600,21 @@ "documentation":"

      Returns an Amazon FSx for OpenZFS volume to the state saved by the specified snapshot.

      ", "idempotent":true }, + "StartMisconfiguredStateRecovery":{ + "name":"StartMisconfiguredStateRecovery", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartMisconfiguredStateRecoveryRequest"}, + "output":{"shape":"StartMisconfiguredStateRecoveryResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"FileSystemNotFound"}, + {"shape":"InternalServerError"} + ], + "documentation":"

      After performing steps to repair the Active Directory configuration of an FSx for Windows File Server file system, use this action to initiate the process of Amazon FSx attempting to reconnect to the file system.

      " + }, "TagResource":{ "name":"TagResource", "http":{ @@ -858,7 +873,8 @@ "VOLUME_RESTORE", "THROUGHPUT_OPTIMIZATION", "IOPS_OPTIMIZATION", - "STORAGE_TYPE_OPTIMIZATION" + "STORAGE_TYPE_OPTIMIZATION", + "MISCONFIGURED_STATE_RECOVERY" ] }, "AdministrativeActions":{ @@ -1595,7 +1611,7 @@ "documentation":"

      The Lustre root squash configuration used when creating an Amazon FSx for Lustre file system. When enabled, root squash restricts root-level access from clients that try to access your file system as a root user.

      " } }, - "documentation":"

      The Lustre configuration for the file system being created.

      The following parameters are not supported for file systems with a data repository association created with .

      • AutoImportPolicy

      • ExportPath

      • ImportedChunkSize

      • ImportPath

      " + "documentation":"

      The Lustre configuration for the file system being created.

      The following parameters are not supported for file systems with a data repository association created with .

      • AutoImportPolicy

      • ExportPath

      • ImportedFileChunkSize

      • ImportPath

      " }, "CreateFileSystemOntapConfiguration":{ "type":"structure", @@ -1724,13 +1740,13 @@ "KmsKeyId":{"shape":"KmsKeyId"}, "WindowsConfiguration":{ "shape":"CreateFileSystemWindowsConfiguration", - "documentation":"

      The Microsoft Windows configuration for the file system that's being created.

      " + "documentation":"

      The Microsoft Windows configuration for the file system that's being created.

      " }, "LustreConfiguration":{"shape":"CreateFileSystemLustreConfiguration"}, "OntapConfiguration":{"shape":"CreateFileSystemOntapConfiguration"}, "FileSystemTypeVersion":{ "shape":"FileSystemTypeVersion", - "documentation":"

      (Optional) For FSx for Lustre file systems, sets the Lustre version for the file system that you're creating. Valid values are 2.10, 2.12m and 2.15:

      • 2.10 is supported by the Scratch and Persistent_1 Lustre deployment types.

      • 2.12 and 2.15 are supported by all Lustre deployment types. 2.12 or 2.15 is required when setting FSx for Lustre DeploymentType to PERSISTENT_2.

      Default value = 2.10, except when DeploymentType is set to PERSISTENT_2, then the default is 2.12.

      If you set FileSystemTypeVersion to 2.10 for a PERSISTENT_2 Lustre deployment type, the CreateFileSystem operation fails.

      " + "documentation":"

      (Optional) For FSx for Lustre file systems, sets the Lustre version for the file system that you're creating. Valid values are 2.10, 2.12, and 2.15:

      • 2.10 is supported by the Scratch and Persistent_1 Lustre deployment types.

      • 2.12 and 2.15 are supported by all Lustre deployment types. 2.12 or 2.15 is required when setting FSx for Lustre DeploymentType to PERSISTENT_2.

      Default value = 2.10, except when DeploymentType is set to PERSISTENT_2, then the default is 2.12.

      If you set FileSystemTypeVersion to 2.10 for a PERSISTENT_2 Lustre deployment type, the CreateFileSystem operation fails.

      " }, "OpenZFSConfiguration":{ "shape":"CreateFileSystemOpenZFSConfiguration", @@ -2306,7 +2322,7 @@ "documentation":"

      The configuration that specifies the last accessed time criteria for files that will be released from an Amazon FSx for Lustre file system.

      " } }, - "documentation":"

      A description of the data repository task.

      • You use import and export data repository tasks to perform bulk transfer operations between an Amazon FSx for Lustre file system and a linked data repository.

      • You use release data repository tasks to release have been exported to a linked S3 bucketed files from your Amazon FSx for Lustre file system.

      • An Amazon File Cache resource uses a task to automatically release files from the cache.

      To learn more about data repository tasks, see Data Repository Tasks.

      " + "documentation":"

      A description of the data repository task.

      • You use import and export data repository tasks to perform bulk transfer operations between an Amazon FSx for Lustre file system and a linked data repository.

      • You use release data repository tasks to release files that have been exported to a linked S3 bucket from your Amazon FSx for Lustre file system.

      • An Amazon File Cache resource uses a task to automatically release files from the cache.

      To learn more about data repository tasks, see Data Repository Tasks.

      " }, "DataRepositoryTaskEnded":{ "type":"structure", @@ -3487,7 +3503,7 @@ }, "FileSystemTypeVersion":{ "shape":"FileSystemTypeVersion", - "documentation":"

      The Lustre version of the Amazon FSx for Lustre file system, which is 2.10, 2.12, or 2.15.

      " + "documentation":"

      The Lustre version of the Amazon FSx for Lustre file system, which can be 2.10, 2.12, or 2.15.

      " }, "OpenZFSConfiguration":{ "shape":"OpenZFSFileSystemConfiguration", @@ -5056,6 +5072,23 @@ "documentation":"

      The request was rejected because the lifecycle status of the source backup isn't AVAILABLE.

      ", "exception":true }, + "StartMisconfiguredStateRecoveryRequest":{ + "type":"structure", + "required":["FileSystemId"], + "members":{ + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + }, + "FileSystemId":{"shape":"FileSystemId"} + } + }, + "StartMisconfiguredStateRecoveryResponse":{ + "type":"structure", + "members":{ + "FileSystem":{"shape":"FileSystem"} + } + }, "StartTime":{"type":"timestamp"}, "Status":{ "type":"string", diff --git a/services/gamelift/pom.xml b/services/gamelift/pom.xml index 41331707bc54..7afe56b05f5c 100644 --- a/services/gamelift/pom.xml +++ b/services/gamelift/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT gamelift AWS Java SDK :: Services :: AWS GameLift diff --git a/services/gamesparks/pom.xml b/services/gamesparks/pom.xml index c6e4c4966858..b96fdf3755ce 100644 --- a/services/gamesparks/pom.xml +++ b/services/gamesparks/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT gamesparks AWS Java SDK :: Services :: Game Sparks diff --git a/services/gamesparks/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/gamesparks/src/main/resources/codegen-resources/endpoint-rule-set.json index d80f7a883e0d..dac5417da21a 100644 --- a/services/gamesparks/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/gamesparks/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://gamesparks-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://gamesparks-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://gamesparks.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://gamesparks.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://gamesparks.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://gamesparks.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/gamesparks/src/main/resources/codegen-resources/endpoint-tests.json b/services/gamesparks/src/main/resources/codegen-resources/endpoint-tests.json index 8f44637245be..66053a5ca87f 100644 --- a/services/gamesparks/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/gamesparks/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,111 +1,259 @@ { "testCases": [ { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://gamesparks.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://gamesparks-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://gamesparks-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://gamesparks-fips.ap-northeast-1.api.aws" + "url": "https://gamesparks.us-east-1.api.aws" } }, "params": { - "Region": "ap-northeast-1", + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://gamesparks-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", "UseFIPS": true, "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://gamesparks-fips.ap-northeast-1.amazonaws.com" + "url": "https://gamesparks-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "Region": "ap-northeast-1", + "Region": "cn-north-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://gamesparks.ap-northeast-1.api.aws" + "url": "https://gamesparks.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "ap-northeast-1", + "Region": "cn-north-1", "UseFIPS": false, "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://gamesparks.ap-northeast-1.amazonaws.com" + "url": "https://gamesparks.cn-north-1.amazonaws.com.cn" } }, "params": { - "Region": "ap-northeast-1", + "Region": "cn-north-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://gamesparks-fips.us-east-1.api.aws" + "url": "https://gamesparks-fips.us-gov-east-1.api.aws" } }, "params": { - "Region": "us-east-1", + "Region": "us-gov-east-1", "UseFIPS": true, "UseDualStack": true } }, { - "documentation": "For region us-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://gamesparks-fips.us-east-1.amazonaws.com" + "url": "https://gamesparks-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "us-east-1", + "Region": "us-gov-east-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://gamesparks.us-east-1.api.aws" + "url": "https://gamesparks.us-gov-east-1.api.aws" } }, "params": { - "Region": "us-east-1", + "Region": "us-gov-east-1", "UseFIPS": false, "UseDualStack": true } }, { - "documentation": "For region us-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://gamesparks.us-east-1.amazonaws.com" + "url": "https://gamesparks.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "us-east-1", + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://gamesparks-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://gamesparks.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://gamesparks-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://gamesparks.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" @@ -118,6 +266,19 @@ "Endpoint": "https://example.com" } }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, { "documentation": "For custom endpoint with fips enabled and dualstack disabled", "expect": { @@ -141,6 +302,12 @@ "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/glacier/pom.xml b/services/glacier/pom.xml index fbf8b9b971d6..4b246e56144a 100644 --- a/services/glacier/pom.xml +++ b/services/glacier/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT glacier AWS Java SDK :: Services :: Amazon Glacier diff --git a/services/glacier/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/glacier/src/main/resources/codegen-resources/endpoint-rule-set.json index e221a25fe4b8..6f56c9e26497 100644 --- a/services/glacier/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/glacier/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,14 +45,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -62,67 +67,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -131,179 +111,240 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + }, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true ] } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], + ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://glacier-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://glacier-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], + ], "type": "tree", "rules": [ { "conditions": [ { - "fn": "stringEquals", + "fn": "booleanEquals", "argv": [ - "aws-us-gov", + true, { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "name" + "supportsFIPS" ] } ] } ], - "endpoint": { - "url": "https://glacier.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws-us-gov", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://glacier.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://glacier-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] }, { "conditions": [], - "endpoint": { - "url": "https://glacier-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] - } - ] - }, - { - "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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://glacier.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], "type": "tree", @@ -311,7 +352,7 @@ { "conditions": [], "endpoint": { - "url": "https://glacier.{Region}.{PartitionResult#dualStackDnsSuffix}", + "url": "https://glacier.{Region}.{PartitionResult#dnsSuffix}", "properties": {}, "headers": {} }, @@ -320,66 +361,13 @@ ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } ] }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-east-1" - ] - } - ], - "endpoint": { - "url": "https://glacier.us-gov-east-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-west-1" - ] - } - ], - "endpoint": { - "url": "https://glacier.us-gov-west-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://glacier.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } diff --git a/services/glacier/src/main/resources/codegen-resources/endpoint-tests.json b/services/glacier/src/main/resources/codegen-resources/endpoint-tests.json index 552b54226fd1..a917a72e2278 100644 --- a/services/glacier/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/glacier/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,42 +1,55 @@ { "testCases": [ { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.us-iso-east-1.c2s.ic.gov" + "url": "https://glacier.af-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "af-south-1", "UseFIPS": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.us-iso-west-1.c2s.ic.gov" + "url": "https://glacier.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-east-1", "UseFIPS": false, - "Region": "us-iso-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://glacier.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-iso-east-1" + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://glacier.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -47,243 +60,243 @@ } }, "params": { - "UseDualStack": false, + "Region": "ap-northeast-3", "UseFIPS": false, - "Region": "ap-northeast-3" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.us-east-1.amazonaws.com" + "url": "https://glacier.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-south-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier-fips.us-east-1.amazonaws.com" + "url": "https://glacier.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-east-1" + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.eu-west-1.amazonaws.com" + "url": "https://glacier.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-southeast-2", "UseFIPS": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.eu-west-2.amazonaws.com" + "url": "https://glacier.ap-southeast-3.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-southeast-3", "UseFIPS": false, - "Region": "eu-west-2" + "UseDualStack": false } }, { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.eu-west-3.amazonaws.com" + "url": "https://glacier.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ca-central-1", "UseFIPS": false, - "Region": "eu-west-3" + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.me-south-1.amazonaws.com" + "url": "https://glacier-fips.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "me-south-1" + "Region": "ca-central-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.eu-north-1.amazonaws.com" + "url": "https://glacier.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-central-1", "UseFIPS": false, - "Region": "eu-north-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.us-east-2.amazonaws.com" + "url": "https://glacier.eu-north-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-north-1", "UseFIPS": false, - "Region": "us-east-2" + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier-fips.us-east-2.amazonaws.com" + "url": "https://glacier.eu-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-east-2" + "Region": "eu-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.sa-east-1.amazonaws.com" + "url": "https://glacier.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-west-1", "UseFIPS": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.ap-east-1.amazonaws.com" + "url": "https://glacier.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-west-2", "UseFIPS": false, - "Region": "ap-east-1" + "UseDualStack": false } }, { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.eu-south-1.amazonaws.com" + "url": "https://glacier.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-west-3", "UseFIPS": false, - "Region": "eu-south-1" + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.eu-central-1.amazonaws.com" + "url": "https://glacier.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "me-south-1", "UseFIPS": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.ap-southeast-1.amazonaws.com" + "url": "https://glacier.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "sa-east-1", "UseFIPS": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.ap-southeast-2.amazonaws.com" + "url": "https://glacier.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.ap-southeast-3.amazonaws.com" + "url": "https://glacier-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-southeast-3" + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.ca-central-1.amazonaws.com" + "url": "https://glacier.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-2", "UseFIPS": false, - "Region": "ca-central-1" + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier-fips.ca-central-1.amazonaws.com" + "url": "https://glacier-fips.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-2", "UseFIPS": true, - "Region": "ca-central-1" + "UseDualStack": false } }, { @@ -294,9 +307,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-west-1", "UseFIPS": false, - "Region": "us-west-1" + "UseDualStack": false } }, { @@ -307,9 +320,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-west-1", "UseFIPS": true, - "Region": "us-west-1" + "UseDualStack": false } }, { @@ -320,9 +333,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-west-2", "UseFIPS": false, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -333,139 +346,152 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-west-2", "UseFIPS": true, - "Region": "us-west-2" + "UseDualStack": false } }, { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://glacier.af-south-1.amazonaws.com" + "url": "https://glacier-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "af-south-1" + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://glacier.ap-south-1.amazonaws.com" + "url": "https://glacier.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "ap-south-1" + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.ap-northeast-1.amazonaws.com" + "url": "https://glacier.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.ap-northeast-2.amazonaws.com" + "url": "https://glacier.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-northwest-1", "UseFIPS": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://glacier-fips.us-east-1.api.aws" + "url": "https://glacier-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.us-east-1.api.aws" + "url": "https://glacier-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://glacier.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.us-gov-west-1.amazonaws.com" + "url": "https://glacier.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.us-gov-west-1.amazonaws.com" + "url": "https://glacier.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.us-gov-east-1.amazonaws.com" + "url": "https://glacier.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-west-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.us-gov-east-1.amazonaws.com" + "url": "https://glacier.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-west-1", "UseFIPS": true, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -476,9 +502,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -489,113 +515,144 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-isob-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://glacier.us-isob-east-1.sc2s.sgov.gov" + "url": "https://glacier.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier-fips.us-isob-east-1.sc2s.sgov.gov" + "url": "https://glacier.us-iso-west-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.cn-northwest-1.amazonaws.com.cn" + "url": "https://glacier-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "cn-northwest-1" + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier.cn-north-1.amazonaws.com.cn" + "url": "https://glacier.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://glacier-fips.cn-north-1.api.amazonwebservices.com.cn" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://glacier-fips.cn-north-1.amazonaws.com.cn" + "url": "https://glacier-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://glacier.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://example.com" } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": false, + "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" } }, "params": { - "UseDualStack": false, "UseFIPS": false, - "Region": "us-east-1", + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -605,9 +662,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -617,11 +674,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/globalaccelerator/pom.xml b/services/globalaccelerator/pom.xml index 6caffdfd77fa..3112a2b7867e 100644 --- a/services/globalaccelerator/pom.xml +++ b/services/globalaccelerator/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT globalaccelerator AWS Java SDK :: Services :: Global Accelerator diff --git a/services/glue/pom.xml b/services/glue/pom.xml index 693837f93b51..65273ec988a4 100644 --- a/services/glue/pom.xml +++ b/services/glue/pom.xml @@ -20,7 +20,7 @@ services software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 glue diff --git a/services/grafana/pom.xml b/services/grafana/pom.xml index ab0226d7db63..00a6783053e3 100644 --- a/services/grafana/pom.xml +++ b/services/grafana/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT grafana AWS Java SDK :: Services :: Grafana diff --git a/services/greengrass/pom.xml b/services/greengrass/pom.xml index 32a42719eb5f..0c87a2d1400e 100644 --- a/services/greengrass/pom.xml +++ b/services/greengrass/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT greengrass AWS Java SDK :: Services :: AWS Greengrass diff --git a/services/greengrass/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/greengrass/src/main/resources/codegen-resources/endpoint-rule-set.json index d5cf41cb93e1..90cd5ddd2ada 100644 --- a/services/greengrass/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/greengrass/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,64 +45,17 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "ref": "UseFIPS" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + true ] } - ] + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" }, { "conditions": [ @@ -111,19 +63,51 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "booleanEquals", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "UseDualStack" - }, - true - ] + "ref": "Region" + } + ], + "assign": "PartitionResult" } ], "type": "tree", @@ -133,38 +117,57 @@ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] }, { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -177,52 +180,46 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -273,52 +270,46 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -331,20 +322,14 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ] - }, - { - "conditions": [], - "type": "tree", - "rules": [ { "conditions": [ { @@ -363,8 +348,8 @@ "authSchemes": [ { "name": "sigv4", - "signingRegion": "us-gov-east-1", - "signingName": "greengrass" + "signingName": "greengrass", + "signingRegion": "us-gov-east-1" } ] }, @@ -390,8 +375,8 @@ "authSchemes": [ { "name": "sigv4", - "signingRegion": "us-gov-west-1", - "signingName": "greengrass" + "signingName": "greengrass", + "signingRegion": "us-gov-west-1" } ] }, @@ -399,44 +384,6 @@ }, "type": "endpoint" }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-east-1" - ] - } - ], - "endpoint": { - "url": "https://greengrass.us-gov-east-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-west-1" - ] - } - ], - "endpoint": { - "url": "https://greengrass.us-gov-west-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, { "conditions": [], "endpoint": { @@ -449,6 +396,11 @@ ] } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/greengrass/src/main/resources/codegen-resources/endpoint-tests.json b/services/greengrass/src/main/resources/codegen-resources/endpoint-tests.json index a88fd0671200..655e135e0508 100644 --- a/services/greengrass/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/greengrass/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,31 +1,5 @@ { "testCases": [ - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://greengrass-fips.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-iso-east-1" - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://greengrass.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-iso-east-1" - } - }, { "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { @@ -34,9 +8,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "ap-northeast-1", "UseFIPS": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { @@ -47,113 +21,113 @@ } }, "params": { - "UseDualStack": false, + "Region": "ap-northeast-2", "UseFIPS": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass.eu-west-1.amazonaws.com" + "url": "https://greengrass.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-south-1", "UseFIPS": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass.eu-west-2.amazonaws.com" + "url": "https://greengrass.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-southeast-1", "UseFIPS": false, - "Region": "eu-west-2" + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass.us-west-2.amazonaws.com" + "url": "https://greengrass.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-southeast-2", "UseFIPS": false, - "Region": "us-west-2" + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass.eu-central-1.amazonaws.com" + "url": "https://greengrass.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ca-central-1", "UseFIPS": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass.ap-southeast-1.amazonaws.com" + "url": "https://greengrass.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-central-1", "UseFIPS": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass.ap-southeast-2.amazonaws.com" + "url": "https://greengrass.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-west-1", "UseFIPS": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass.us-east-1.amazonaws.com" + "url": "https://greengrass.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-west-2", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass.ap-south-1.amazonaws.com" + "url": "https://greengrass.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "ap-south-1" + "UseDualStack": false } }, { @@ -164,22 +138,22 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-east-2", "UseFIPS": false, - "Region": "us-east-2" + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass.ca-central-1.amazonaws.com" + "url": "https://greengrass.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-west-2", "UseFIPS": false, - "Region": "ca-central-1" + "UseDualStack": false } }, { @@ -190,9 +164,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -203,9 +177,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -216,35 +190,61 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass.us-gov-west-1.amazonaws.com" + "url": "https://greengrass.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://greengrass.us-gov-west-1.amazonaws.com" + "url": "https://greengrass-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://greengrass-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", "UseFIPS": true, - "Region": "us-gov-west-1" + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://greengrass.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -254,9 +254,9 @@ "properties": { "authSchemes": [ { + "name": "sigv4", "signingName": "greengrass", - "signingRegion": "us-gov-east-1", - "name": "sigv4" + "signingRegion": "us-gov-east-1" } ] }, @@ -264,9 +264,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "dataplane-us-gov-east-1", "UseFIPS": false, - "Region": "dataplane-us-gov-east-1" + "UseDualStack": false } }, { @@ -276,9 +276,9 @@ "properties": { "authSchemes": [ { + "name": "sigv4", "signingName": "greengrass", - "signingRegion": "us-gov-west-1", - "name": "sigv4" + "signingRegion": "us-gov-west-1" } ] }, @@ -286,9 +286,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "dataplane-us-gov-west-1", "UseFIPS": false, - "Region": "dataplane-us-gov-west-1" + "UseDualStack": false } }, { @@ -299,9 +299,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -312,9 +312,35 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://greengrass.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://greengrass.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", "UseFIPS": true, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -325,9 +351,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -338,100 +364,131 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://greengrass-fips.us-isob-east-1.sc2s.sgov.gov" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass.us-isob-east-1.sc2s.sgov.gov" + "url": "https://greengrass-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass.cn-north-1.amazonaws.com.cn" + "url": "https://greengrass.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://greengrass-fips.cn-north-1.api.amazonwebservices.com.cn" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass-fips.cn-north-1.amazonaws.com.cn" + "url": "https://greengrass-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://greengrass.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://greengrass.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "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, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { "UseFIPS": false, - "Region": "us-east-1", + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -441,9 +498,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -453,11 +510,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/greengrassv2/pom.xml b/services/greengrassv2/pom.xml index 8d63f9b20cb5..d2387c6b698b 100644 --- a/services/greengrassv2/pom.xml +++ b/services/greengrassv2/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT greengrassv2 AWS Java SDK :: Services :: Greengrass V2 diff --git a/services/greengrassv2/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/greengrassv2/src/main/resources/codegen-resources/endpoint-rule-set.json index 99169a08f9da..90cd5ddd2ada 100644 --- a/services/greengrassv2/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/greengrassv2/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,239 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://greengrass-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsFIPS" ] } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "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": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-east-1" - ] - } - ], - "endpoint": { - "url": "https://greengrass.us-gov-east-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-west-1" - ] - } - ], - "endpoint": { - "url": "https://greengrass.us-gov-west-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "ref": "PartitionResult" }, - { - "conditions": [], - "endpoint": { - "url": "https://greengrass-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "supportsDualStack" ] } ] - }, + } + ], + "type": "tree", + "rules": [ { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://greengrass-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": "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://greengrass.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsFIPS" ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } - ] - }, - { - "conditions": [], + ], "type": "tree", "rules": [ { @@ -370,21 +230,13 @@ { "ref": "Region" }, - "dataplane-us-gov-east-1" + "us-gov-east-1" ] } ], "endpoint": { - "url": "https://greengrass-ats.iot.us-gov-east-1.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "greengrass", - "signingRegion": "us-gov-east-1" - } - ] - }, + "url": "https://greengrass.us-gov-east-1.amazonaws.com", + "properties": {}, "headers": {} }, "type": "endpoint" @@ -397,21 +249,13 @@ { "ref": "Region" }, - "dataplane-us-gov-west-1" + "us-gov-west-1" ] } ], "endpoint": { - "url": "https://greengrass-ats.iot.us-gov-west-1.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "greengrass", - "signingRegion": "us-gov-west-1" - } - ] - }, + "url": "https://greengrass.us-gov-west-1.amazonaws.com", + "properties": {}, "headers": {} }, "type": "endpoint" @@ -419,24 +263,144 @@ { "conditions": [], "endpoint": { - "url": "https://greengrass.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://greengrass-fips.{Region}.{PartitionResult#dnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://greengrass.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "dataplane-us-gov-east-1" + ] + } + ], + "endpoint": { + "url": "https://greengrass-ats.iot.us-gov-east-1.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "greengrass", + "signingRegion": "us-gov-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "dataplane-us-gov-west-1" + ] + } + ], + "endpoint": { + "url": "https://greengrass-ats.iot.us-gov-west-1.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "greengrass", + "signingRegion": "us-gov-west-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://greengrass.{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/services/greengrassv2/src/main/resources/codegen-resources/endpoint-tests.json b/services/greengrassv2/src/main/resources/codegen-resources/endpoint-tests.json index 7a7a0020ca93..655e135e0508 100644 --- a/services/greengrassv2/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/greengrassv2/src/main/resources/codegen-resources/endpoint-tests.json @@ -9,8 +9,8 @@ }, "params": { "Region": "ap-northeast-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -22,8 +22,8 @@ }, "params": { "Region": "ap-northeast-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -35,8 +35,8 @@ }, "params": { "Region": "ap-south-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -48,8 +48,8 @@ }, "params": { "Region": "ap-southeast-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -61,8 +61,8 @@ }, "params": { "Region": "ap-southeast-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -74,8 +74,8 @@ }, "params": { "Region": "ca-central-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -87,8 +87,8 @@ }, "params": { "Region": "eu-central-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -100,8 +100,8 @@ }, "params": { "Region": "eu-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -113,8 +113,8 @@ }, "params": { "Region": "eu-west-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -126,8 +126,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -139,8 +139,8 @@ }, "params": { "Region": "us-east-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -152,8 +152,8 @@ }, "params": { "Region": "us-west-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -165,8 +165,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -178,8 +178,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -191,8 +191,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -204,8 +204,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -217,8 +217,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -230,8 +230,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -243,8 +243,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -265,8 +265,8 @@ }, "params": { "Region": "dataplane-us-gov-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -287,8 +287,8 @@ }, "params": { "Region": "dataplane-us-gov-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -300,8 +300,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -313,8 +313,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -326,8 +326,8 @@ }, "params": { "Region": "us-gov-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -339,8 +339,8 @@ }, "params": { "Region": "us-gov-west-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -352,8 +352,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -365,8 +365,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -376,8 +376,8 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -389,8 +389,8 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -400,8 +400,8 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -413,8 +413,8 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -424,8 +424,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -437,8 +437,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -448,8 +448,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -461,8 +461,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -474,8 +474,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -487,8 +487,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -499,8 +499,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -511,8 +511,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } }, diff --git a/services/groundstation/pom.xml b/services/groundstation/pom.xml index 51a798dc5bb8..c88635fa33cd 100644 --- a/services/groundstation/pom.xml +++ b/services/groundstation/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT groundstation AWS Java SDK :: Services :: GroundStation diff --git a/services/groundstation/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/groundstation/src/main/resources/codegen-resources/endpoint-rule-set.json index 56c7bc1bf50f..3a13f8554e18 100644 --- a/services/groundstation/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/groundstation/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://groundstation-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://groundstation-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://groundstation-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://groundstation-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://groundstation.{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://groundstation.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://groundstation.{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://groundstation.{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/services/guardduty/pom.xml b/services/guardduty/pom.xml index 69b240b41a00..6495698e513d 100644 --- a/services/guardduty/pom.xml +++ b/services/guardduty/pom.xml @@ -20,7 +20,7 @@ services software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 guardduty diff --git a/services/guardduty/src/main/resources/codegen-resources/service-2.json b/services/guardduty/src/main/resources/codegen-resources/service-2.json index 5869936783c3..eaf260f47c95 100644 --- a/services/guardduty/src/main/resources/codegen-resources/service-2.json +++ b/services/guardduty/src/main/resources/codegen-resources/service-2.json @@ -342,7 +342,7 @@ {"shape":"BadRequestException"}, {"shape":"InternalServerErrorException"} ], - "documentation":"

      Disables an Amazon Web Services account within the Organization as the GuardDuty delegated administrator.

      " + "documentation":"

      Removes the existing GuardDuty delegated administrator of the organization. Only the organization's management account can run this API operation.

      " }, "DisassociateFromAdministratorAccount":{ "name":"DisassociateFromAdministratorAccount", @@ -389,7 +389,7 @@ {"shape":"BadRequestException"}, {"shape":"InternalServerErrorException"} ], - "documentation":"

      Disassociates GuardDuty member accounts (from the current administrator account) specified by the account IDs.

      When you disassociate an invited member from a GuardDuty delegated administrator, the member account details obtained from the CreateMembers API, including the associated email addresses, are retained. This is done so that the delegated administrator can invoke the InviteMembers API without the need to invoke the CreateMembers API again. To remove the details associated with a member account, the delegated administrator must invoke the DeleteMembers API.

      With autoEnableOrganizationMembers configuration for your organization set to ALL, you'll receive an error if you attempt to disassociate a member account before removing them from your Amazon Web Services organization.

      " + "documentation":"

      Disassociates GuardDuty member accounts (from the current administrator account) specified by the account IDs.

      When you disassociate an invited member from a GuardDuty delegated administrator, the member account details obtained from the CreateMembers API, including the associated email addresses, are retained. This is done so that the delegated administrator can invoke the InviteMembers API without the need to invoke the CreateMembers API again. To remove the details associated with a member account, the delegated administrator must invoke the DeleteMembers API.

      With autoEnableOrganizationMembers configuration for your organization set to ALL, you'll receive an error if you attempt to disassociate a member account before removing them from your organization.

      " }, "EnableOrganizationAdminAccount":{ "name":"EnableOrganizationAdminAccount", @@ -404,7 +404,7 @@ {"shape":"BadRequestException"}, {"shape":"InternalServerErrorException"} ], - "documentation":"

      Enables an Amazon Web Services account within the organization as the GuardDuty delegated administrator.

      " + "documentation":"

      Designates an Amazon Web Services account within the organization as your GuardDuty delegated administrator. Only the organization's management account can run this API operation.

      " }, "GetAdministratorAccount":{ "name":"GetAdministratorAccount", @@ -419,7 +419,7 @@ {"shape":"BadRequestException"}, {"shape":"InternalServerErrorException"} ], - "documentation":"

      Provides the details for the GuardDuty administrator account associated with the current GuardDuty member account.

      " + "documentation":"

      Provides the details of the GuardDuty administrator account associated with the current GuardDuty member account.

      If the organization's management account or a delegated administrator runs this API, it will return success (HTTP 200) but no content.

      " }, "GetCoverageStatistics":{ "name":"GetCoverageStatistics", @@ -646,7 +646,7 @@ {"shape":"BadRequestException"}, {"shape":"InternalServerErrorException"} ], - "documentation":"

      Invites Amazon Web Services accounts to become members of an organization administered by the Amazon Web Services account that invokes this API. If you are using Amazon Web Services Organizations to manager your GuardDuty environment, this step is not needed. For more information, see Managing accounts with Amazon Web Services Organizations.

      To invite Amazon Web Services accounts, the first step is to ensure that GuardDuty has been enabled in the potential member accounts. You can now invoke this API to add accounts by invitation. The invited accounts can either accept or decline the invitation from their GuardDuty accounts. Each invited Amazon Web Services account can choose to accept the invitation from only one Amazon Web Services account. For more information, see Managing GuardDuty accounts by invitation.

      After the invite has been accepted and you choose to disassociate a member account (by using DisassociateMembers) from your account, the details of the member account obtained by invoking CreateMembers, including the associated email addresses, will be retained. This is done so that you can invoke InviteMembers without the need to invoke CreateMembers again. To remove the details associated with a member account, you must also invoke DeleteMembers.

      " + "documentation":"

      Invites Amazon Web Services accounts to become members of an organization administered by the Amazon Web Services account that invokes this API. If you are using Amazon Web Services Organizations to manage your GuardDuty environment, this step is not needed. For more information, see Managing accounts with organizations.

      To invite Amazon Web Services accounts, the first step is to ensure that GuardDuty has been enabled in the potential member accounts. You can now invoke this API to add accounts by invitation. The invited accounts can either accept or decline the invitation from their GuardDuty accounts. Each invited Amazon Web Services account can choose to accept the invitation from only one Amazon Web Services account. For more information, see Managing GuardDuty accounts by invitation.

      After the invite has been accepted and you choose to disassociate a member account (by using DisassociateMembers) from your account, the details of the member account obtained by invoking CreateMembers, including the associated email addresses, will be retained. This is done so that you can invoke InviteMembers without the need to invoke CreateMembers again. To remove the details associated with a member account, you must also invoke DeleteMembers.

      " }, "ListCoverage":{ "name":"ListCoverage", @@ -766,7 +766,7 @@ {"shape":"BadRequestException"}, {"shape":"InternalServerErrorException"} ], - "documentation":"

      Lists the accounts configured as GuardDuty delegated administrators.

      " + "documentation":"

      Lists the accounts designated as GuardDuty delegated administrators. Only the organization's management account can run this API operation.

      " }, "ListPublishingDestinations":{ "name":"ListPublishingDestinations", @@ -797,7 +797,7 @@ {"shape":"AccessDeniedException"}, {"shape":"InternalServerErrorException"} ], - "documentation":"

      Lists tags for a resource. Tagging is currently supported for detectors, finding filters, IP sets, threat intel sets, and publishing destination, with a limit of 50 tags per each resource. When invoked, this operation returns all assigned tags for a given resource.

      " + "documentation":"

      Lists tags for a resource. Tagging is currently supported for detectors, finding filters, IP sets, threat intel sets, and publishing destination, with a limit of 50 tags per resource. When invoked, this operation returns all assigned tags for a given resource.

      " }, "ListThreatIntelSets":{ "name":"ListThreatIntelSets", @@ -1010,7 +1010,7 @@ {"shape":"BadRequestException"}, {"shape":"InternalServerErrorException"} ], - "documentation":"

      Configures the delegated administrator account with the provided values. You must provide the value for either autoEnableOrganizationMembers or autoEnable.

      There might be regional differences because some data sources might not be available in all the Amazon Web Services Regions where GuardDuty is presently supported. For more information, see Regions and endpoints.

      " + "documentation":"

      Configures the delegated administrator account with the provided values. You must provide a value for either autoEnableOrganizationMembers or autoEnable, but not both.

      There might be regional differences because some data sources might not be available in all the Amazon Web Services Regions where GuardDuty is presently supported. For more information, see Regions and endpoints.

      " }, "UpdatePublishingDestination":{ "name":"UpdatePublishingDestination", @@ -1746,6 +1746,11 @@ "shape":"AddonDetails", "documentation":"

      Information about the installed EKS add-on.

      ", "locationName":"addonDetails" + }, + "ManagementType":{ + "shape":"ManagementType", + "documentation":"

      Indicates how the Amazon EKS add-on GuardDuty agent is managed for this EKS cluster.

      AUTO_MANAGED indicates GuardDuty deploys and manages updates for this resource.

      MANUAL indicates that you are responsible to deploy, update, and manage the Amazon EKS add-on GuardDuty agent for this resource.

      ", + "locationName":"managementType" } }, "documentation":"

      Information about the EKS cluster that has a coverage status.

      " @@ -1782,7 +1787,7 @@ "members":{ "CriterionKey":{ "shape":"CoverageFilterCriterionKey", - "documentation":"

      An enum value representing possible filter fields.

      ", + "documentation":"

      An enum value representing possible filter fields.

      Replace the enum value CLUSTER_NAME with EKS_CLUSTER_NAME. CLUSTER_NAME has been deprecated.

      ", "locationName":"criterionKey" }, "FilterCondition":{ @@ -1800,7 +1805,9 @@ "CLUSTER_NAME", "RESOURCE_TYPE", "COVERAGE_STATUS", - "ADDON_VERSION" + "ADDON_VERSION", + "MANAGEMENT_TYPE", + "EKS_CLUSTER_NAME" ] }, "CoverageFilterCriterionList":{ @@ -1875,7 +1882,7 @@ "members":{ "AttributeName":{ "shape":"CoverageSortKey", - "documentation":"

      Represents the field name used to sort the coverage details.

      ", + "documentation":"

      Represents the field name used to sort the coverage details.

      Replace the enum value CLUSTER_NAME with EKS_CLUSTER_NAME. CLUSTER_NAME has been deprecated.

      ", "locationName":"attributeName" }, "OrderBy":{ @@ -1894,7 +1901,8 @@ "COVERAGE_STATUS", "ISSUE", "ADDON_VERSION", - "UPDATED_AT" + "UPDATED_AT", + "EKS_CLUSTER_NAME" ] }, "CoverageStatistics":{ @@ -2746,7 +2754,7 @@ }, "AutoEnableOrganizationMembers":{ "shape":"AutoEnableMembers", - "documentation":"

      Indicates the auto-enablement configuration of GuardDuty for the member accounts in the organization.

      • NEW: Indicates that when a new account joins the organization, they will have GuardDuty enabled automatically.

      • ALL: Indicates that all accounts in the Amazon Web Services Organization have GuardDuty enabled automatically. This includes NEW accounts that join the organization and accounts that may have been suspended or removed from the organization in GuardDuty.

      • NONE: Indicates that GuardDuty will not be automatically enabled for any accounts in the organization. GuardDuty must be managed for each account individually by the administrator.

      ", + "documentation":"

      Indicates the auto-enablement configuration of GuardDuty for the member accounts in the organization.

      • NEW: Indicates that when a new account joins the organization, they will have GuardDuty enabled automatically.

      • ALL: Indicates that all accounts in the organization have GuardDuty enabled automatically. This includes NEW accounts that join the organization and accounts that may have been suspended or removed from the organization in GuardDuty.

      • NONE: Indicates that GuardDuty will not be automatically enabled for any account in the organization. The administrator must manage GuardDuty for each account in the organization individually.

      ", "locationName":"autoEnableOrganizationMembers" } } @@ -3353,7 +3361,7 @@ "members":{ "AdminAccountId":{ "shape":"String", - "documentation":"

      The Amazon Web Services Account ID for the organization account to be enabled as a GuardDuty delegated administrator.

      ", + "documentation":"

      The Amazon Web Services account ID for the organization account to be enabled as a GuardDuty delegated administrator.

      ", "locationName":"adminAccountId" } } @@ -3450,7 +3458,7 @@ "members":{ "CriterionKey":{ "shape":"CriterionKey", - "documentation":"

      An enum value representing possible scan properties to match with given scan entries.

      ", + "documentation":"

      An enum value representing possible scan properties to match with given scan entries.

      Replace the enum value CLUSTER_NAME with EKS_CLUSTER_NAME. CLUSTER_NAME has been deprecated.

      ", "locationName":"criterionKey" }, "FilterCondition":{ @@ -3577,7 +3585,7 @@ "locationName":"updatedAt" } }, - "documentation":"

      Contains information about the finding, which is generated when abnormal or suspicious activity is detected.

      " + "documentation":"

      Contains information about the finding that is generated when abnormal or suspicious activity is detected.

      " }, "FindingCriteria":{ "type":"structure", @@ -5391,6 +5399,13 @@ }, "documentation":"

      Provides details about Malware Protection when it is enabled as a data source.

      " }, + "ManagementType":{ + "type":"string", + "enum":[ + "AUTO_MANAGED", + "MANUAL" + ] + }, "MapEquals":{ "type":"list", "member":{"shape":"ScanConditionPair"} @@ -5804,11 +5819,11 @@ }, "AutoEnable":{ "shape":"OrgFeatureStatus", - "documentation":"

      The status of the additional configuration that will be configured for the organization.

      ", + "documentation":"

      The status of the additional configuration that will be configured for the organization. Use one of the following values to configure the feature status for the entire organization:

      • NEW: Indicates that when a new account joins the organization, they will have the additional configuration enabled automatically.

      • ALL: Indicates that all accounts in the organization have the additional configuration enabled automatically. This includes NEW accounts that join the organization and accounts that may have been suspended or removed from the organization in GuardDuty.

        It may take up to 24 hours to update the configuration for all the member accounts.

      • NONE: Indicates that the additional configuration will not be automatically enabled for any account in the organization. The administrator must manage the additional configuration for each account individually.

      ", "locationName":"autoEnable" } }, - "documentation":"

      A list of additional configurations which will be configured for the organization.

      " + "documentation":"

      A list of additional configurations which will be configured for the organization.

      " }, "OrganizationAdditionalConfigurationResult":{ "type":"structure", @@ -5820,7 +5835,7 @@ }, "AutoEnable":{ "shape":"OrgFeatureStatus", - "documentation":"

      Describes how The status of the additional configuration that are configured for the member accounts within the organization.

      If you set AutoEnable to NEW, a feature will be configured for only the new accounts when they join the organization.

      If you set AutoEnable to NONE, no feature will be configured for the accounts when they join the organization.

      ", + "documentation":"

      Describes the status of the additional configuration that is configured for the member accounts within the organization. One of the following values is the status for the entire organization:

      • NEW: Indicates that when a new account joins the organization, they will have the additional configuration enabled automatically.

      • ALL: Indicates that all accounts in the organization have the additional configuration enabled automatically. This includes NEW accounts that join the organization and accounts that may have been suspended or removed from the organization in GuardDuty.

        It may take up to 24 hours to update the configuration for all the member accounts.

      • NONE: Indicates that the additional configuration will not be automatically enabled for any account in the organization. The administrator must manage the additional configuration for each account individually.

      ", "locationName":"autoEnable" } }, @@ -5909,7 +5924,7 @@ }, "AutoEnable":{ "shape":"OrgFeatureStatus", - "documentation":"

      The status of the feature that will be configured for the organization.

      ", + "documentation":"

      Describes the status of the feature that is configured for the member accounts within the organization. One of the following values is the status for the entire organization:

      • NEW: Indicates that when a new account joins the organization, they will have the feature enabled automatically.

      • ALL: Indicates that all accounts in the organization have the feature enabled automatically. This includes NEW accounts that join the organization and accounts that may have been suspended or removed from the organization in GuardDuty.

        It may take up to 24 hours to update the configuration for all the member accounts.

      • NONE: Indicates that the feature will not be automatically enabled for any account in the organization. The administrator must manage the feature for each account individually.

      ", "locationName":"autoEnable" }, "AdditionalConfiguration":{ @@ -5930,7 +5945,7 @@ }, "AutoEnable":{ "shape":"OrgFeatureStatus", - "documentation":"

      Describes how The status of the feature that are configured for the member accounts within the organization.

      If you set AutoEnable to NEW, a feature will be configured for only the new accounts when they join the organization.

      If you set AutoEnable to NONE, no feature will be configured for the accounts when they join the organization.

      ", + "documentation":"

      Describes the status of the feature that is configured for the member accounts within the organization.

      • NEW: Indicates that when a new account joins the organization, they will have the feature enabled automatically.

      • ALL: Indicates that all accounts in the organization have the feature enabled automatically. This includes NEW accounts that join the organization and accounts that may have been suspended or removed from the organization in GuardDuty.

      • NONE: Indicates that the feature will not be automatically enabled for any account in the organization. In this case, each account will be managed individually by the administrator.

      ", "locationName":"autoEnable" }, "AdditionalConfiguration":{ @@ -6802,16 +6817,16 @@ "members":{ "Key":{ "shape":"TagKey", - "documentation":"

      Represents key in the map condition.

      ", + "documentation":"

      Represents the key in the map condition.

      ", "locationName":"key" }, "Value":{ "shape":"TagValue", - "documentation":"

      Represents optional value in the map condition. If not specified, only key will be matched.

      ", + "documentation":"

      Represents optional value in the map condition. If not specified, only the key will be matched.

      ", "locationName":"value" } }, - "documentation":"

      Represents key, value pair to be matched against given resource property.

      " + "documentation":"

      Represents the key:value pair to be matched against given resource property.

      " }, "ScanCriterion":{ "type":"map", @@ -7774,7 +7789,7 @@ }, "AutoEnable":{ "shape":"Boolean", - "documentation":"

      Indicates whether to automatically enable member accounts in the organization.

      Even though this is still supported, we recommend using AutoEnableOrganizationMembers to achieve the similar results.

      ", + "documentation":"

      Represents whether or not to automatically enable member accounts in the organization.

      Even though this is still supported, we recommend using AutoEnableOrganizationMembers to achieve the similar results. You must provide a value for either autoEnableOrganizationMembers or autoEnable.

      ", "deprecated":true, "deprecatedMessage":"This field is deprecated, use AutoEnableOrganizationMembers instead", "locationName":"autoEnable" @@ -7793,7 +7808,7 @@ }, "AutoEnableOrganizationMembers":{ "shape":"AutoEnableMembers", - "documentation":"

      Indicates the auto-enablement configuration of GuardDuty for the member accounts in the organization.

      • NEW: Indicates that when a new account joins the organization, they will have GuardDuty enabled automatically.

      • ALL: Indicates that all accounts in the Amazon Web Services Organization have GuardDuty enabled automatically. This includes NEW accounts that join the organization and accounts that may have been suspended or removed from the organization in GuardDuty.

      • NONE: Indicates that GuardDuty will not be automatically enabled for any accounts in the organization. GuardDuty must be managed for each account individually by the administrator.

      ", + "documentation":"

      Indicates the auto-enablement configuration of GuardDuty for the member accounts in the organization. You must provide a value for either autoEnableOrganizationMembers or autoEnable.

      Use one of the following configuration values for autoEnableOrganizationMembers:

      • NEW: Indicates that when a new account joins the organization, they will have GuardDuty enabled automatically.

      • ALL: Indicates that all accounts in the organization have GuardDuty enabled automatically. This includes NEW accounts that join the organization and accounts that may have been suspended or removed from the organization in GuardDuty.

        It may take up to 24 hours to update the configuration for all the member accounts.

      • NONE: Indicates that GuardDuty will not be automatically enabled for any account in the organization. The administrator must manage GuardDuty for each account in the organization individually.

      ", "locationName":"autoEnableOrganizationMembers" } } diff --git a/services/health/pom.xml b/services/health/pom.xml index 098681745427..6ea0df6faac7 100644 --- a/services/health/pom.xml +++ b/services/health/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT health AWS Java SDK :: Services :: AWS Health APIs and Notifications diff --git a/services/healthlake/pom.xml b/services/healthlake/pom.xml index 4cfa4c29f242..1a80d49f8ce9 100644 --- a/services/healthlake/pom.xml +++ b/services/healthlake/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT healthlake AWS Java SDK :: Services :: Health Lake diff --git a/services/healthlake/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/healthlake/src/main/resources/codegen-resources/endpoint-rule-set.json index 8acf26e8a35b..52c8404b6c90 100644 --- a/services/healthlake/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/healthlake/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://healthlake-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://healthlake-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://healthlake-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://healthlake-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://healthlake.{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://healthlake.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://healthlake.{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://healthlake.{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/services/honeycode/pom.xml b/services/honeycode/pom.xml index 49d69b13a321..0bbe8496c467 100644 --- a/services/honeycode/pom.xml +++ b/services/honeycode/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT honeycode AWS Java SDK :: Services :: Honeycode diff --git a/services/honeycode/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/honeycode/src/main/resources/codegen-resources/endpoint-rule-set.json index ba96d3cbe8f4..e485bc804628 100644 --- a/services/honeycode/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/honeycode/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://honeycode-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://honeycode-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://honeycode.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://honeycode.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://honeycode.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://honeycode.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/honeycode/src/main/resources/codegen-resources/endpoint-tests.json b/services/honeycode/src/main/resources/codegen-resources/endpoint-tests.json index 48cf4eb22d8b..bfec834a714d 100644 --- a/services/honeycode/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/honeycode/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,68 +1,294 @@ { "testCases": [ { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://honeycode-fips.us-west-2.api.aws" + "url": "https://honeycode.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, "Region": "us-west-2", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://honeycode-fips.us-west-2.amazonaws.com" + "url": "https://honeycode-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://honeycode.us-west-2.api.aws" + "url": "https://honeycode-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://honeycode.us-west-2.amazonaws.com" + "url": "https://honeycode.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://honeycode.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://honeycode-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://honeycode-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://honeycode.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://honeycode.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://honeycode-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://honeycode-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://honeycode.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://honeycode.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://honeycode-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://honeycode.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://honeycode-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://honeycode.us-isob-east-1.sc2s.sgov.gov" + } + }, + "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": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -72,9 +298,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -84,11 +310,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/iam/pom.xml b/services/iam/pom.xml index 3cf4eb090761..d2078b30e856 100644 --- a/services/iam/pom.xml +++ b/services/iam/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT iam AWS Java SDK :: Services :: AWS IAM diff --git a/services/iam/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/iam/src/main/resources/codegen-resources/endpoint-rule-set.json index 29693995e323..a92ee2f38f28 100644 --- a/services/iam/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/iam/src/main/resources/codegen-resources/endpoint-rule-set.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,597 +115,557 @@ { "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": [ + { + "ref": "UseDualStack" }, + false + ] + } + ], + "endpoint": { + "url": "https://iam.amazonaws.com", + "properties": { + "authSchemes": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] + "name": "sigv4", + "signingName": "iam", + "signingRegion": "us-east-1" } - ], - "endpoint": { - "url": "https://iam.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "iam", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + ] }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ { - "conditions": [ + "fn": "stringEquals", + "argv": [ { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] + "ref": "PartitionResult" }, - "aws" + "name" ] }, + "aws" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] + "ref": "UseDualStack" }, + false + ] + } + ], + "endpoint": { + "url": "https://iam-fips.amazonaws.com", + "properties": { + "authSchemes": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] + "name": "sigv4", + "signingName": "iam", + "signingRegion": "us-east-1" } - ], - "endpoint": { - "url": "https://iam-fips.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "iam", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + ] }, + "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", + "ref": "UseDualStack" + }, + false + ] + } + ], + "endpoint": { + "url": "https://iam.cn-north-1.amazonaws.com.cn", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "iam", + "signingRegion": "cn-north-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", "argv": [ { - "ref": "UseDualStack" + "ref": "PartitionResult" }, - false - ] - } - ], - "endpoint": { - "url": "https://iam.cn-north-1.amazonaws.com.cn", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "iam", - "signingRegion": "cn-north-1" - } + "name" ] }, - "headers": {} - }, - "type": "endpoint" + "aws-us-gov" + ] }, { - "conditions": [ + "fn": "booleanEquals", + "argv": [ { - "fn": "stringEquals", + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "endpoint": { + "url": "https://iam.us-gov.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "iam", + "signingRegion": "us-gov-west-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", "argv": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] + "ref": "PartitionResult" }, - "aws-us-gov" + "name" ] }, + "aws-us-gov" + ] + }, + { + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "endpoint": { + "url": "https://iam.us-gov.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "iam", + "signingRegion": "us-gov-west-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", "argv": [ { - "ref": "UseFIPS" + "ref": "PartitionResult" }, - false + "name" ] }, + "aws-iso" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "endpoint": { + "url": "https://iam.us-iso-east-1.c2s.ic.gov", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "iam", + "signingRegion": "us-iso-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ { - "ref": "UseDualStack" + "ref": "PartitionResult" }, - false - ] - } - ], - "endpoint": { - "url": "https://iam.us-gov.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "iam", - "signingRegion": "us-gov-west-1" - } + "name" ] }, - "headers": {} - }, - "type": "endpoint" + "aws-iso-b" + ] }, { - "conditions": [ + "fn": "booleanEquals", + "argv": [ { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - }, - "aws-us-gov" - ] + "ref": "UseFIPS" }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] + "ref": "UseDualStack" }, + false + ] + } + ], + "endpoint": { + "url": "https://iam.us-isob-east-1.sc2s.sgov.gov", + "properties": { + "authSchemes": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] + "name": "sigv4", + "signingName": "iam", + "signingRegion": "us-isob-east-1" } - ], - "endpoint": { - "url": "https://iam.us-gov.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "iam", - "signingRegion": "us-gov-west-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": "stringEquals", + "fn": "booleanEquals", "argv": [ + true, { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "name" + "supportsFIPS" ] - }, - "aws-iso" - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - } - ], - "endpoint": { - "url": "https://iam.us-iso-east-1.c2s.ic.gov", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "iam", - "signingRegion": "us-iso-east-1" } ] }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ { - "fn": "stringEquals", + "fn": "booleanEquals", "argv": [ + true, { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "name" + "supportsDualStack" ] - }, - "aws-iso-b" - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - } - ], - "endpoint": { - "url": "https://iam.us-isob-east-1.sc2s.sgov.gov", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "iam", - "signingRegion": "us-isob-east-1" } ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] } ], "type": "tree", "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://iam-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" + "endpoint": { + "url": "https://iam-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://iam-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://iam-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://iam.{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://iam.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://iam.{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://iam.{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/services/identitystore/pom.xml b/services/identitystore/pom.xml index 382f98912e9c..29c0dc50b9cb 100644 --- a/services/identitystore/pom.xml +++ b/services/identitystore/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT identitystore AWS Java SDK :: Services :: Identitystore diff --git a/services/imagebuilder/pom.xml b/services/imagebuilder/pom.xml index a3f00afcdc2f..b23959d189aa 100644 --- a/services/imagebuilder/pom.xml +++ b/services/imagebuilder/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT imagebuilder AWS Java SDK :: Services :: Imagebuilder diff --git a/services/imagebuilder/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/imagebuilder/src/main/resources/codegen-resources/endpoint-rule-set.json index abebd000844d..b083ebef93ec 100644 --- a/services/imagebuilder/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/imagebuilder/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,92 +140,83 @@ { "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://imagebuilder-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://imagebuilder-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 + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], @@ -221,155 +225,115 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, + "aws-us-gov", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] } ] } ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - "aws-us-gov", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://imagebuilder.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://imagebuilder-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] + "endpoint": { + "url": "https://imagebuilder.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://imagebuilder-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://imagebuilder.{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://imagebuilder.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://imagebuilder.{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://imagebuilder.{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/services/inspector/pom.xml b/services/inspector/pom.xml index daa207a9b593..f0538e9218f7 100644 --- a/services/inspector/pom.xml +++ b/services/inspector/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT inspector AWS Java SDK :: Services :: Amazon Inspector Service diff --git a/services/inspector/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/inspector/src/main/resources/codegen-resources/endpoint-rule-set.json index c709083f5a36..68b91d6015b5 100644 --- a/services/inspector/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/inspector/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://inspector-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://inspector-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://inspector.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://inspector.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://inspector.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://inspector.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/inspector/src/main/resources/codegen-resources/endpoint-tests.json b/services/inspector/src/main/resources/codegen-resources/endpoint-tests.json index 502219c2675e..3d066f9c6009 100644 --- a/services/inspector/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/inspector/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,42 +1,29 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://inspector-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://inspector-fips.ap-south-1.amazonaws.com" + "url": "https://inspector.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://inspector.ap-south-1.api.aws" + "url": "https://inspector.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -47,100 +34,22 @@ } }, "params": { - "UseDualStack": false, "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://inspector-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://inspector-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://inspector.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://inspector.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://inspector-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://inspector-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://inspector.eu-central-1.api.aws" + "url": "https://inspector.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -151,152 +60,9 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://inspector-fips.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://inspector-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://inspector.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://inspector.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://inspector-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://inspector-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://inspector.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://inspector.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://inspector-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://inspector-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://inspector.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -307,256 +73,243 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://inspector-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://inspector-fips.eu-west-2.amazonaws.com" + "url": "https://inspector.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://inspector.eu-west-2.api.aws" + "url": "https://inspector.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, "Region": "eu-west-2", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://inspector.eu-west-2.amazonaws.com" + "url": "https://inspector.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://inspector-fips.eu-west-1.api.aws" + "url": "https://inspector-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://inspector-fips.eu-west-1.amazonaws.com" + "url": "https://inspector.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://inspector.eu-west-1.api.aws" + "url": "https://inspector-fips.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://inspector.eu-west-1.amazonaws.com" + "url": "https://inspector.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://inspector-fips.ap-northeast-2.api.aws" + "url": "https://inspector-fips.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "us-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://inspector-fips.ap-northeast-2.amazonaws.com" + "url": "https://inspector.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://inspector.ap-northeast-2.api.aws" + "url": "https://inspector-fips.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://inspector.ap-northeast-2.amazonaws.com" + "url": "https://inspector-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://inspector-fips.ap-northeast-1.api.aws" + "url": "https://inspector.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://inspector-fips.ap-northeast-1.amazonaws.com" + "url": "https://inspector-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://inspector.ap-northeast-1.api.aws" + "url": "https://inspector-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://inspector.ap-northeast-1.amazonaws.com" + "url": "https://inspector.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://inspector-fips.us-gov-west-1.api.aws" + "url": "https://inspector.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://inspector-fips.us-gov-west-1.amazonaws.com" + "url": "https://inspector.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://inspector.us-gov-west-1.api.aws" + "url": "https://inspector-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { @@ -567,178 +320,170 @@ } }, "params": { - "UseDualStack": false, "Region": "us-gov-west-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://inspector-fips.ap-southeast-2.api.aws" + "url": "https://inspector-fips.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://inspector-fips.ap-southeast-2.amazonaws.com" + "url": "https://inspector-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://inspector.ap-southeast-2.api.aws" + "url": "https://inspector.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://inspector.ap-southeast-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://inspector-fips.us-east-1.api.aws" + "url": "https://inspector-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://inspector-fips.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://inspector.us-east-1.api.aws" + "url": "https://inspector.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://inspector.us-east-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://inspector-fips.us-east-2.api.aws" + "url": "https://inspector-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://inspector-fips.us-east-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://inspector.us-east-2.api.aws" + "url": "https://inspector.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://inspector.us-east-2.amazonaws.com" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -748,9 +493,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -760,11 +505,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/inspector2/pom.xml b/services/inspector2/pom.xml index 1a9dba8e632f..974f11cb0ed3 100644 --- a/services/inspector2/pom.xml +++ b/services/inspector2/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT inspector2 AWS Java SDK :: Services :: Inspector2 diff --git a/services/internetmonitor/pom.xml b/services/internetmonitor/pom.xml index 3db5c28267ca..f8e0c3c82dab 100644 --- a/services/internetmonitor/pom.xml +++ b/services/internetmonitor/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT internetmonitor AWS Java SDK :: Services :: Internet Monitor diff --git a/services/internetmonitor/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/internetmonitor/src/main/resources/codegen-resources/endpoint-rule-set.json index 3de3fac3112f..83d730fc6c77 100644 --- a/services/internetmonitor/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/internetmonitor/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -7,6 +7,13 @@ "documentation": "The AWS region used to dispatch the request.", "type": "String" }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, @@ -50,6 +57,21 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported", "type": "error" }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, { "conditions": [], "endpoint": { @@ -95,16 +117,19 @@ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] } ], @@ -115,61 +140,51 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "type": "tree", - "rules": [ + }, { - "conditions": [ + "fn": "booleanEquals", + "argv": [ + true, { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://internetmonitor-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } ] - }, + } + ], + "type": "tree", + "rules": [ { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://internetmonitor-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] }, { "conditions": [], - "endpoint": { - "url": "https://internetmonitor.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, @@ -225,6 +240,58 @@ } ] }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://internetmonitor.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, { "conditions": [], "endpoint": { diff --git a/services/internetmonitor/src/main/resources/codegen-resources/endpoint-tests.json b/services/internetmonitor/src/main/resources/codegen-resources/endpoint-tests.json index 9bc42f051905..15406716b4b6 100644 --- a/services/internetmonitor/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/internetmonitor/src/main/resources/codegen-resources/endpoint-tests.json @@ -9,7 +9,21 @@ }, "params": { "Region": "us-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://internetmonitor-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { @@ -21,7 +35,21 @@ }, "params": { "Region": "us-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://internetmonitor.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -33,7 +61,21 @@ }, "params": { "Region": "cn-north-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://internetmonitor-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { @@ -45,7 +87,21 @@ }, "params": { "Region": "cn-north-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://internetmonitor.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -57,7 +113,21 @@ }, "params": { "Region": "us-gov-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://internetmonitor-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { @@ -69,7 +139,117 @@ }, "params": { "Region": "us-gov-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://internetmonitor.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://internetmonitor-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://internetmonitor.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://internetmonitor-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://internetmonitor.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -82,6 +262,7 @@ "params": { "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -94,6 +275,7 @@ }, "params": { "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -105,6 +287,19 @@ "params": { "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } }, diff --git a/services/iot/pom.xml b/services/iot/pom.xml index 6ca8676234e7..64c0b0a64b5f 100644 --- a/services/iot/pom.xml +++ b/services/iot/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT iot AWS Java SDK :: Services :: AWS IoT diff --git a/services/iot/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/iot/src/main/resources/codegen-resources/endpoint-rule-set.json index 6190c5d138b0..64486d98236a 100644 --- a/services/iot/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/iot/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,299 +140,250 @@ { "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://iot-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://iot-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://iot-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://iot-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://iot.{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": [ - { - "fn": "stringEquals", - "argv": [ - "aws", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], + "conditions": [], "endpoint": { - "url": "https://iot.{Region}.amazonaws.com", + "url": "https://iot.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" - }, + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws", { - "conditions": [ + "fn": "getAttr", + "argv": [ { - "fn": "stringEquals", - "argv": [ - "aws-cn", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://iot.{Region}.amazonaws.com.cn", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://iot.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws-cn", { - "conditions": [ + "fn": "getAttr", + "argv": [ { - "fn": "stringEquals", - "argv": [ - "aws-us-gov", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://iot.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://iot.{Region}.amazonaws.com.cn", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws-us-gov", { - "conditions": [], - "endpoint": { - "url": "https://iot.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] } ] } - ] + ], + "endpoint": { + "url": "https://iot.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://iot.{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/services/iot/src/main/resources/codegen-resources/service-2.json b/services/iot/src/main/resources/codegen-resources/service-2.json index bd20791f4bac..8290b60ddf52 100644 --- a/services/iot/src/main/resources/codegen-resources/service-2.json +++ b/services/iot/src/main/resources/codegen-resources/service-2.json @@ -353,7 +353,7 @@ {"shape":"ServiceUnavailableException"}, {"shape":"InternalFailureException"} ], - "documentation":"

      Creates an X.509 certificate using the specified certificate signing request.

      Requires permission to access the CreateCertificateFromCsr action.

      The CSR must include a public key that is either an RSA key with a length of at least 2048 bits or an ECC key from NIST P-256 or NIST P-384 curves. For supported certificates, consult Certificate signing algorithms supported by IoT.

      Reusing the same certificate signing request (CSR) results in a distinct certificate.

      You can create multiple certificates in a batch by creating a directory, copying multiple .csr files into that directory, and then specifying that directory on the command line. The following commands show how to create a batch of certificates given a batch of CSRs. In the following commands, we assume that a set of CSRs are located inside of the directory my-csr-directory:

      On Linux and OS X, the command is:

      $ ls my-csr-directory/ | xargs -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}

      This command lists all of the CSRs in my-csr-directory and pipes each CSR file name to the aws iot create-certificate-from-csr Amazon Web Services CLI command to create a certificate for the corresponding CSR.

      You can also run the aws iot create-certificate-from-csr part of the command in parallel to speed up the certificate creation process:

      $ ls my-csr-directory/ | xargs -P 10 -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}

      On Windows PowerShell, the command to create certificates for all CSRs in my-csr-directory is:

      > ls -Name my-csr-directory | %{aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/$_}

      On a Windows command prompt, the command to create certificates for all CSRs in my-csr-directory is:

      > forfiles /p my-csr-directory /c \"cmd /c aws iot create-certificate-from-csr --certificate-signing-request file://@path\"

      " + "documentation":"

      Creates an X.509 certificate using the specified certificate signing request.

      Requires permission to access the CreateCertificateFromCsr action.

      The CSR must include a public key that is either an RSA key with a length of at least 2048 bits or an ECC key from NIST P-256, NIST P-384, or NIST P-521 curves. For supported certificates, consult Certificate signing algorithms supported by IoT.

      Reusing the same certificate signing request (CSR) results in a distinct certificate.

      You can create multiple certificates in a batch by creating a directory, copying multiple .csr files into that directory, and then specifying that directory on the command line. The following commands show how to create a batch of certificates given a batch of CSRs. In the following commands, we assume that a set of CSRs are located inside of the directory my-csr-directory:

      On Linux and OS X, the command is:

      $ ls my-csr-directory/ | xargs -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}

      This command lists all of the CSRs in my-csr-directory and pipes each CSR file name to the aws iot create-certificate-from-csr Amazon Web Services CLI command to create a certificate for the corresponding CSR.

      You can also run the aws iot create-certificate-from-csr part of the command in parallel to speed up the certificate creation process:

      $ ls my-csr-directory/ | xargs -P 10 -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}

      On Windows PowerShell, the command to create certificates for all CSRs in my-csr-directory is:

      > ls -Name my-csr-directory | %{aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/$_}

      On a Windows command prompt, the command to create certificates for all CSRs in my-csr-directory is:

      > forfiles /p my-csr-directory /c \"cmd /c aws iot create-certificate-from-csr --certificate-signing-request file://@path\"

      " }, "CreateCustomMetric":{ "name":"CreateCustomMetric", @@ -1130,7 +1130,7 @@ {"shape":"InternalServerException"}, {"shape":"ValidationException"} ], - "documentation":"

      Deletes a specific version from a software package.

      Note: If a package version is designated as default, you must remove the designation from the package using the UpdatePackage action.

      ", + "documentation":"

      Deletes a specific version from a software package.

      Note: If a package version is designated as default, you must remove the designation from the software package using the UpdatePackage action.

      ", "idempotent":true }, "DeletePolicy":{ @@ -4067,7 +4067,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

      Updates the supported fields for a specific package.

      Requires permission to access the UpdatePackage and GetIndexingConfiguration actions.

      ", + "documentation":"

      Updates the supported fields for a specific software package.

      Requires permission to access the UpdatePackage and GetIndexingConfiguration actions.

      ", "idempotent":true }, "UpdatePackageConfiguration":{ @@ -4084,7 +4084,7 @@ {"shape":"InternalServerException"}, {"shape":"ValidationException"} ], - "documentation":"

      Updates the package configuration.

      Requires permission to access the UpdatePackageConfiguration and iam:PassRole actions.

      ", + "documentation":"

      Updates the software package configuration.

      Requires permission to access the UpdatePackageConfiguration and iam:PassRole actions.

      ", "idempotent":true }, "UpdatePackageVersion":{ @@ -5650,7 +5650,7 @@ }, "criteria":{ "shape":"BehaviorCriteria", - "documentation":"

      The criteria that determine if a device is behaving normally in regard to the metric.

      " + "documentation":"

      The criteria that determine if a device is behaving normally in regard to the metric.

      In the IoT console, you can choose to be sent an alert through Amazon SNS when IoT Device Defender detects that a device is behaving anomalously.

      " }, "suppressAlerts":{ "shape":"SuppressAlerts", @@ -7086,7 +7086,7 @@ }, "documentSource":{ "shape":"JobDocumentSource", - "documentation":"

      An S3 link to the job document to use in the template. Required if you don't specify a value for document.

      If the job document resides in an S3 bucket, you must use a placeholder link when specifying the document.

      The placeholder link is of the following form:

      ${aws:iot:s3-presigned-url:https://s3.amazonaws.com/bucket/key}

      where bucket is your bucket name and key is the object in the bucket to which you are linking.

      " + "documentation":"

      An S3 link, or S3 object URL, to the job document. The link is an Amazon S3 object URL and is required if you don't specify a value for document.

      For example, --document-source https://s3.region-code.amazonaws.com/example-firmware/device-firmware.1.0

      For more information, see Methods for accessing a bucket.

      " }, "document":{ "shape":"JobDocument", @@ -7263,7 +7263,7 @@ }, "additionalParameters":{ "shape":"AdditionalParameterMap", - "documentation":"

      A list of additional OTA update parameters which are name-value pairs.

      " + "documentation":"

      A list of additional OTA update parameters, which are name-value pairs. They won't be sent to devices as a part of the Job document.

      " }, "tags":{ "shape":"TagList", @@ -7302,7 +7302,7 @@ "members":{ "packageName":{ "shape":"PackageName", - "documentation":"

      The name of the new package.

      ", + "documentation":"

      The name of the new software package.

      ", "location":"uri", "locationName":"packageName" }, @@ -7328,7 +7328,7 @@ "members":{ "packageName":{ "shape":"PackageName", - "documentation":"

      The name of the package.

      " + "documentation":"

      The name of the software package.

      " }, "packageArn":{ "shape":"PackageArn", @@ -7349,7 +7349,7 @@ "members":{ "packageName":{ "shape":"PackageName", - "documentation":"

      The name of the associated package.

      ", + "documentation":"

      The name of the associated software package.

      ", "location":"uri", "locationName":"packageName" }, @@ -7389,7 +7389,7 @@ }, "packageName":{ "shape":"PackageName", - "documentation":"

      The name of the associated package.

      " + "documentation":"

      The name of the associated software package.

      " }, "versionName":{ "shape":"VersionName", @@ -8423,7 +8423,7 @@ "members":{ "packageName":{ "shape":"PackageName", - "documentation":"

      The name of the target package.

      ", + "documentation":"

      The name of the target software package.

      ", "location":"uri", "locationName":"packageName" }, @@ -8450,7 +8450,7 @@ "members":{ "packageName":{ "shape":"PackageName", - "documentation":"

      The name of the associated package.

      ", + "documentation":"

      The name of the associated software package.

      ", "location":"uri", "locationName":"packageName" }, @@ -9244,7 +9244,7 @@ "members":{ "endpointType":{ "shape":"EndpointType", - "documentation":"

      The endpoint type. Valid endpoint types include:

      • iot:Data - Returns a VeriSign signed data endpoint.

      • iot:Data-ATS - Returns an ATS signed data endpoint.

      • iot:CredentialProvider - Returns an IoT credentials provider API endpoint.

      • iot:Jobs - Returns an IoT device management Jobs API endpoint.

      We strongly recommend that customers use the newer iot:Data-ATS endpoint type to avoid issues related to the widespread distrust of Symantec certificate authorities.

      ", + "documentation":"

      The endpoint type. Valid endpoint types include:

      • iot:Data - Returns a VeriSign signed data endpoint.

      • iot:Data-ATS - Returns an ATS signed data endpoint.

      • iot:CredentialProvider - Returns an IoT credentials provider API endpoint.

      • iot:Jobs - Returns an IoT device management Jobs API endpoint.

      We strongly recommend that customers use the newer iot:Data-ATS endpoint type to avoid issues related to the widespread distrust of Symantec certificate authorities. ATS Signed Certificates are more secure and are trusted by most popular browsers.

      ", "location":"querystring", "locationName":"endpointType" } @@ -11188,7 +11188,7 @@ "members":{ "packageName":{ "shape":"PackageName", - "documentation":"

      The name of the target package.

      ", + "documentation":"

      The name of the target software package.

      ", "location":"uri", "locationName":"packageName" } @@ -11199,7 +11199,7 @@ "members":{ "packageName":{ "shape":"PackageName", - "documentation":"

      The name of the package.

      " + "documentation":"

      The name of the software package.

      " }, "packageArn":{ "shape":"PackageArn", @@ -11253,7 +11253,7 @@ }, "packageName":{ "shape":"PackageName", - "documentation":"

      The name of the package.

      " + "documentation":"

      The name of the software package.

      " }, "versionName":{ "shape":"VersionName", @@ -12430,10 +12430,48 @@ "clientProperties":{ "shape":"ClientProperties", "documentation":"

      Properties of the Apache Kafka producer client.

      " + }, + "headers":{ + "shape":"KafkaHeaders", + "documentation":"

      The list of Kafka headers that you specify.

      " } }, "documentation":"

      Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon MSK) or self-managed Apache Kafka cluster.

      " }, + "KafkaActionHeader":{ + "type":"structure", + "required":[ + "key", + "value" + ], + "members":{ + "key":{ + "shape":"KafkaHeaderKey", + "documentation":"

      The key of the Kafka header.

      " + }, + "value":{ + "shape":"KafkaHeaderValue", + "documentation":"

      The value of the Kafka header.

      " + } + }, + "documentation":"

      Specifies a Kafka header using key-value pairs when you create a Rule’s Kafka Action. You can use these headers to route data from IoT clients to downstream Kafka clusters without modifying your message payload.

      For more information about Rule's Kafka action, see Apache Kafka.

      " + }, + "KafkaHeaderKey":{ + "type":"string", + "max":16384, + "min":0 + }, + "KafkaHeaderValue":{ + "type":"string", + "max":16384, + "min":0 + }, + "KafkaHeaders":{ + "type":"list", + "member":{"shape":"KafkaActionHeader"}, + "max":100, + "min":1 + }, "Key":{"type":"string"}, "KeyName":{ "type":"string", @@ -13750,7 +13788,7 @@ "members":{ "packageName":{ "shape":"PackageName", - "documentation":"

      The name of the target package.

      ", + "documentation":"

      The name of the target software package.

      ", "location":"uri", "locationName":"packageName" }, @@ -15079,7 +15117,9 @@ "THING_GROUP", "CLIENT_ID", "SOURCE_IP", - "PRINCIPAL_ID" + "PRINCIPAL_ID", + "EVENT_TYPE", + "DEVICE_DEFENDER" ] }, "LoggingOptionsPayload":{ @@ -15601,7 +15641,7 @@ }, "attributes":{ "shape":"AttributesMap", - "documentation":"

      A list of name/attribute pairs.

      " + "documentation":"

      A list of name-attribute pairs. They won't be sent to devices as a part of the Job document.

      " } }, "documentation":"

      Describes a file to be associated with an OTA update.

      " @@ -15809,7 +15849,7 @@ "members":{ "packageName":{ "shape":"PackageName", - "documentation":"

      The name for the target package.

      " + "documentation":"

      The name for the target software package.

      " }, "defaultVersionName":{ "shape":"VersionName", @@ -17100,11 +17140,11 @@ "members":{ "startTime":{ "shape":"StringDateTime", - "documentation":"

      The time a job will begin rollout of the job document to all devices in the target group for a job. The startTime can be scheduled up to a year in advance and must be scheduled a minimum of thirty minutes from the current time. The date and time format for the startTime is YYYY-MM-DD for the date and HH:MM for the time.

      " + "documentation":"

      The time a job will begin rollout of the job document to all devices in the target group for a job. The startTime can be scheduled up to a year in advance and must be scheduled a minimum of thirty minutes from the current time. The date and time format for the startTime is YYYY-MM-DD for the date and HH:MM for the time.

      For more information on the syntax for startTime when using an API command or the Command Line Interface, see Timestamp.

      " }, "endTime":{ "shape":"StringDateTime", - "documentation":"

      The time a job will stop rollout of the job document to all devices in the target group for a job. The endTime must take place no later than two years from the current time and be scheduled a minimum of thirty minutes from the current time. The minimum duration between startTime and endTime is thirty minutes. The maximum duration between startTime and endTime is two years. The date and time format for the endTime is YYYY-MM-DD for the date and HH:MM for the time.

      " + "documentation":"

      The time a job will stop rollout of the job document to all devices in the target group for a job. The endTime must take place no later than two years from the current time and be scheduled a minimum of thirty minutes from the current time. The minimum duration between startTime and endTime is thirty minutes. The maximum duration between startTime and endTime is two years. The date and time format for the endTime is YYYY-MM-DD for the date and HH:MM for the time.

      For more information on the syntax for endTime when using an API command or the Command Line Interface, see Timestamp.

      " }, "endBehavior":{ "shape":"JobEndBehavior", @@ -19651,7 +19691,7 @@ "members":{ "packageName":{ "shape":"PackageName", - "documentation":"

      The name of the target package.

      ", + "documentation":"

      The name of the target software package.

      ", "location":"uri", "locationName":"packageName" }, @@ -19706,7 +19746,7 @@ }, "attributes":{ "shape":"ResourceAttributes", - "documentation":"

      Metadata that can be used to define a package version’s configuration. For example, the S3 file location, configuration options that are being sent to the device or fleet.

      Note: Attributes can be updated only when the package version is in a draft state.

      The combined size of all the attributes on a package version is limited to 3KB.

      " + "documentation":"

      Metadata that can be used to define a package version’s configuration. For example, the Amazon S3 file location, configuration options that are being sent to the device or fleet.

      Note: Attributes can be updated only when the package version is in a draft state.

      The combined size of all the attributes on a package version is limited to 3KB.

      " }, "action":{ "shape":"PackageVersionAction", diff --git a/services/iot1clickdevices/pom.xml b/services/iot1clickdevices/pom.xml index 3a54005a5966..8fbace5e8a51 100644 --- a/services/iot1clickdevices/pom.xml +++ b/services/iot1clickdevices/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT iot1clickdevices AWS Java SDK :: Services :: IoT 1Click Devices Service diff --git a/services/iot1clickdevices/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/iot1clickdevices/src/main/resources/codegen-resources/endpoint-rule-set.json index abd13719e6ac..b23e238a19ad 100644 --- a/services/iot1clickdevices/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/iot1clickdevices/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "parseURL", + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,221 +140,175 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://devices.iot1click-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] }, { "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] - }, + } + ], + "type": "tree", + "rules": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://devices.iot1click-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://devices.iot1click-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://devices.iot1click-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://devices.iot1click.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://devices.iot1click.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://devices.iot1click.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://devices.iot1click.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/iot1clickdevices/src/main/resources/codegen-resources/endpoint-tests.json b/services/iot1clickdevices/src/main/resources/codegen-resources/endpoint-tests.json index 3ccd8cf6e731..f5c8d9a906e9 100644 --- a/services/iot1clickdevices/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/iot1clickdevices/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,68 +1,281 @@ { "testCases": [ { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://devices.iot1click-fips.us-west-2.api.aws" + "url": "https://devices.iot1click-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://devices.iot1click-fips.us-west-2.amazonaws.com" + "url": "https://devices.iot1click-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://devices.iot1click.us-west-2.api.aws" + "url": "https://devices.iot1click.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://devices.iot1click.us-west-2.amazonaws.com" + "url": "https://devices.iot1click.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://devices.iot1click-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devices.iot1click-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://devices.iot1click.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devices.iot1click.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://devices.iot1click-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devices.iot1click-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://devices.iot1click.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devices.iot1click.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devices.iot1click-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devices.iot1click.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devices.iot1click-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://devices.iot1click.us-isob-east-1.sc2s.sgov.gov" + } + }, + "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": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -72,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -84,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/iot1clickprojects/pom.xml b/services/iot1clickprojects/pom.xml index 9afd42112955..92ba2ee0955d 100644 --- a/services/iot1clickprojects/pom.xml +++ b/services/iot1clickprojects/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT iot1clickprojects AWS Java SDK :: Services :: IoT 1Click Projects diff --git a/services/iot1clickprojects/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/iot1clickprojects/src/main/resources/codegen-resources/endpoint-rule-set.json index 7be18d3e24cc..02e37ba5c896 100644 --- a/services/iot1clickprojects/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/iot1clickprojects/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://projects.iot1click-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://projects.iot1click-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://projects.iot1click.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://projects.iot1click.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://projects.iot1click.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://projects.iot1click.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/iot1clickprojects/src/main/resources/codegen-resources/endpoint-tests.json b/services/iot1clickprojects/src/main/resources/codegen-resources/endpoint-tests.json index 17641f27b759..51b621736026 100644 --- a/services/iot1clickprojects/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/iot1clickprojects/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,94 +1,81 @@ { "testCases": [ { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://projects.iot1click-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://projects.iot1click-fips.eu-central-1.amazonaws.com" + "url": "https://projects.iot1click.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://projects.iot1click.eu-central-1.api.aws" + "url": "https://projects.iot1click.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, "Region": "eu-central-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://projects.iot1click.eu-central-1.amazonaws.com" + "url": "https://projects.iot1click.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://projects.iot1click-fips.us-west-2.api.aws" + "url": "https://projects.iot1click.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://projects.iot1click-fips.us-west-2.amazonaws.com" + "url": "https://projects.iot1click.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://projects.iot1click.us-west-2.api.aws" + "url": "https://projects.iot1click.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -99,282 +86,274 @@ } }, "params": { - "UseDualStack": false, "Region": "us-west-2", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://projects.iot1click-fips.eu-west-2.api.aws" + "url": "https://projects.iot1click-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://projects.iot1click-fips.eu-west-2.amazonaws.com" + "url": "https://projects.iot1click-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://projects.iot1click.eu-west-2.api.aws" + "url": "https://projects.iot1click.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://projects.iot1click.eu-west-2.amazonaws.com" + "url": "https://projects.iot1click-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://projects.iot1click-fips.eu-west-1.api.aws" + "url": "https://projects.iot1click-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://projects.iot1click-fips.eu-west-1.amazonaws.com" + "url": "https://projects.iot1click.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://projects.iot1click.eu-west-1.api.aws" + "url": "https://projects.iot1click.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://projects.iot1click.eu-west-1.amazonaws.com" + "url": "https://projects.iot1click-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://projects.iot1click-fips.ap-northeast-1.api.aws" + "url": "https://projects.iot1click-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://projects.iot1click-fips.ap-northeast-1.amazonaws.com" + "url": "https://projects.iot1click.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://projects.iot1click.ap-northeast-1.api.aws" + "url": "https://projects.iot1click.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://projects.iot1click.ap-northeast-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://projects.iot1click-fips.us-east-1.api.aws" + "url": "https://projects.iot1click-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://projects.iot1click-fips.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://projects.iot1click.us-east-1.api.aws" + "url": "https://projects.iot1click.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://projects.iot1click.us-east-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://projects.iot1click-fips.us-east-2.api.aws" + "url": "https://projects.iot1click-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://projects.iot1click-fips.us-east-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://projects.iot1click.us-east-2.api.aws" + "url": "https://projects.iot1click.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://projects.iot1click.us-east-2.amazonaws.com" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -384,9 +363,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -396,11 +375,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/iotanalytics/pom.xml b/services/iotanalytics/pom.xml index c025865c0d3b..495dc5c8edbe 100644 --- a/services/iotanalytics/pom.xml +++ b/services/iotanalytics/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT iotanalytics AWS Java SDK :: Services :: IoTAnalytics diff --git a/services/iotanalytics/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/iotanalytics/src/main/resources/codegen-resources/endpoint-rule-set.json index 14219f71c88b..53d23825a6fa 100644 --- a/services/iotanalytics/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/iotanalytics/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://iotanalytics-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://iotanalytics-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://iotanalytics.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://iotanalytics.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://iotanalytics.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://iotanalytics.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/iotanalytics/src/main/resources/codegen-resources/endpoint-tests.json b/services/iotanalytics/src/main/resources/codegen-resources/endpoint-tests.json index 4ebbc867eea4..99b5e90eef25 100644 --- a/services/iotanalytics/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/iotanalytics/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,42 +1,16 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://iotanalytics-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://iotanalytics-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotanalytics.ap-south-1.api.aws" + "url": "https://iotanalytics.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -47,48 +21,22 @@ } }, "params": { - "UseDualStack": false, "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://iotanalytics-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://iotanalytics-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotanalytics.eu-central-1.api.aws" + "url": "https://iotanalytics.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -99,48 +47,48 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-central-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotanalytics-fips.us-west-2.api.aws" + "url": "https://iotanalytics.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotanalytics-fips.us-west-2.amazonaws.com" + "url": "https://iotanalytics.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotanalytics.us-west-2.api.aws" + "url": "https://iotanalytics.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -151,113 +99,61 @@ } }, "params": { - "UseDualStack": false, "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://iotanalytics-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://iotanalytics-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://iotanalytics.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://iotanalytics.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://iotanalytics-fips.ap-northeast-1.api.aws" + "url": "https://iotanalytics-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotanalytics-fips.ap-northeast-1.amazonaws.com" + "url": "https://iotanalytics-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://iotanalytics.ap-northeast-1.api.aws" + "url": "https://iotanalytics.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotanalytics.ap-northeast-1.amazonaws.com" + "url": "https://iotanalytics.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -268,9 +164,9 @@ } }, "params": { - "UseDualStack": true, "Region": "cn-north-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -281,9 +177,9 @@ } }, "params": { - "UseDualStack": false, "Region": "cn-north-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -294,191 +190,183 @@ } }, "params": { - "UseDualStack": true, "Region": "cn-north-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://iotanalytics.cn-north-1.amazonaws.com.cn" + "url": "https://iotanalytics-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotanalytics-fips.ap-southeast-2.api.aws" + "url": "https://iotanalytics-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://iotanalytics-fips.ap-southeast-2.amazonaws.com" + "url": "https://iotanalytics.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotanalytics.ap-southeast-2.api.aws" + "url": "https://iotanalytics.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://iotanalytics.ap-southeast-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotanalytics-fips.us-east-1.api.aws" + "url": "https://iotanalytics-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://iotanalytics-fips.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotanalytics.us-east-1.api.aws" + "url": "https://iotanalytics.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://iotanalytics.us-east-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotanalytics-fips.us-east-2.api.aws" + "url": "https://iotanalytics-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://iotanalytics-fips.us-east-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotanalytics.us-east-2.api.aws" + "url": "https://iotanalytics.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://iotanalytics.us-east-2.amazonaws.com" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -488,9 +376,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -500,11 +388,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/iotdataplane/pom.xml b/services/iotdataplane/pom.xml index e5d025f1c6bf..632bf57ac6e8 100644 --- a/services/iotdataplane/pom.xml +++ b/services/iotdataplane/pom.xml @@ -22,7 +22,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT iotdataplane AWS Java SDK :: Services :: AWS IoT Data Plane diff --git a/services/iotdataplane/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/iotdataplane/src/main/resources/codegen-resources/endpoint-rule-set.json index 89de6446a566..2737d5089fcf 100644 --- a/services/iotdataplane/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/iotdataplane/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,92 +140,83 @@ { "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://data-ats.iot-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://data-ats.iot-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 + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], @@ -221,242 +225,60 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "Region" + }, + "ca-central-1" ] } ], - "type": "tree", - "rules": [ + "endpoint": { + "url": "https://data.iot-fips.ca-central-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "ca-central-1" - ] - } - ], - "endpoint": { - "url": "https://data.iot-fips.ca-central-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-east-1" - ] - } - ], - "endpoint": { - "url": "https://data.iot-fips.us-east-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-east-2" - ] - } - ], - "endpoint": { - "url": "https://data.iot-fips.us-east-2.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-west-1" - ] - } - ], - "endpoint": { - "url": "https://data.iot-fips.us-west-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-west-2" - ] - } - ], - "endpoint": { - "url": "https://data.iot-fips.us-west-2.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-east-1" - ] - } - ], - "endpoint": { - "url": "https://data.iot-fips.us-gov-east-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, + "fn": "stringEquals", + "argv": [ { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-west-1" - ] - } - ], - "endpoint": { - "url": "https://data.iot-fips.us-gov-west-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "ref": "Region" }, - { - "conditions": [], - "endpoint": { - "url": "https://data-ats.iot-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "us-east-1" ] } - ] + ], + "endpoint": { + "url": "https://data.iot-fips.us-east-1.amazonaws.com", + "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", + "fn": "stringEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "Region" + }, + "us-east-2" ] } ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://data-ats.iot.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] + "endpoint": { + "url": "https://data.iot-fips.us-east-2.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ] - }, - { - "conditions": [], - "type": "tree", - "rules": [ { "conditions": [ { @@ -465,12 +287,12 @@ { "ref": "Region" }, - "cn-north-1" + "us-west-1" ] } ], "endpoint": { - "url": "https://data.ats.iot.cn-north-1.amazonaws.com.cn", + "url": "https://data.iot-fips.us-west-1.amazonaws.com", "properties": {}, "headers": {} }, @@ -481,21 +303,15 @@ { "fn": "stringEquals", "argv": [ - "aws", { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } + "ref": "Region" + }, + "us-west-2" ] } ], "endpoint": { - "url": "https://data-ats.iot.{Region}.amazonaws.com", + "url": "https://data.iot-fips.us-west-2.amazonaws.com", "properties": {}, "headers": {} }, @@ -506,21 +322,15 @@ { "fn": "stringEquals", "argv": [ - "aws-cn", { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } + "ref": "Region" + }, + "us-gov-east-1" ] } ], "endpoint": { - "url": "https://data-ats.iot.{Region}.amazonaws.com.cn", + "url": "https://data.iot-fips.us-gov-east-1.amazonaws.com", "properties": {}, "headers": {} }, @@ -531,21 +341,15 @@ { "fn": "stringEquals", "argv": [ - "aws-us-gov", { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } + "ref": "Region" + }, + "us-gov-west-1" ] } ], "endpoint": { - "url": "https://data-ats.iot.{Region}.amazonaws.com", + "url": "https://data.iot-fips.us-gov-west-1.amazonaws.com", "properties": {}, "headers": {} }, @@ -554,24 +358,184 @@ { "conditions": [], "endpoint": { - "url": "https://data-ats.iot.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://data-ats.iot-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://data-ats.iot.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "cn-north-1" + ] + } + ], + "endpoint": { + "url": "https://data.ats.iot.cn-north-1.amazonaws.com.cn", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://data-ats.iot.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws-cn", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://data-ats.iot.{Region}.amazonaws.com.cn", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws-us-gov", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://data-ats.iot.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://data-ats.iot.{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/services/iotdeviceadvisor/pom.xml b/services/iotdeviceadvisor/pom.xml index 8b2b04657b74..cfd13b4dc920 100644 --- a/services/iotdeviceadvisor/pom.xml +++ b/services/iotdeviceadvisor/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT iotdeviceadvisor AWS Java SDK :: Services :: Iot Device Advisor diff --git a/services/iotdeviceadvisor/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/iotdeviceadvisor/src/main/resources/codegen-resources/endpoint-rule-set.json index 5b43c2d14753..d65669e73ea9 100644 --- a/services/iotdeviceadvisor/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/iotdeviceadvisor/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://api.iotdeviceadvisor-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://api.iotdeviceadvisor-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://api.iotdeviceadvisor-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://api.iotdeviceadvisor-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://api.iotdeviceadvisor.{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://api.iotdeviceadvisor.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://api.iotdeviceadvisor.{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://api.iotdeviceadvisor.{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/services/iotevents/pom.xml b/services/iotevents/pom.xml index 9a4e95ca0310..8fe68334b97f 100644 --- a/services/iotevents/pom.xml +++ b/services/iotevents/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT iotevents AWS Java SDK :: Services :: IoT Events diff --git a/services/iotevents/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/iotevents/src/main/resources/codegen-resources/endpoint-rule-set.json index ef5963b169f3..678f9935ed15 100644 --- a/services/iotevents/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/iotevents/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://iotevents-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://iotevents-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://iotevents.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://iotevents.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://iotevents.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://iotevents.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/iotevents/src/main/resources/codegen-resources/endpoint-tests.json b/services/iotevents/src/main/resources/codegen-resources/endpoint-tests.json index 1d541a86c1c1..a4213c1a4ac6 100644 --- a/services/iotevents/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/iotevents/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,42 +1,29 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://iotevents-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotevents-fips.ap-south-1.amazonaws.com" + "url": "https://iotevents.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotevents.ap-south-1.api.aws" + "url": "https://iotevents.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -47,100 +34,35 @@ } }, "params": { - "UseDualStack": false, "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://iotevents-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://iotevents-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://iotevents.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://iotevents.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://iotevents-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotevents-fips.ca-central-1.amazonaws.com" + "url": "https://iotevents.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotevents.ca-central-1.api.aws" + "url": "https://iotevents.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -151,48 +73,9 @@ } }, "params": { - "UseDualStack": false, "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://iotevents-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://iotevents-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://iotevents.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -203,152 +86,9 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://iotevents-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://iotevents-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://iotevents.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://iotevents.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://iotevents-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://iotevents-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://iotevents.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://iotevents.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://iotevents-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://iotevents-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://iotevents.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -359,113 +99,113 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-west-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotevents-fips.ap-northeast-2.api.aws" + "url": "https://iotevents.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotevents-fips.ap-northeast-2.amazonaws.com" + "url": "https://iotevents.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotevents.ap-northeast-2.api.aws" + "url": "https://iotevents.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotevents.ap-northeast-2.amazonaws.com" + "url": "https://iotevents.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://iotevents-fips.ap-northeast-1.api.aws" + "url": "https://iotevents-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotevents-fips.ap-northeast-1.amazonaws.com" + "url": "https://iotevents-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://iotevents.ap-northeast-1.api.aws" + "url": "https://iotevents.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotevents.ap-northeast-1.amazonaws.com" + "url": "https://iotevents.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -476,9 +216,9 @@ } }, "params": { - "UseDualStack": true, "Region": "cn-north-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -489,9 +229,9 @@ } }, "params": { - "UseDualStack": false, "Region": "cn-north-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -502,61 +242,9 @@ } }, "params": { - "UseDualStack": true, "Region": "cn-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://iotevents.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://iotevents-fips.us-gov-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://iotevents-fips.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://iotevents.us-gov-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -567,230 +255,183 @@ } }, "params": { - "UseDualStack": false, "Region": "us-gov-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://iotevents-fips.ap-southeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://iotevents-fips.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://iotevents.ap-southeast-1.api.aws" + "url": "https://iotevents-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotevents.ap-southeast-1.amazonaws.com" + "url": "https://iotevents-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://iotevents-fips.ap-southeast-2.api.aws" + "url": "https://iotevents.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotevents-fips.ap-southeast-2.amazonaws.com" + "url": "https://iotevents.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://iotevents.ap-southeast-2.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://iotevents.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotevents-fips.us-east-1.api.aws" + "url": "https://iotevents-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://iotevents-fips.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotevents.us-east-1.api.aws" + "url": "https://iotevents.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://iotevents.us-east-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotevents-fips.us-east-2.api.aws" + "url": "https://iotevents-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://iotevents-fips.us-east-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotevents.us-east-2.api.aws" + "url": "https://iotevents.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://iotevents.us-east-2.amazonaws.com" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -800,9 +441,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -812,11 +453,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/ioteventsdata/pom.xml b/services/ioteventsdata/pom.xml index 3a73d1d3f981..ab3a6806c19c 100644 --- a/services/ioteventsdata/pom.xml +++ b/services/ioteventsdata/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ioteventsdata AWS Java SDK :: Services :: IoT Events Data diff --git a/services/ioteventsdata/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/ioteventsdata/src/main/resources/codegen-resources/endpoint-rule-set.json index 5347166be6d3..ecd75651a6da 100644 --- a/services/ioteventsdata/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/ioteventsdata/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "parseURL", + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,221 +140,175 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://data.iotevents-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] }, { "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] - }, + } + ], + "type": "tree", + "rules": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://data.iotevents-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://data.iotevents-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://data.iotevents-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://data.iotevents.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://data.iotevents.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://data.iotevents.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://data.iotevents.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/ioteventsdata/src/main/resources/codegen-resources/endpoint-tests.json b/services/ioteventsdata/src/main/resources/codegen-resources/endpoint-tests.json index 91c92af29cd0..44b4a35477e1 100644 --- a/services/ioteventsdata/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/ioteventsdata/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,16 +1,281 @@ { "testCases": [ { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://data.iotevents-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://data.iotevents-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://data.iotevents.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://data.iotevents.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://data.iotevents-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://data.iotevents-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://data.iotevents.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://data.iotevents.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://data.iotevents-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://data.iotevents-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://data.iotevents.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://data.iotevents.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://data.iotevents-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://data.iotevents.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://data.iotevents-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://data.iotevents.us-isob-east-1.sc2s.sgov.gov" + } + }, + "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": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -20,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -32,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/iotfleethub/pom.xml b/services/iotfleethub/pom.xml index a55e162081d8..f168060e35da 100644 --- a/services/iotfleethub/pom.xml +++ b/services/iotfleethub/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT iotfleethub AWS Java SDK :: Services :: Io T Fleet Hub diff --git a/services/iotfleethub/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/iotfleethub/src/main/resources/codegen-resources/endpoint-rule-set.json index 569ef2551616..5431059d2f28 100644 --- a/services/iotfleethub/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/iotfleethub/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://api.fleethub.iot-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://api.fleethub.iot-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://api.fleethub.iot.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://api.fleethub.iot.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://api.fleethub.iot.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://api.fleethub.iot.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/iotfleethub/src/main/resources/codegen-resources/endpoint-tests.json b/services/iotfleethub/src/main/resources/codegen-resources/endpoint-tests.json index cf30b47180d3..7efbb4403bc4 100644 --- a/services/iotfleethub/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/iotfleethub/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,42 +1,29 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.fleethub.iot-fips.ap-south-1.amazonaws.com" + "url": "https://api.fleethub.iot.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.fleethub.iot.ap-south-1.api.aws" + "url": "https://api.fleethub.iot.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -47,48 +34,35 @@ } }, "params": { - "UseDualStack": false, "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.fleethub.iot-fips.ca-central-1.amazonaws.com" + "url": "https://api.fleethub.iot.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.fleethub.iot.ca-central-1.api.aws" + "url": "https://api.fleethub.iot.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -99,48 +73,22 @@ } }, "params": { - "UseDualStack": false, "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.fleethub.iot.eu-central-1.api.aws" + "url": "https://api.fleethub.iot-fips.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "ca-central-1", + "UseFIPS": true, + "UseDualStack": false } }, { @@ -151,100 +99,9 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -255,48 +112,22 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.fleethub.iot.eu-west-2.api.aws" + "url": "https://api.fleethub.iot.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -307,386 +138,339 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.fleethub.iot.eu-west-1.amazonaws.com" + "url": "https://api.fleethub.iot.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.fleethub.iot-fips.ap-northeast-2.api.aws" + "url": "https://api.fleethub.iot-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.fleethub.iot-fips.ap-northeast-2.amazonaws.com" + "url": "https://api.fleethub.iot.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.fleethub.iot.ap-northeast-2.api.aws" + "url": "https://api.fleethub.iot-fips.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.fleethub.iot.ap-northeast-2.amazonaws.com" + "url": "https://api.fleethub.iot.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.fleethub.iot-fips.ap-northeast-1.api.aws" + "url": "https://api.fleethub.iot-fips.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-west-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://api.fleethub.iot-fips.ap-northeast-1.amazonaws.com" + "url": "https://api.fleethub.iot-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://api.fleethub.iot.ap-northeast-1.api.aws" + "url": "https://api.fleethub.iot.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://api.fleethub.iot.ap-northeast-1.amazonaws.com" + "url": "https://api.fleethub.iot-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.fleethub.iot-fips.ap-southeast-1.api.aws" + "url": "https://api.fleethub.iot-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://api.fleethub.iot-fips.ap-southeast-1.amazonaws.com" + "url": "https://api.fleethub.iot.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.fleethub.iot.ap-southeast-1.api.aws" + "url": "https://api.fleethub.iot.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://api.fleethub.iot.ap-southeast-1.amazonaws.com" + "url": "https://api.fleethub.iot-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.fleethub.iot-fips.ap-southeast-2.api.aws" + "url": "https://api.fleethub.iot-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://api.fleethub.iot-fips.ap-southeast-2.amazonaws.com" + "url": "https://api.fleethub.iot.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.fleethub.iot.ap-southeast-2.api.aws" + "url": "https://api.fleethub.iot.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://api.fleethub.iot.ap-southeast-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.fleethub.iot-fips.us-east-1.api.aws" + "url": "https://api.fleethub.iot-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://api.fleethub.iot-fips.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.fleethub.iot.us-east-1.api.aws" + "url": "https://api.fleethub.iot.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://api.fleethub.iot.us-east-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.fleethub.iot-fips.us-east-2.api.aws" + "url": "https://api.fleethub.iot-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://api.fleethub.iot-fips.us-east-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.fleethub.iot.us-east-2.api.aws" + "url": "https://api.fleethub.iot.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://api.fleethub.iot.us-east-2.amazonaws.com" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -696,9 +480,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -708,11 +492,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/iotfleetwise/pom.xml b/services/iotfleetwise/pom.xml index 8743d586da5d..e400a59f1094 100644 --- a/services/iotfleetwise/pom.xml +++ b/services/iotfleetwise/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT iotfleetwise AWS Java SDK :: Services :: Io T Fleet Wise diff --git a/services/iotfleetwise/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/iotfleetwise/src/main/resources/codegen-resources/endpoint-rule-set.json index 430fc0498bd1..0daee2ea366a 100644 --- a/services/iotfleetwise/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/iotfleetwise/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://iotfleetwise-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://iotfleetwise-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://iotfleetwise-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://iotfleetwise-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://iotfleetwise.{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://iotfleetwise.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://iotfleetwise.{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://iotfleetwise.{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/services/iotfleetwise/src/main/resources/codegen-resources/service-2.json b/services/iotfleetwise/src/main/resources/codegen-resources/service-2.json index 244fe0b58a2c..8a3c259c48b2 100644 --- a/services/iotfleetwise/src/main/resources/codegen-resources/service-2.json +++ b/services/iotfleetwise/src/main/resources/codegen-resources/service-2.json @@ -343,6 +343,23 @@ ], "documentation":"

      Retrieves information about a created decoder manifest.

      " }, + "GetEncryptionConfiguration":{ + "name":"GetEncryptionConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetEncryptionConfigurationRequest"}, + "output":{"shape":"GetEncryptionConfigurationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

      Retrieves the encryption configuration for resources and data in Amazon Web Services IoT FleetWise.

      " + }, "GetFleet":{ "name":"GetFleet", "http":{ @@ -719,6 +736,24 @@ ], "documentation":"

      Retrieves a list of summaries of all vehicles associated with a fleet.

      This API operation uses pagination. Specify the nextToken parameter in the request to return more results.

      " }, + "PutEncryptionConfiguration":{ + "name":"PutEncryptionConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutEncryptionConfigurationRequest"}, + "output":{"shape":"PutEncryptionConfigurationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

      Creates or updates the encryption configuration. Amazon Web Services IoT FleetWise can encrypt your data and resources using an Amazon Web Services managed key. Or, you can use a KMS key that you own and manage. For more information, see Data encryption in the Amazon Web Services IoT FleetWise Developer Guide.

      " + }, "PutLoggingOptions":{ "name":"PutLoggingOptions", "http":{ @@ -1431,7 +1466,7 @@ }, "dataDestinationConfigs":{ "shape":"DataDestinationConfigs", - "documentation":"

      The destination where the campaign sends data. You can choose to send data to be stored in Amazon S3 or Amazon Timestream.

      Amazon S3 optimizes the cost of data storage and provides additional mechanisms to use vehicle data, such as data lakes, centralized data storage, data processing pipelines, and analytics.

      You can use Amazon Timestream to access and analyze time series data, and Timestream to query vehicle data so that you can identify trends and patterns.

      " + "documentation":"

      The destination where the campaign sends data. You can choose to send data to be stored in Amazon S3 or Amazon Timestream.

      Amazon S3 optimizes the cost of data storage and provides additional mechanisms to use vehicle data, such as data lakes, centralized data storage, data processing pipelines, and analytics. Amazon Web Services IoT FleetWise supports at-least-once file delivery to S3. Your vehicle data is stored on multiple Amazon Web Services IoT FleetWise servers for redundancy and high availability.

      You can use Amazon Timestream to access and analyze time series data, and Timestream to query vehicle data so that you can identify trends and patterns.

      " } } }, @@ -2019,6 +2054,21 @@ "members":{ } }, + "EncryptionStatus":{ + "type":"string", + "enum":[ + "PENDING", + "SUCCESS", + "FAILURE" + ] + }, + "EncryptionType":{ + "type":"string", + "enum":[ + "KMS_BASED_ENCRYPTION", + "FLEETWISE_DEFAULT_ENCRYPTION" + ] + }, "FleetSummary":{ "type":"structure", "required":[ @@ -2217,6 +2267,44 @@ } } }, + "GetEncryptionConfigurationRequest":{ + "type":"structure", + "members":{ + } + }, + "GetEncryptionConfigurationResponse":{ + "type":"structure", + "required":[ + "encryptionStatus", + "encryptionType" + ], + "members":{ + "kmsKeyId":{ + "shape":"String", + "documentation":"

      The ID of the KMS key that is used for encryption.

      " + }, + "encryptionStatus":{ + "shape":"EncryptionStatus", + "documentation":"

      The encryption status.

      " + }, + "encryptionType":{ + "shape":"EncryptionType", + "documentation":"

      The type of encryption. Set to KMS_BASED_ENCRYPTION to use an KMS key that you own and manage. Set to FLEETWISE_DEFAULT_ENCRYPTION to use an Amazon Web Services managed key that is owned by the Amazon Web Services IoT FleetWise service account.

      " + }, + "errorMessage":{ + "shape":"errorMessage", + "documentation":"

      The error message that describes why encryption settings couldn't be configured, if applicable.

      " + }, + "creationTime":{ + "shape":"timestamp", + "documentation":"

      The time when encryption was configured in seconds since epoch (January 1, 1970 at midnight UTC time).

      " + }, + "lastModificationTime":{ + "shape":"timestamp", + "documentation":"

      The time when encryption was last updated in seconds since epoch (January 1, 1970 at midnight UTC time).

      " + } + } + }, "GetFleetRequest":{ "type":"structure", "required":["fleetId"], @@ -3456,6 +3544,41 @@ "max":50, "min":1 }, + "PutEncryptionConfigurationRequest":{ + "type":"structure", + "required":["encryptionType"], + "members":{ + "kmsKeyId":{ + "shape":"String", + "documentation":"

      The ID of the KMS key that is used for encryption.

      " + }, + "encryptionType":{ + "shape":"EncryptionType", + "documentation":"

      The type of encryption. Choose KMS_BASED_ENCRYPTION to use a KMS key or FLEETWISE_DEFAULT_ENCRYPTION to use an Amazon Web Services managed key.

      " + } + } + }, + "PutEncryptionConfigurationResponse":{ + "type":"structure", + "required":[ + "encryptionStatus", + "encryptionType" + ], + "members":{ + "kmsKeyId":{ + "shape":"String", + "documentation":"

      The ID of the KMS key that is used for encryption.

      " + }, + "encryptionStatus":{ + "shape":"EncryptionStatus", + "documentation":"

      The encryption status.

      " + }, + "encryptionType":{ + "shape":"EncryptionType", + "documentation":"

      The type of encryption. Set to KMS_BASED_ENCRYPTION to use an KMS key that you own and manage. Set to FLEETWISE_DEFAULT_ENCRYPTION to use an Amazon Web Services managed key that is owned by the Amazon Web Services IoT FleetWise service account.

      " + } + } + }, "PutLoggingOptionsRequest":{ "type":"structure", "required":["cloudWatchLogDelivery"], diff --git a/services/iotjobsdataplane/pom.xml b/services/iotjobsdataplane/pom.xml index 5583fc5ba585..52084a643f23 100644 --- a/services/iotjobsdataplane/pom.xml +++ b/services/iotjobsdataplane/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT iotjobsdataplane AWS Java SDK :: Services :: IoT Jobs Data Plane diff --git a/services/iotjobsdataplane/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/iotjobsdataplane/src/main/resources/codegen-resources/endpoint-rule-set.json index 10396003540b..224f7e28c81c 100644 --- a/services/iotjobsdataplane/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/iotjobsdataplane/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://data.jobs.iot-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://data.jobs.iot-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://data.jobs.iot.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://data.jobs.iot.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://data.jobs.iot.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://data.jobs.iot.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/iotjobsdataplane/src/main/resources/codegen-resources/endpoint-tests.json b/services/iotjobsdataplane/src/main/resources/codegen-resources/endpoint-tests.json index e79ef72d475b..221c36a15647 100644 --- a/services/iotjobsdataplane/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/iotjobsdataplane/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,42 +1,42 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot-fips.ap-south-1.api.aws" + "url": "https://data.jobs.iot.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true + "Region": "ap-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot-fips.ap-south-1.amazonaws.com" + "url": "https://data.jobs.iot.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot.ap-south-1.api.aws" + "url": "https://data.jobs.iot.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -47,204 +47,204 @@ } }, "params": { - "UseDualStack": false, "Region": "ap-south-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot-fips.us-gov-east-1.api.aws" + "url": "https://data.jobs.iot.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot-fips.us-gov-east-1.amazonaws.com" + "url": "https://data.jobs.iot.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot.us-gov-east-1.api.aws" + "url": "https://data.jobs.iot.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot.us-gov-east-1.amazonaws.com" + "url": "https://data.jobs.iot-fips.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false + "Region": "ca-central-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot-fips.ca-central-1.api.aws" + "url": "https://data.jobs.iot.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot-fips.ca-central-1.amazonaws.com" + "url": "https://data.jobs.iot.eu-north-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot.ca-central-1.api.aws" + "url": "https://data.jobs.iot.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot.ca-central-1.amazonaws.com" + "url": "https://data.jobs.iot.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": false + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot-fips.eu-central-1.api.aws" + "url": "https://data.jobs.iot.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot-fips.eu-central-1.amazonaws.com" + "url": "https://data.jobs.iot.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "me-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot.eu-central-1.api.aws" + "url": "https://data.jobs.iot.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot.eu-central-1.amazonaws.com" + "url": "https://data.jobs.iot.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot-fips.us-west-1.api.aws" + "url": "https://data.jobs.iot-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot-fips.us-west-1.amazonaws.com" + "url": "https://data.jobs.iot.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot.us-west-1.api.aws" + "url": "https://data.jobs.iot-fips.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": true, + "UseDualStack": false } }, { @@ -255,941 +255,265 @@ } }, "params": { - "UseDualStack": false, "Region": "us-west-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot-fips.us-west-2.api.aws" + "url": "https://data.jobs.iot-fips.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true + "Region": "us-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot-fips.us-west-2.amazonaws.com" + "url": "https://data.jobs.iot.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, "Region": "us-west-2", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot.us-west-2.api.aws" + "url": "https://data.jobs.iot-fips.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, "Region": "us-west-2", - "UseFIPS": false + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot.us-west-2.amazonaws.com" + "url": "https://data.jobs.iot-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot-fips.eu-north-1.api.aws" + "url": "https://data.jobs.iot.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot-fips.eu-north-1.amazonaws.com" + "url": "https://data.jobs.iot.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot.eu-north-1.api.aws" + "url": "https://data.jobs.iot.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot.eu-north-1.amazonaws.com" + "url": "https://data.jobs.iot-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot-fips.eu-west-3.api.aws" + "url": "https://data.jobs.iot-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot-fips.eu-west-3.amazonaws.com" + "url": "https://data.jobs.iot.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot.eu-west-3.api.aws" + "url": "https://data.jobs.iot.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot.eu-west-3.amazonaws.com" + "url": "https://data.jobs.iot-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot-fips.eu-west-2.api.aws" + "url": "https://data.jobs.iot.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot-fips.eu-west-2.amazonaws.com" + "url": "https://data.jobs.iot-fips.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot.eu-west-2.api.aws" + "url": "https://data.jobs.iot-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot.eu-west-2.amazonaws.com" + "url": "https://data.jobs.iot.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://data.jobs.iot-fips.eu-west-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot-fips.eu-west-1.amazonaws.com" + "url": "https://data.jobs.iot-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://data.jobs.iot.eu-west-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.jobs.iot.eu-west-1.amazonaws.com" + "url": "https://data.jobs.iot.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot-fips.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot-fips.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot-fips.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot-fips.ap-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot-fips.ap-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot.ap-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot.ap-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot-fips.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot-fips.us-gov-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot-fips.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot.us-gov-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot-fips.ap-southeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot-fips.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot.ap-southeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot-fips.ap-southeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot-fips.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot.ap-southeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot-fips.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, "Region": "us-iso-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot-fips.us-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot-fips.us-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot.us-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot.us-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot-fips.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot.us-east-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot-fips.cn-northwest-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot-fips.cn-northwest-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot.cn-northwest-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.jobs.iot.cn-northwest-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1198,9 +522,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -1211,9 +535,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -1222,9 +546,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -1235,22 +559,35 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1260,9 +597,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1272,11 +609,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/iotroborunner/pom.xml b/services/iotroborunner/pom.xml index b0ed483d7ef9..79f897d959a7 100644 --- a/services/iotroborunner/pom.xml +++ b/services/iotroborunner/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT iotroborunner AWS Java SDK :: Services :: IoT Robo Runner diff --git a/services/iotroborunner/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/iotroborunner/src/main/resources/codegen-resources/endpoint-rule-set.json index ec4b0d7aa3c1..fe51c5308e5e 100644 --- a/services/iotroborunner/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/iotroborunner/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,23 +45,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -71,67 +67,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -140,168 +111,238 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + }, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://iotroborunner-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" + } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://iotroborunner-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://iotroborunner-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://iotroborunner-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://iotroborunner.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://iotroborunner.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://iotroborunner.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } ] }, { "conditions": [], - "endpoint": { - "url": "https://iotroborunner.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } diff --git a/services/iotroborunner/src/main/resources/codegen-resources/endpoint-tests.json b/services/iotroborunner/src/main/resources/codegen-resources/endpoint-tests.json index 0225148fa514..1d0ec1dc4eff 100644 --- a/services/iotroborunner/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/iotroborunner/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,54 +1,54 @@ { "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://iotroborunner-fips.us-gov-east-1.api.aws" + "url": "https://iotroborunner-fips.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": 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://iotroborunner-fips.us-gov-east-1.amazonaws.com" + "url": "https://iotroborunner-fips.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "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://iotroborunner.us-gov-east-1.api.aws" + "url": "https://iotroborunner.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "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://iotroborunner.us-gov-east-1.amazonaws.com" + "url": "https://iotroborunner.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-gov-east-1", "UseDualStack": false } }, @@ -60,8 +60,8 @@ } }, "params": { - "UseFIPS": true, "Region": "cn-north-1", + "UseFIPS": true, "UseDualStack": true } }, @@ -73,8 +73,8 @@ } }, "params": { - "UseFIPS": true, "Region": "cn-north-1", + "UseFIPS": true, "UseDualStack": false } }, @@ -86,8 +86,8 @@ } }, "params": { - "UseFIPS": false, "Region": "cn-north-1", + "UseFIPS": false, "UseDualStack": true } }, @@ -99,108 +99,108 @@ } }, "params": { - "UseFIPS": false, "Region": "cn-north-1", + "UseFIPS": false, "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://iotroborunner-fips.us-gov-east-1.api.aws" + } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": 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://iotroborunner-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://iotroborunner-fips.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "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://iotroborunner.us-gov-east-1.api.aws" + } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "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://iotroborunner.us-iso-east-1.c2s.ic.gov" + "url": "https://iotroborunner.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": 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://iotroborunner-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, - "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://iotroborunner-fips.us-east-1.amazonaws.com" + "url": "https://iotroborunner-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "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://iotroborunner.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "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://iotroborunner.us-east-1.amazonaws.com" + "url": "https://iotroborunner.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "us-east-1", "UseDualStack": false } }, @@ -210,8 +210,8 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseFIPS": true, "Region": "us-isob-east-1", + "UseFIPS": true, "UseDualStack": true } }, @@ -223,8 +223,8 @@ } }, "params": { - "UseFIPS": true, "Region": "us-isob-east-1", + "UseFIPS": true, "UseDualStack": false } }, @@ -234,8 +234,8 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseFIPS": false, "Region": "us-isob-east-1", + "UseFIPS": false, "UseDualStack": true } }, @@ -247,21 +247,34 @@ } }, "params": { - "UseFIPS": false, "Region": "us-isob-east-1", + "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, "UseDualStack": false, "Endpoint": "https://example.com" } @@ -272,8 +285,8 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, "UseDualStack": false, "Endpoint": "https://example.com" } @@ -284,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/iotsecuretunneling/pom.xml b/services/iotsecuretunneling/pom.xml index 342deb74e4df..2d9f51e153d2 100644 --- a/services/iotsecuretunneling/pom.xml +++ b/services/iotsecuretunneling/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT iotsecuretunneling AWS Java SDK :: Services :: IoTSecureTunneling diff --git a/services/iotsecuretunneling/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/iotsecuretunneling/src/main/resources/codegen-resources/endpoint-rule-set.json index 1f3d0b2bf618..d8fa68a3fac8 100644 --- a/services/iotsecuretunneling/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/iotsecuretunneling/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "parseURL", + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,195 +140,88 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://api.tunneling.iot-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://api.tunneling.iot-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - "aws", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://api.tunneling.iot-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, + "conditions": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ + true, { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ - "aws-us-gov", { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } + "ref": "PartitionResult" + }, + "supportsFIPS" ] } - ], - "endpoint": { - "url": "https://api.tunneling.iot-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, + ] + } + ], + "type": "tree", + "rules": [ { "conditions": [], "endpoint": { @@ -288,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://api.tunneling.iot.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://api.tunneling.iot.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://api.tunneling.iot.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://api.tunneling.iot.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/iotsecuretunneling/src/main/resources/codegen-resources/endpoint-tests.json b/services/iotsecuretunneling/src/main/resources/codegen-resources/endpoint-tests.json index 0d87bf59b02f..60b4bd443996 100644 --- a/services/iotsecuretunneling/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/iotsecuretunneling/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,42 +1,42 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot-fips.ap-south-1.api.aws" + "url": "https://api.tunneling.iot.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true + "Region": "ap-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot-fips.ap-south-1.amazonaws.com" + "url": "https://api.tunneling.iot.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot.ap-south-1.api.aws" + "url": "https://api.tunneling.iot.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -47,204 +47,204 @@ } }, "params": { - "UseDualStack": false, "Region": "ap-south-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot-fips.us-gov-east-1.api.aws" + "url": "https://api.tunneling.iot.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot-fips.us-gov-east-1.amazonaws.com" + "url": "https://api.tunneling.iot.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot.us-gov-east-1.api.aws" + "url": "https://api.tunneling.iot.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot.us-gov-east-1.amazonaws.com" + "url": "https://api.tunneling.iot-fips.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false + "Region": "ca-central-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot-fips.ca-central-1.api.aws" + "url": "https://api.tunneling.iot.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot-fips.ca-central-1.amazonaws.com" + "url": "https://api.tunneling.iot.eu-north-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot.ca-central-1.api.aws" + "url": "https://api.tunneling.iot.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot.ca-central-1.amazonaws.com" + "url": "https://api.tunneling.iot.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": false + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot-fips.eu-central-1.api.aws" + "url": "https://api.tunneling.iot.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot-fips.eu-central-1.amazonaws.com" + "url": "https://api.tunneling.iot.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "me-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot.eu-central-1.api.aws" + "url": "https://api.tunneling.iot.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot.eu-central-1.amazonaws.com" + "url": "https://api.tunneling.iot.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot-fips.us-west-1.api.aws" + "url": "https://api.tunneling.iot-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot-fips.us-west-1.amazonaws.com" + "url": "https://api.tunneling.iot.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot.us-west-1.api.aws" + "url": "https://api.tunneling.iot-fips.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": true, + "UseDualStack": false } }, { @@ -255,941 +255,265 @@ } }, "params": { - "UseDualStack": false, "Region": "us-west-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot-fips.us-west-2.api.aws" + "url": "https://api.tunneling.iot-fips.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true + "Region": "us-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot-fips.us-west-2.amazonaws.com" + "url": "https://api.tunneling.iot.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, "Region": "us-west-2", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot.us-west-2.api.aws" + "url": "https://api.tunneling.iot-fips.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, "Region": "us-west-2", - "UseFIPS": false + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot.us-west-2.amazonaws.com" + "url": "https://api.tunneling.iot-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot-fips.eu-north-1.api.aws" + "url": "https://api.tunneling.iot.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot-fips.eu-north-1.amazonaws.com" + "url": "https://api.tunneling.iot.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot.eu-north-1.api.aws" + "url": "https://api.tunneling.iot.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot.eu-north-1.amazonaws.com" + "url": "https://api.tunneling.iot-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot-fips.eu-west-3.api.aws" + "url": "https://api.tunneling.iot-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot-fips.eu-west-3.amazonaws.com" + "url": "https://api.tunneling.iot.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot.eu-west-3.api.aws" + "url": "https://api.tunneling.iot.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot.eu-west-3.amazonaws.com" + "url": "https://api.tunneling.iot-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot-fips.eu-west-2.api.aws" + "url": "https://api.tunneling.iot.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot-fips.eu-west-2.amazonaws.com" + "url": "https://api.tunneling.iot-fips.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot.eu-west-2.api.aws" + "url": "https://api.tunneling.iot-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot.eu-west-2.amazonaws.com" + "url": "https://api.tunneling.iot.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://api.tunneling.iot-fips.eu-west-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot-fips.eu-west-1.amazonaws.com" + "url": "https://api.tunneling.iot-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://api.tunneling.iot.eu-west-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.tunneling.iot.eu-west-1.amazonaws.com" + "url": "https://api.tunneling.iot.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot-fips.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot-fips.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot-fips.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot-fips.ap-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot-fips.ap-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot.ap-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot.ap-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot-fips.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot-fips.us-gov-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot-fips.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot.us-gov-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot-fips.ap-southeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot-fips.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot.ap-southeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot-fips.ap-southeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot-fips.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot.ap-southeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot-fips.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, "Region": "us-iso-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot-fips.us-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot-fips.us-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot.us-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot.us-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot-fips.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot.us-east-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot-fips.cn-northwest-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot-fips.cn-northwest-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot.cn-northwest-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.tunneling.iot.cn-northwest-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1198,9 +522,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -1211,9 +535,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -1222,9 +546,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -1235,22 +559,35 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1260,9 +597,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1272,11 +609,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/iotsitewise/pom.xml b/services/iotsitewise/pom.xml index ecd9b37f2750..b4fe57f5d1c9 100644 --- a/services/iotsitewise/pom.xml +++ b/services/iotsitewise/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT iotsitewise AWS Java SDK :: Services :: Io T Site Wise diff --git a/services/iotsitewise/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/iotsitewise/src/main/resources/codegen-resources/endpoint-rule-set.json index 4d0aa7174fca..9b6c7ade5bdb 100644 --- a/services/iotsitewise/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/iotsitewise/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://iotsitewise-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://iotsitewise-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://iotsitewise-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://iotsitewise-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://iotsitewise.{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://iotsitewise.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://iotsitewise.{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://iotsitewise.{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/services/iotthingsgraph/pom.xml b/services/iotthingsgraph/pom.xml index 5d019f6d8d7d..a784cf2edbd0 100644 --- a/services/iotthingsgraph/pom.xml +++ b/services/iotthingsgraph/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT iotthingsgraph AWS Java SDK :: Services :: IoTThingsGraph diff --git a/services/iotthingsgraph/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/iotthingsgraph/src/main/resources/codegen-resources/endpoint-rule-set.json index 774d9ea78627..d7b742c37f3c 100644 --- a/services/iotthingsgraph/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/iotthingsgraph/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "parseURL", + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,227 +140,200 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://iotthingsgraph-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] }, { "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] - }, + } + ], + "type": "tree", + "rules": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://iotthingsgraph-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://iotthingsgraph-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], "type": "tree", "rules": [ { "conditions": [], "endpoint": { - "url": "https://iotthingsgraph-fips.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://iotthingsgraph.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, - { - "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", + "fn": "stringEquals", "argv": [ - true, + "aws", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsDualStack" + "name" ] } ] } ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://iotthingsgraph.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "endpoint": { + "url": "https://iotthingsgraph.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://iotthingsgraph.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://iotthingsgraph.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/iotthingsgraph/src/main/resources/codegen-resources/endpoint-tests.json b/services/iotthingsgraph/src/main/resources/codegen-resources/endpoint-tests.json index b2bddbf489cd..18734c3a9b6d 100644 --- a/services/iotthingsgraph/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/iotthingsgraph/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,94 +1,68 @@ { "testCases": [ { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://iotthingsgraph-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://iotthingsgraph-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotthingsgraph.eu-central-1.api.aws" + "url": "https://iotthingsgraph.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotthingsgraph.eu-central-1.amazonaws.com" + "url": "https://iotthingsgraph.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotthingsgraph-fips.us-west-2.api.aws" + "url": "https://iotthingsgraph.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotthingsgraph-fips.us-west-2.amazonaws.com" + "url": "https://iotthingsgraph.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotthingsgraph.us-west-2.api.aws" + "url": "https://iotthingsgraph.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -99,282 +73,274 @@ } }, "params": { - "UseDualStack": false, "Region": "us-west-2", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://iotthingsgraph-fips.eu-west-1.api.aws" + "url": "https://iotthingsgraph-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotthingsgraph-fips.eu-west-1.amazonaws.com" + "url": "https://iotthingsgraph-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://iotthingsgraph.eu-west-1.api.aws" + "url": "https://iotthingsgraph.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://iotthingsgraph.eu-west-1.amazonaws.com" + "url": "https://iotthingsgraph-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotthingsgraph-fips.ap-northeast-2.api.aws" + "url": "https://iotthingsgraph-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://iotthingsgraph-fips.ap-northeast-2.amazonaws.com" + "url": "https://iotthingsgraph.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotthingsgraph.ap-northeast-2.api.aws" + "url": "https://iotthingsgraph.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://iotthingsgraph.ap-northeast-2.amazonaws.com" + "url": "https://iotthingsgraph-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotthingsgraph-fips.ap-northeast-1.api.aws" + "url": "https://iotthingsgraph-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://iotthingsgraph-fips.ap-northeast-1.amazonaws.com" + "url": "https://iotthingsgraph.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotthingsgraph.ap-northeast-1.api.aws" + "url": "https://iotthingsgraph.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://iotthingsgraph.ap-northeast-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotthingsgraph-fips.ap-southeast-2.api.aws" + "url": "https://iotthingsgraph-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://iotthingsgraph-fips.ap-southeast-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotthingsgraph.ap-southeast-2.api.aws" + "url": "https://iotthingsgraph.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://iotthingsgraph.ap-southeast-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotthingsgraph-fips.us-east-1.api.aws" + "url": "https://iotthingsgraph-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://iotthingsgraph-fips.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://iotthingsgraph.us-east-1.api.aws" + "url": "https://iotthingsgraph.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://iotthingsgraph.us-east-1.amazonaws.com" + "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -384,9 +350,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -396,11 +362,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/iottwinmaker/pom.xml b/services/iottwinmaker/pom.xml index 85cd5e46b1b3..9668167f301b 100644 --- a/services/iottwinmaker/pom.xml +++ b/services/iottwinmaker/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT iottwinmaker AWS Java SDK :: Services :: Io T Twin Maker diff --git a/services/iottwinmaker/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/iottwinmaker/src/main/resources/codegen-resources/endpoint-rule-set.json index 6e442dec4e50..4cd59283f161 100644 --- a/services/iottwinmaker/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/iottwinmaker/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://iottwinmaker-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://iottwinmaker-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://iottwinmaker-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://iottwinmaker-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://iottwinmaker.{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://iottwinmaker.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://iottwinmaker.{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://iottwinmaker.{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/services/iotwireless/pom.xml b/services/iotwireless/pom.xml index b74427ad6565..e123df3bcc94 100644 --- a/services/iotwireless/pom.xml +++ b/services/iotwireless/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT iotwireless AWS Java SDK :: Services :: IoT Wireless diff --git a/services/iotwireless/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/iotwireless/src/main/resources/codegen-resources/endpoint-rule-set.json index 013293bc815f..73fc0fadef51 100644 --- a/services/iotwireless/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/iotwireless/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://api.iotwireless-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://api.iotwireless-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://api.iotwireless-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://api.iotwireless-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://api.iotwireless.{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://api.iotwireless.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://api.iotwireless.{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://api.iotwireless.{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/services/ivs/pom.xml b/services/ivs/pom.xml index 4a65982eb459..f7385e8c91b3 100644 --- a/services/ivs/pom.xml +++ b/services/ivs/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ivs AWS Java SDK :: Services :: Ivs diff --git a/services/ivschat/pom.xml b/services/ivschat/pom.xml index 6c295d515e7f..069d0e7492b1 100644 --- a/services/ivschat/pom.xml +++ b/services/ivschat/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ivschat AWS Java SDK :: Services :: Ivschat diff --git a/services/ivschat/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/ivschat/src/main/resources/codegen-resources/endpoint-rule-set.json index e1fbab6f76bd..79cb3e6ec1ea 100644 --- a/services/ivschat/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/ivschat/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://ivschat-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://ivschat-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://ivschat-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://ivschat-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://ivschat.{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://ivschat.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://ivschat.{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://ivschat.{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/services/ivschat/src/main/resources/codegen-resources/endpoint-tests.json b/services/ivschat/src/main/resources/codegen-resources/endpoint-tests.json index e93946c4a241..d9857ee4c5f3 100644 --- a/services/ivschat/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/ivschat/src/main/resources/codegen-resources/endpoint-tests.json @@ -8,9 +8,9 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-west-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -21,9 +21,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -34,9 +34,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-west-2", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -47,9 +47,9 @@ } }, "params": { - "UseDualStack": true, "Region": "us-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -60,9 +60,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -73,9 +73,9 @@ } }, "params": { - "UseDualStack": true, "Region": "us-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -86,9 +86,9 @@ } }, "params": { - "UseDualStack": true, "Region": "cn-north-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -99,9 +99,9 @@ } }, "params": { - "UseDualStack": false, "Region": "cn-north-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -112,9 +112,9 @@ } }, "params": { - "UseDualStack": true, "Region": "cn-north-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -125,9 +125,9 @@ } }, "params": { - "UseDualStack": false, "Region": "cn-north-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -138,9 +138,9 @@ } }, "params": { - "UseDualStack": true, "Region": "us-gov-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -151,9 +151,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-gov-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -164,9 +164,9 @@ } }, "params": { - "UseDualStack": true, "Region": "us-gov-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -177,9 +177,20 @@ } }, "params": { - "UseDualStack": false, "Region": "us-gov-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -190,9 +201,20 @@ } }, "params": { - "UseDualStack": false, "Region": "us-iso-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -203,9 +225,20 @@ } }, "params": { - "UseDualStack": false, "Region": "us-iso-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -216,9 +249,20 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -229,9 +273,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -242,9 +286,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -256,8 +300,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -267,9 +311,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -279,11 +323,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/ivsrealtime/pom.xml b/services/ivsrealtime/pom.xml index 8a2975ca698d..6c1c7d430da6 100644 --- a/services/ivsrealtime/pom.xml +++ b/services/ivsrealtime/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ivsrealtime AWS Java SDK :: Services :: IVS Real Time diff --git a/services/ivsrealtime/src/main/resources/codegen-resources/service-2.json b/services/ivsrealtime/src/main/resources/codegen-resources/service-2.json index 2146dc2e7a93..84da95c49a1e 100644 --- a/services/ivsrealtime/src/main/resources/codegen-resources/service-2.json +++ b/services/ivsrealtime/src/main/resources/codegen-resources/service-2.json @@ -850,7 +850,7 @@ "documentation":"

      Customer-assigned name to help identify the token; this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.

      " } }, - "documentation":"

      Object specifying a participant token in a stage.

      " + "documentation":"

      Object specifying a participant token in a stage.

      Important: Treat tokens as opaque; i.e., do not build functionality based on token contents. The format of tokens could change in the future.

      " }, "ParticipantTokenAttributes":{ "type":"map", diff --git a/services/kafka/pom.xml b/services/kafka/pom.xml index 9d88ae54f5ad..3fb97d4c72d5 100644 --- a/services/kafka/pom.xml +++ b/services/kafka/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT kafka AWS Java SDK :: Services :: Kafka diff --git a/services/kafka/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/kafka/src/main/resources/codegen-resources/endpoint-rule-set.json index bb52685f39d2..2ff3e3e03a48 100644 --- a/services/kafka/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/kafka/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,92 +140,83 @@ { "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://kafka-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://kafka-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 + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], @@ -221,155 +225,115 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, + "aws-us-gov", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] } ] } ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - "aws-us-gov", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://kafka.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://kafka-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] + "endpoint": { + "url": "https://kafka.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://kafka-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://kafka.{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://kafka.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://kafka.{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://kafka.{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/services/kafkaconnect/pom.xml b/services/kafkaconnect/pom.xml index 315b38a2c6b4..a3edeeef45ad 100644 --- a/services/kafkaconnect/pom.xml +++ b/services/kafkaconnect/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT kafkaconnect AWS Java SDK :: Services :: Kafka Connect diff --git a/services/kendra/pom.xml b/services/kendra/pom.xml index 865671bff5e5..c0acb4f1c1fe 100644 --- a/services/kendra/pom.xml +++ b/services/kendra/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT kendra AWS Java SDK :: Services :: Kendra diff --git a/services/kendra/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/kendra/src/main/resources/codegen-resources/endpoint-rule-set.json index 1a902c84198a..6caf56072668 100644 --- a/services/kendra/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/kendra/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://kendra-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://kendra-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://kendra-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://kendra-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://kendra.{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://kendra.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://kendra.{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://kendra.{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/services/kendra/src/main/resources/codegen-resources/service-2.json b/services/kendra/src/main/resources/codegen-resources/service-2.json index 429a73cc0fd5..b8fc0e0f1691 100644 --- a/services/kendra/src/main/resources/codegen-resources/service-2.json +++ b/services/kendra/src/main/resources/codegen-resources/service-2.json @@ -66,7 +66,7 @@ {"shape":"AccessDeniedException"}, {"shape":"InternalServerException"} ], - "documentation":"

      Removes one or more documents from an index. The documents must have been added with the BatchPutDocument API.

      The documents are deleted asynchronously. You can see the progress of the deletion by using Amazon Web Services CloudWatch. Any error messages related to the processing of the batch are sent to you CloudWatch log.

      " + "documentation":"

      Removes one or more documents from an index. The documents must have been added with the BatchPutDocument API.

      The documents are deleted asynchronously. You can see the progress of the deletion by using Amazon Web Services CloudWatch. Any error messages related to the processing of the batch are sent to your Amazon Web Services CloudWatch log. You can also use the BatchGetDocumentStatus API to monitor the progress of deleting your documents.

      Deleting documents from an index using BatchDeleteDocument could take up to an hour or more, depending on the number of documents you want to delete.

      " }, "BatchDeleteFeaturedResultsSet":{ "name":"BatchDeleteFeaturedResultsSet", @@ -120,7 +120,7 @@ {"shape":"ServiceQuotaExceededException"}, {"shape":"InternalServerException"} ], - "documentation":"

      Adds one or more documents to an index.

      The BatchPutDocument API enables you to ingest inline documents or a set of documents stored in an Amazon S3 bucket. Use this API to ingest your text and unstructured text into an index, add custom attributes to the documents, and to attach an access control list to the documents added to the index.

      The documents are indexed asynchronously. You can see the progress of the batch using Amazon Web Services CloudWatch. Any error messages related to processing the batch are sent to your Amazon Web Services CloudWatch log.

      For an example of ingesting inline documents using Python and Java SDKs, see Adding files directly to an index.

      " + "documentation":"

      Adds one or more documents to an index.

      The BatchPutDocument API enables you to ingest inline documents or a set of documents stored in an Amazon S3 bucket. Use this API to ingest your text and unstructured text into an index, add custom attributes to the documents, and to attach an access control list to the documents added to the index.

      The documents are indexed asynchronously. You can see the progress of the batch using Amazon Web Services CloudWatch. Any error messages related to processing the batch are sent to your Amazon Web Services CloudWatch log. You can also use the BatchGetDocumentStatus API to monitor the progress of indexing your documents.

      For an example of ingesting inline documents using Python and Java SDKs, see Adding files directly to an index.

      " }, "ClearQuerySuggestions":{ "name":"ClearQuerySuggestions", @@ -252,7 +252,7 @@ {"shape":"ConflictException"}, {"shape":"InternalServerException"} ], - "documentation":"

      Creates an Amazon Kendra index. Index creation is an asynchronous API. To determine if index creation has completed, check the Status field returned from a call to DescribeIndex. The Status field is set to ACTIVE when the index is ready to use.

      Once the index is active you can index your documents using the BatchPutDocument API or using one of the supported data sources.

      For an example of creating an index and data source using the Python SDK, see Getting started with Python SDK. For an example of creating an index and data source using the Java SDK, see Getting started with Java SDK.

      " + "documentation":"

      Creates an Amazon Kendra index. Index creation is an asynchronous API. To determine if index creation has completed, check the Status field returned from a call to DescribeIndex. The Status field is set to ACTIVE when the index is ready to use.

      Once the index is active, you can index your documents using the BatchPutDocument API or using one of the supported data sources.

      For an example of creating an index and data source using the Python SDK, see Getting started with Python SDK. For an example of creating an index and data source using the Java SDK, see Getting started with Java SDK.

      " }, "CreateQuerySuggestionsBlockList":{ "name":"CreateQuerySuggestionsBlockList", @@ -325,7 +325,7 @@ {"shape":"ThrottlingException"}, {"shape":"InternalServerException"} ], - "documentation":"

      Deletes an Amazon Kendra data source connector. An exception is not thrown if the data source is already being deleted. While the data source is being deleted, the Status field returned by a call to the DescribeDataSource API is set to DELETING. For more information, see Deleting Data Sources.

      " + "documentation":"

      Deletes an Amazon Kendra data source connector. An exception is not thrown if the data source is already being deleted. While the data source is being deleted, the Status field returned by a call to the DescribeDataSource API is set to DELETING. For more information, see Deleting Data Sources.

      Deleting an entire data source or re-syncing your index after deleting specific documents from a data source could take up to an hour or more, depending on the number of documents you want to delete.

      " }, "DeleteExperience":{ "name":"DeleteExperience", @@ -945,7 +945,7 @@ {"shape":"ServiceQuotaExceededException"}, {"shape":"InternalServerException"} ], - "documentation":"

      Retrieves relevant passages or text excerpts given an input query.

      This API is similar to the Query API. However, by default, the Query API only returns excerpt passages of up to 100 token words. With the Retrieve API, you can retrieve longer passages of up to 200 token words and up to 100 semantically relevant passages. This doesn't include question-answer or FAQ type responses from your index. The passages are text excerpts that can be semantically extracted from multiple documents and multiple parts of the same document. If in extreme cases your documents produce no relevant passages using the Retrieve API, you can alternatively use the Query API.

      You can also do the following:

      • Override boosting at the index level

      • Filter based on document fields or attributes

      • Filter based on the user or their group access to documents

      You can also include certain fields in the response that might provide useful additional information.

      " + "documentation":"

      Retrieves relevant passages or text excerpts given an input query.

      This API is similar to the Query API. However, by default, the Query API only returns excerpt passages of up to 100 token words. With the Retrieve API, you can retrieve longer passages of up to 200 token words and up to 100 semantically relevant passages. This doesn't include question-answer or FAQ type responses from your index. The passages are text excerpts that can be semantically extracted from multiple documents and multiple parts of the same document. If in extreme cases your documents produce zero passages using the Retrieve API, you can alternatively use the Query API and its types of responses.

      You can also do the following:

      • Override boosting at the index level

      • Filter based on document fields or attributes

      • Filter based on the user or their group access to documents

      You can also include certain fields in the response that might provide useful additional information.

      The Retrieve API shares the number of query capacity units that you set for your index. For more information on what's included in a single capacity unit and the default base capacity for an index, see Adjusting capacity.

      " }, "StartDataSourceSyncJob":{ "name":"StartDataSourceSyncJob", @@ -964,7 +964,7 @@ {"shape":"ConflictException"}, {"shape":"InternalServerException"} ], - "documentation":"

      Starts a synchronization job for a data source connector. If a synchronization job is already in progress, Amazon Kendra returns a ResourceInUseException exception.

      " + "documentation":"

      Starts a synchronization job for a data source connector. If a synchronization job is already in progress, Amazon Kendra returns a ResourceInUseException exception.

      Re-syncing your data source with your index after modifying, adding, or deleting documents from your data source respository could take up to an hour or more, depending on the number of documents to sync.

      " }, "StopDataSourceSyncJob":{ "name":"StopDataSourceSyncJob", @@ -1428,46 +1428,46 @@ "members":{ "AndAllFilters":{ "shape":"AttributeFilterList", - "documentation":"

      Performs a logical AND operation on all supplied filters.

      " + "documentation":"

      Performs a logical AND operation on all filters that you specify.

      " }, "OrAllFilters":{ "shape":"AttributeFilterList", - "documentation":"

      Performs a logical OR operation on all supplied filters.

      " + "documentation":"

      Performs a logical OR operation on all filters that you specify.

      " }, "NotFilter":{ "shape":"AttributeFilter", - "documentation":"

      Performs a logical NOT operation on all supplied filters.

      " + "documentation":"

      Performs a logical NOT operation on all filters that you specify.

      " }, "EqualsTo":{ "shape":"DocumentAttribute", - "documentation":"

      Performs an equals operation on two document attributes or metadata fields.

      " + "documentation":"

      Performs an equals operation on document attributes/fields and their values.

      " }, "ContainsAll":{ "shape":"DocumentAttribute", - "documentation":"

      Returns true when a document contains all of the specified document attributes or metadata fields. This filter is only applicable to StringListValue metadata.

      " + "documentation":"

      Returns true when a document contains all of the specified document attributes/fields. This filter is only applicable to StringListValue.

      " }, "ContainsAny":{ "shape":"DocumentAttribute", - "documentation":"

      Returns true when a document contains any of the specified document attributes or metadata fields. This filter is only applicable to StringListValue metadata.

      " + "documentation":"

      Returns true when a document contains any of the specified document attributes/fields. This filter is only applicable to StringListValue.

      " }, "GreaterThan":{ "shape":"DocumentAttribute", - "documentation":"

      Performs a greater than operation on two document attributes or metadata fields. Use with a document attribute of type Date or Long.

      " + "documentation":"

      Performs a greater than operation on document attributes/fields and their values. Use with the document attribute type Date or Long.

      " }, "GreaterThanOrEquals":{ "shape":"DocumentAttribute", - "documentation":"

      Performs a greater or equals than operation on two document attributes or metadata fields. Use with a document attribute of type Date or Long.

      " + "documentation":"

      Performs a greater or equals than operation on document attributes/fields and their values. Use with the document attribute type Date or Long.

      " }, "LessThan":{ "shape":"DocumentAttribute", - "documentation":"

      Performs a less than operation on two document attributes or metadata fields. Use with a document attribute of type Date or Long.

      " + "documentation":"

      Performs a less than operation on document attributes/fields and their values. Use with the document attribute type Date or Long.

      " }, "LessThanOrEquals":{ "shape":"DocumentAttribute", - "documentation":"

      Performs a less than or equals operation on two document attributes or metadata fields. Use with a document attribute of type Date or Long.

      " + "documentation":"

      Performs a less than or equals operation on document attributes/fields and their values. Use with the document attribute type Date or Long.

      " } }, - "documentation":"

      Provides filtering the query results based on document attributes or metadata fields.

      When you use the AndAllFilters or OrAllFilters, filters you can use 2 layers under the first attribute filter. For example, you can use:

      <AndAllFilters>

      1. <OrAllFilters>

      2. <EqualsTo>

      If you use more than 2 layers, you receive a ValidationException exception with the message \"AttributeFilter cannot have a depth of more than 2.\"

      If you use more than 10 attribute filters in a given list for AndAllFilters or OrAllFilters, you receive a ValidationException with the message \"AttributeFilter cannot have a length of more than 10\".

      " + "documentation":"

      Filters the search results based on document attributes or fields.

      You can filter results using attributes for your particular documents. The attributes must exist in your index. For example, if your documents include the custom attribute \"Department\", you can filter documents that belong to the \"HR\" department. You would use the EqualsTo operation to filter results or documents with \"Department\" equals to \"HR\".

      You can use AndAllFilters and AndOrFilters in combination with each other or with other operations such as EqualsTo. For example:

      AndAllFilters

      • EqualsTo: \"Department\", \"HR\"

      • AndOrFilters

        • ContainsAny: \"Project Name\", [\"new hires\", \"new hiring\"]

      This example filters results or documents that belong to the HR department and belong to projects that contain \"new hires\" or \"new hiring\" in the project name (must use ContainAny with StringListValue). This example is filtering with a depth of 2.

      You cannot filter more than a depth of 2, otherwise you receive a ValidationException exception with the message \"AttributeFilter cannot have a depth of more than 2.\" Also, if you use more than 10 attribute filters in a given list for AndAllFilters or OrAllFilters, you receive a ValidationException with the message \"AttributeFilter cannot have a length of more than 10\".

      For examples of using AttributeFilter, see Using document attributes to filter search results.

      " }, "AttributeFilterList":{ "type":"list", @@ -1754,7 +1754,7 @@ "members":{ "FailedDocuments":{ "shape":"BatchPutDocumentResponseFailedDocuments", - "documentation":"

      A list of documents that were not added to the index because the document failed a validation check. Each document contains an error message that indicates why the document couldn't be added to the index.

      If there was an error adding a document to an index the error is reported in your Amazon Web Services CloudWatch log. For more information, see Monitoring Amazon Kendra with Amazon CloudWatch Logs

      " + "documentation":"

      A list of documents that were not added to the index because the document failed a validation check. Each document contains an error message that indicates why the document couldn't be added to the index.

      If there was an error adding a document to an index the error is reported in your Amazon Web Services CloudWatch log. For more information, see Monitoring Amazon Kendra with Amazon CloudWatch logs.

      " } } }, @@ -3133,18 +3133,18 @@ "members":{ "DataSourceFieldName":{ "shape":"DataSourceFieldName", - "documentation":"

      The name of the column or attribute in the data source.

      " + "documentation":"

      The name of the field in the data source. You must first create the index field using the UpdateIndex API.

      " }, "DateFieldFormat":{ "shape":"DataSourceDateFieldFormat", - "documentation":"

      The type of data stored in the column or attribute.

      " + "documentation":"

      The format for date fields in the data source. If the field specified in DataSourceFieldName is a date field, you must specify the date format. If the field is not a date field, an exception is thrown.

      " }, "IndexFieldName":{ "shape":"IndexFieldName", - "documentation":"

      The name of the field in the index.

      " + "documentation":"

      The name of the index field to map to the data source field. The index field type must match the data source field type.

      " } }, - "documentation":"

      Maps a column or attribute in the data source to an index field. You must first create the fields in the index using the UpdateIndex API.

      " + "documentation":"

      Maps attributes or field names of the documents synced from the data source to Amazon Kendra index field names. You can set up field mappings for each data source when calling CreateDataSource or UpdateDataSource API. To create custom fields, use the UpdateIndex API to first create an index field and then map to the data source field. For more information, see Mapping data source fields.

      " }, "DataSourceToIndexFieldMappingList":{ "type":"list", @@ -3224,7 +3224,7 @@ "documentation":"

      Provides information about how Amazon Kendra uses quote marks around SQL identifiers when querying a database data source.

      " } }, - "documentation":"

      Provides the configuration information to connect to a index.

      " + "documentation":"

      Provides the configuration information to an Amazon Kendra supported database.

      " }, "DatabaseEngineType":{ "type":"string", @@ -4255,18 +4255,18 @@ "members":{ "DocumentAttributeValue":{ "shape":"DocumentAttributeValue", - "documentation":"

      The value of the attribute. For example, \"HR\".

      " + "documentation":"

      The value of the attribute/field. For example, \"HR\".

      " }, "Count":{ "shape":"Integer", - "documentation":"

      The number of documents in the response that have the attribute value for the key.

      " + "documentation":"

      The number of documents in the response that have the attribute/field value for the key.

      " }, "FacetResults":{ "shape":"FacetResultList", - "documentation":"

      Contains the results of a document attribute that is a nested facet. A FacetResult contains the counts for each facet nested within a facet.

      For example, the document attribute or facet \"Department\" includes a value called \"Engineering\". In addition, the document attribute or facet \"SubDepartment\" includes the values \"Frontend\" and \"Backend\" for documents assigned to \"Engineering\". You can display nested facets in the search results so that documents can be searched not only by department but also by a sub department within a department. The counts for documents that belong to \"Frontend\" and \"Backend\" within \"Engineering\" are returned for a query.

      " + "documentation":"

      Contains the results of a document attribute/field that is a nested facet. A FacetResult contains the counts for each facet nested within a facet.

      For example, the document attribute or facet \"Department\" includes a value called \"Engineering\". In addition, the document attribute or facet \"SubDepartment\" includes the values \"Frontend\" and \"Backend\" for documents assigned to \"Engineering\". You can display nested facets in the search results so that documents can be searched not only by department but also by a sub department within a department. The counts for documents that belong to \"Frontend\" and \"Backend\" within \"Engineering\" are returned for a query.

      " } }, - "documentation":"

      Provides the count of documents that match a particular attribute when doing a faceted search.

      " + "documentation":"

      Provides the count of documents that match a particular document attribute or field when doing a faceted search.

      " }, "DocumentAttributeValueCountPairList":{ "type":"list", @@ -4682,7 +4682,7 @@ "documentation":"

      Maximum number of facet values per facet. The default is 10. You can use this to limit the number of facet values to less than 10. If you want to increase the default, contact Support.

      " } }, - "documentation":"

      Information about a document attribute. You can use document attributes as facets.

      For example, the document attribute or facet \"Department\" includes the values \"HR\", \"Engineering\", and \"Accounting\". You can display these values in the search results so that documents can be searched by department.

      You can display up to 10 facet values per facet for a query. If you want to increase this limit, contact Support.

      " + "documentation":"

      Information about a document attribute or field. You can use document attributes as facets.

      For example, the document attribute or facet \"Department\" includes the values \"HR\", \"Engineering\", and \"Accounting\". You can display these values in the search results so that documents can be searched by department.

      You can display up to 10 facet values per facet for a query. If you want to increase this limit, contact Support.

      " }, "FacetList":{ "type":"list", @@ -7230,6 +7230,10 @@ "DocumentAttributes":{ "shape":"DocumentAttributeList", "documentation":"

      An array of document fields/attributes assigned to a document in the search results. For example, the document author (_author) or the source URI (_source_uri) of the document.

      " + }, + "ScoreAttributes":{ + "shape":"ScoreAttributes", + "documentation":"

      The confidence score bucket for a retrieved passage result. The confidence bucket provides a relative ranking that indicates how confident Amazon Kendra is that the response is relevant to the query.

      " } }, "documentation":"

      A single retrieved relevant passage result.

      " diff --git a/services/kendraranking/pom.xml b/services/kendraranking/pom.xml index fc094724459f..de74fa2b98da 100644 --- a/services/kendraranking/pom.xml +++ b/services/kendraranking/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT kendraranking AWS Java SDK :: Services :: Kendra Ranking diff --git a/services/kendraranking/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/kendraranking/src/main/resources/codegen-resources/endpoint-rule-set.json index e18bab6130ce..18515f8ee546 100644 --- a/services/kendraranking/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/kendraranking/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -25,13 +25,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -39,46 +38,56 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] } ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "ref": "Region" } ] - }, + } + ], + "type": "tree", + "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], "type": "tree", "rules": [ { @@ -165,7 +174,17 @@ ] }, { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], "type": "tree", "rules": [ { @@ -173,67 +192,56 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "PartitionResult" + }, + "supportsFIPS" ] } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://kendra-ranking-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } ] - }, + } + ], + "type": "tree", + "rules": [ { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://kendra-ranking-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] }, { "conditions": [], - "endpoint": { - "url": "https://kendra-ranking.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://kendra-ranking.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/kendraranking/src/main/resources/codegen-resources/endpoint-tests.json b/services/kendraranking/src/main/resources/codegen-resources/endpoint-tests.json index 5476f96664b4..12705ec2bf64 100644 --- a/services/kendraranking/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/kendraranking/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,265 +1,5 @@ { "testCases": [ - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kendra-ranking-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ca-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kendra-ranking-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ca-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kendra-ranking.ca-central-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ca-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kendra-ranking.ca-central-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ca-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kendra-ranking-fips.us-west-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-west-2", - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kendra-ranking-fips.us-west-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kendra-ranking.us-west-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-west-2", - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kendra-ranking.us-west-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kendra-ranking-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kendra-ranking-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kendra-ranking.eu-west-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kendra-ranking.eu-west-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kendra-ranking-fips.ap-southeast-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-southeast-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kendra-ranking-fips.ap-southeast-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-southeast-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kendra-ranking.ap-southeast-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-southeast-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kendra-ranking.ap-southeast-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-southeast-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kendra-ranking-fips.ap-southeast-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-southeast-2", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kendra-ranking-fips.ap-southeast-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-southeast-2", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kendra-ranking.ap-southeast-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-southeast-2", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kendra-ranking.ap-southeast-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-southeast-2", - "UseDualStack": false - } - }, { "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { @@ -268,22 +8,8 @@ } }, "params": { - "UseFIPS": true, - "Region": "us-east-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kendra-ranking-fips.us-east-1.api.aws" - } - }, - "params": { - "UseFIPS": true, "Region": "us-east-1", - "UseDualStack": false + "UseFIPS": true } }, { @@ -294,78 +20,73 @@ } }, "params": { - "UseFIPS": false, "Region": "us-east-1", - "UseDualStack": true + "UseFIPS": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kendra-ranking.us-east-1.api.aws" + "url": "https://kendra-ranking-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseFIPS": false, - "Region": "us-east-1", - "UseDualStack": false + "Region": "cn-north-1", + "UseFIPS": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kendra-ranking-fips.us-east-2.api.aws" + "url": "https://kendra-ranking.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseFIPS": true, - "Region": "us-east-2", - "UseDualStack": true + "Region": "cn-north-1", + "UseFIPS": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kendra-ranking-fips.us-east-2.api.aws" + "url": "https://kendra-ranking-fips.us-gov-east-1.api.aws" } }, "params": { - "UseFIPS": true, - "Region": "us-east-2", - "UseDualStack": false + "Region": "us-gov-east-1", + "UseFIPS": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kendra-ranking.us-east-2.api.aws" + "url": "https://kendra-ranking.us-gov-east-1.api.aws" } }, "params": { - "UseFIPS": false, - "Region": "us-east-2", - "UseDualStack": true + "Region": "us-gov-east-1", + "UseFIPS": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://kendra-ranking.us-east-2.api.aws" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-east-2", - "UseDualStack": false + "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" @@ -373,8 +94,6 @@ }, "params": { "UseFIPS": false, - "Region": "us-east-1", - "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -384,11 +103,16 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseFIPS": true, "Region": "us-east-1", - "UseDualStack": false, + "UseFIPS": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/keyspaces/pom.xml b/services/keyspaces/pom.xml index 10b0a33ff2f8..b49b905179d9 100644 --- a/services/keyspaces/pom.xml +++ b/services/keyspaces/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT keyspaces AWS Java SDK :: Services :: Keyspaces diff --git a/services/keyspaces/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/keyspaces/src/main/resources/codegen-resources/endpoint-rule-set.json index eaa1d7b0c1e0..4a6c3df7792f 100644 --- a/services/keyspaces/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/keyspaces/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,92 +140,83 @@ { "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://cassandra-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://cassandra-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 + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], @@ -221,155 +225,115 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, + "aws-us-gov", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] } ] } ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - "aws-us-gov", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://cassandra.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://cassandra-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] + "endpoint": { + "url": "https://cassandra.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://cassandra-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://cassandra.{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://cassandra.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://cassandra.{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://cassandra.{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/services/kinesis/pom.xml b/services/kinesis/pom.xml index a20a237126d2..ca173e7f36f6 100644 --- a/services/kinesis/pom.xml +++ b/services/kinesis/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT kinesis AWS Java SDK :: Services :: Amazon Kinesis diff --git a/services/kinesis/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/kinesis/src/main/resources/codegen-resources/endpoint-rule-set.json index f8dc09f1cbbb..6c9d972b60a7 100644 --- a/services/kinesis/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/kinesis/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -1,9 +1,9 @@ { - "version": "1.3", + "version": "1.0", "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -47,79 +47,96 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "StreamARN" } - ], - "assign": "PartitionResult" - } - ], - "type": "tree", - "rules": [ + ] + }, { - "conditions": [ + "fn": "not", + "argv": [ { "fn": "isSet", "argv": [ { - "ref": "StreamARN" + "ref": "Endpoint" } ] - }, + } + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + }, + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + }, + { + "fn": "not", + "argv": [ { - "fn": "not", + "fn": "stringEquals", "argv": [ { - "fn": "isSet", + "fn": "getAttr", "argv": [ { - "ref": "Endpoint" - } + "ref": "PartitionResult" + }, + "name" ] - } + }, + "aws-iso" ] - }, + } + ] + }, + { + "fn": "not", + "argv": [ { - "fn": "not", + "fn": "stringEquals", "argv": [ { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] + "ref": "PartitionResult" }, - "aws-iso" + "name" ] - } + }, + "aws-iso-b" ] - }, + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "not", + "fn": "aws.parseArn", "argv": [ { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - }, - "aws-iso-b" - ] + "ref": "StreamARN" } - ] + ], + "assign": "arn" } ], "type": "tree", @@ -127,25 +144,47 @@ { "conditions": [ { - "fn": "aws.parseArn", + "fn": "isValidHostLabel", "argv": [ { - "ref": "StreamARN" - } - ], - "assign": "arn" + "fn": "getAttr", + "argv": [ + { + "ref": "arn" + }, + "accountId" + ] + }, + false + ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "isValidHostLabel", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "arn" + }, + "region" + ] + }, + false + ] + } + ], "type": "tree", "rules": [ { "conditions": [ { - "fn": "isValidHostLabel", + "fn": "stringEquals", "argv": [ { "fn": "getAttr", @@ -153,91 +192,208 @@ { "ref": "arn" }, - "accountId" + "service" ] }, - false + "kinesis" ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "arn" + }, + "resourceId[0]" + ], + "assign": "arnType" + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "arnType" + }, + "" + ] + } + ] + } + ], "type": "tree", "rules": [ { "conditions": [ { - "fn": "isValidHostLabel", + "fn": "stringEquals", "argv": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "arn" - }, - "region" - ] + "ref": "arnType" }, - false + "stream" ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "{arn#partition}" + ] + } + ], "type": "tree", "rules": [ { "conditions": [ { - "fn": "stringEquals", + "fn": "isSet", "argv": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "arn" - }, - "service" - ] - }, - "kinesis" + "ref": "OperationType" + } ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], "type": "tree", "rules": [ { "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "arn" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] }, - "resourceId[0]" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + }, + true + ] + } ], - "assign": "arnType" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://{arn#accountId}.{OperationType}-kinesis-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled, but this partition does not support DualStack.", + "type": "error" + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled, but this partition does not support FIPS.", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "not", + "fn": "booleanEquals", "argv": [ { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ { - "ref": "arnType" + "ref": "PartitionResult" }, - "" + "supportsFIPS" ] - } + }, + true ] } ], @@ -245,410 +401,234 @@ "rules": [ { "conditions": [], - "type": "tree", - "rules": [ + "endpoint": { + "url": "https://{arn#accountId}.{OperationType}-kinesis-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": [ { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "arnType" - }, - "stream" - ] - } - ], - "type": "tree", - "rules": [ + "fn": "getAttr", + "argv": [ { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - }, - "{arn#partition}" - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "OperationType" - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://{arn#accountId}.{OperationType}-kinesis-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "DualStack is enabled, but this partition does not support DualStack.", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "FIPS is enabled, but this partition does not support FIPS.", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://{arn#accountId}.{OperationType}-kinesis-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": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://{arn#accountId}.{OperationType}-kinesis.{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://{arn#accountId}.{OperationType}-kinesis.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Operation Type is not set. Please contact service team for resolution.", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Partition: {arn#partition} from ARN doesn't match with partition name: {PartitionResult#name}.", - "type": "error" - } - ] - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] }, - { - "conditions": [], - "error": "Invalid ARN: Kinesis ARNs don't support `{arnType}` arn types.", - "type": "error" - } + true ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://{arn#accountId}.{OperationType}-kinesis.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] }, { "conditions": [], - "error": "Invalid ARN: No ARN type specified", + "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://{arn#accountId}.{OperationType}-kinesis.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] }, { "conditions": [], - "error": "Invalid ARN: The ARN was not for the Kinesis service, found: {arn#service}.", + "error": "Operation Type is not set. Please contact service team for resolution.", "type": "error" } ] + }, + { + "conditions": [], + "error": "Partition: {arn#partition} from ARN doesn't match with partition name: {PartitionResult#name}.", + "type": "error" } ] }, { "conditions": [], - "error": "Invalid ARN: Invalid region.", + "error": "Invalid ARN: Kinesis ARNs don't support `{arnType}` arn types.", "type": "error" } ] + }, + { + "conditions": [], + "error": "Invalid ARN: No ARN type specified", + "type": "error" } ] }, { "conditions": [], - "error": "Invalid ARN: Invalid account id.", + "error": "Invalid ARN: The ARN was not for the Kinesis service, found: {arn#service}.", "type": "error" } ] - } + }, + { + "conditions": [], + "error": "Invalid ARN: Invalid region.", + "type": "error" + } ] }, { "conditions": [], - "error": "Invalid ARN: Failed to parse ARN.", + "error": "Invalid ARN: Invalid account id.", "type": "error" } ] }, { - "conditions": [ + "conditions": [], + "error": "Invalid ARN: Failed to parse ARN.", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "ConsumerARN" + } + ] + }, + { + "fn": "not", + "argv": [ { "fn": "isSet", "argv": [ { - "ref": "ConsumerARN" + "ref": "Endpoint" } ] - }, + } + ] + }, + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + }, + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + }, + { + "fn": "not", + "argv": [ { - "fn": "not", + "fn": "stringEquals", "argv": [ { - "fn": "isSet", + "fn": "getAttr", "argv": [ { - "ref": "Endpoint" - } + "ref": "PartitionResult" + }, + "name" ] - } + }, + "aws-iso" ] - }, + } + ] + }, + { + "fn": "not", + "argv": [ { - "fn": "not", + "fn": "stringEquals", "argv": [ { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] + "ref": "PartitionResult" }, - "aws-iso" + "name" ] - } + }, + "aws-iso-b" ] - }, + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "not", + "fn": "aws.parseArn", "argv": [ { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - }, - "aws-iso-b" - ] + "ref": "ConsumerARN" } - ] + ], + "assign": "arn" } ], "type": "tree", @@ -656,25 +636,47 @@ { "conditions": [ { - "fn": "aws.parseArn", + "fn": "isValidHostLabel", "argv": [ { - "ref": "ConsumerARN" - } - ], - "assign": "arn" + "fn": "getAttr", + "argv": [ + { + "ref": "arn" + }, + "accountId" + ] + }, + false + ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "isValidHostLabel", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "arn" + }, + "region" + ] + }, + false + ] + } + ], "type": "tree", "rules": [ { "conditions": [ { - "fn": "isValidHostLabel", + "fn": "stringEquals", "argv": [ { "fn": "getAttr", @@ -682,91 +684,208 @@ { "ref": "arn" }, - "accountId" + "service" ] }, - false + "kinesis" ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "arn" + }, + "resourceId[0]" + ], + "assign": "arnType" + }, + { + "fn": "not", + "argv": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "arnType" + }, + "" + ] + } + ] + } + ], "type": "tree", "rules": [ { "conditions": [ { - "fn": "isValidHostLabel", + "fn": "stringEquals", "argv": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "arn" - }, - "region" - ] + "ref": "arnType" }, - false + "stream" ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "{arn#partition}" + ] + } + ], "type": "tree", "rules": [ { "conditions": [ { - "fn": "stringEquals", + "fn": "isSet", "argv": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "arn" - }, - "service" - ] - }, - "kinesis" + "ref": "OperationType" + } ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], "type": "tree", "rules": [ { "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "arn" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] }, - "resourceId[0]" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + }, + true + ] + } ], - "assign": "arnType" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://{arn#accountId}.{OperationType}-kinesis-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled, but this partition does not support DualStack.", + "type": "error" + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled, but this partition does not support FIPS.", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "not", + "fn": "booleanEquals", "argv": [ { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ { - "ref": "arnType" + "ref": "PartitionResult" }, - "" + "supportsFIPS" ] - } + }, + true ] } ], @@ -774,410 +893,154 @@ "rules": [ { "conditions": [], - "type": "tree", - "rules": [ + "endpoint": { + "url": "https://{arn#accountId}.{OperationType}-kinesis-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": [ { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "arnType" - }, - "stream" - ] - } - ], - "type": "tree", - "rules": [ + "fn": "getAttr", + "argv": [ { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - }, - "{arn#partition}" - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "OperationType" - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://{arn#accountId}.{OperationType}-kinesis-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "DualStack is enabled, but this partition does not support DualStack.", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "FIPS is enabled, but this partition does not support FIPS.", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://{arn#accountId}.{OperationType}-kinesis-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": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://{arn#accountId}.{OperationType}-kinesis.{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://{arn#accountId}.{OperationType}-kinesis.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Operation Type is not set. Please contact service team for resolution.", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Partition: {arn#partition} from ARN doesn't match with partition name: {PartitionResult#name}.", - "type": "error" - } - ] - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] }, - { - "conditions": [], - "error": "Invalid ARN: Kinesis ARNs don't support `{arnType}` arn types.", - "type": "error" - } + true ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://{arn#accountId}.{OperationType}-kinesis.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] }, { "conditions": [], - "error": "Invalid ARN: No ARN type specified", + "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://{arn#accountId}.{OperationType}-kinesis.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] }, { "conditions": [], - "error": "Invalid ARN: The ARN was not for the Kinesis service, found: {arn#service}.", + "error": "Operation Type is not set. Please contact service team for resolution.", "type": "error" } ] - } - ] - }, - { - "conditions": [], - "error": "Invalid ARN: Invalid region.", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid ARN: Invalid account id.", - "type": "error" - } - ] - } - ] - }, - { - "conditions": [], - "error": "Invalid ARN: Failed to parse ARN.", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" + }, + { + "conditions": [], + "error": "Partition: {arn#partition} from ARN doesn't match with partition name: {PartitionResult#name}.", + "type": "error" + } + ] + }, + { + "conditions": [], + "error": "Invalid ARN: Kinesis ARNs don't support `{arnType}` arn types.", + "type": "error" + } + ] }, - true + { + "conditions": [], + "error": "Invalid ARN: No ARN type specified", + "type": "error" + } ] + }, + { + "conditions": [], + "error": "Invalid ARN: The ARN was not for the Kinesis service, found: {arn#service}.", + "type": "error" } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + ] }, { "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "Invalid ARN: Invalid region.", + "type": "error" } ] + }, + { + "conditions": [], + "error": "Invalid ARN: Invalid account id.", + "type": "error" } ] }, + { + "conditions": [], + "error": "Invalid ARN: Failed to parse ARN.", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "type": "tree", + "rules": [ { "conditions": [ { @@ -1188,7 +1051,13 @@ }, true ] - }, + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ { "fn": "booleanEquals", "argv": [ @@ -1199,6 +1068,47 @@ ] } ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], "type": "tree", "rules": [ { @@ -1206,38 +1116,57 @@ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] }, { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -1250,52 +1179,46 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -1333,52 +1256,46 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -1391,57 +1308,13 @@ "type": "endpoint" } ] - } - ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ] - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-east-1" - ] - } - ], - "endpoint": { - "url": "https://kinesis.us-gov-east-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ + }, { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-west-1" - ] + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } - ], - "endpoint": { - "url": "https://kinesis.us-gov-west-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + ] }, { "conditions": [], @@ -1455,6 +1328,11 @@ ] } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/kinesis/src/main/resources/codegen-resources/endpoint-tests.json b/services/kinesis/src/main/resources/codegen-resources/endpoint-tests.json index 052d9e96454d..03682af4a795 100644 --- a/services/kinesis/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/kinesis/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,94 +1,94 @@ { "testCases": [ { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis.us-gov-west-1.amazonaws.com" + "url": "https://kinesis.af-south-1.amazonaws.com" } }, "params": { + "Region": "af-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis.us-gov-west-1.amazonaws.com" + "url": "https://kinesis.ap-east-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-west-1" + "Region": "ap-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis.us-gov-east-1.amazonaws.com" + "url": "https://kinesis.ap-northeast-1.amazonaws.com" } }, "params": { + "Region": "ap-northeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis.us-gov-east-1.amazonaws.com" + "url": "https://kinesis.ap-northeast-2.amazonaws.com" } }, "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-east-1" + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis-fips.us-gov-east-1.api.aws" + "url": "https://kinesis.ap-northeast-3.amazonaws.com" } }, "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "us-gov-east-1" + "Region": "ap-northeast-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis.us-gov-east-1.api.aws" + "url": "https://kinesis.ap-south-1.amazonaws.com" } }, "params": { + "Region": "ap-south-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis.ap-southeast-3.amazonaws.com" + "url": "https://kinesis.ap-southeast-1.amazonaws.com" } }, "params": { + "Region": "ap-southeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-3" + "UseDualStack": false } }, { @@ -99,113 +99,113 @@ } }, "params": { + "Region": "ap-southeast-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis.ap-southeast-1.amazonaws.com" + "url": "https://kinesis.ap-southeast-3.amazonaws.com" } }, "params": { + "Region": "ap-southeast-3", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis.eu-central-1.amazonaws.com" + "url": "https://kinesis.ca-central-1.amazonaws.com" } }, "params": { + "Region": "ca-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis.eu-south-1.amazonaws.com" + "url": "https://kinesis.eu-central-1.amazonaws.com" } }, "params": { + "Region": "eu-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-south-1" + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis.ap-east-1.amazonaws.com" + "url": "https://kinesis.eu-north-1.amazonaws.com" } }, "params": { + "Region": "eu-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-east-1" + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis.sa-east-1.amazonaws.com" + "url": "https://kinesis.eu-south-1.amazonaws.com" } }, "params": { + "Region": "eu-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis.us-east-2.amazonaws.com" + "url": "https://kinesis.eu-west-1.amazonaws.com" } }, "params": { + "Region": "eu-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-2" + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis-fips.us-east-2.amazonaws.com" + "url": "https://kinesis.eu-west-2.amazonaws.com" } }, "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-2" + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis.eu-north-1.amazonaws.com" + "url": "https://kinesis.eu-west-3.amazonaws.com" } }, "params": { + "Region": "eu-west-3", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-north-1" + "UseDualStack": false } }, { @@ -216,334 +216,356 @@ } }, "params": { + "Region": "me-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "me-south-1" + "UseDualStack": false } }, { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis.eu-west-3.amazonaws.com" + "url": "https://kinesis.sa-east-1.amazonaws.com" } }, "params": { + "Region": "sa-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-3" + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis.eu-west-2.amazonaws.com" + "url": "https://kinesis.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-2" + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis.eu-west-1.amazonaws.com" + "url": "https://kinesis-fips.us-east-1.amazonaws.com" } }, "params": { - "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-1" + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis.us-east-1.amazonaws.com" + "url": "https://kinesis.us-east-2.amazonaws.com" } }, "params": { + "Region": "us-east-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis-fips.us-east-1.amazonaws.com" + "url": "https://kinesis-fips.us-east-2.amazonaws.com" } }, "params": { + "Region": "us-east-2", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis.ap-northeast-3.amazonaws.com" + "url": "https://kinesis.us-west-1.amazonaws.com" } }, "params": { + "Region": "us-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-3" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis.ap-northeast-2.amazonaws.com" + "url": "https://kinesis-fips.us-west-1.amazonaws.com" } }, "params": { - "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-2" + "Region": "us-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis.ap-northeast-1.amazonaws.com" + "url": "https://kinesis.us-west-2.amazonaws.com" } }, "params": { + "Region": "us-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis.ap-south-1.amazonaws.com" + "url": "https://kinesis-fips.us-west-2.amazonaws.com" } }, "params": { - "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-south-1" + "Region": "us-west-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kinesis.af-south-1.amazonaws.com" + "url": "https://kinesis-fips.us-east-1.api.aws" } }, "params": { - "UseFIPS": false, - "UseDualStack": false, - "Region": "af-south-1" + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kinesis.us-west-2.amazonaws.com" + "url": "https://kinesis.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-2" + "UseDualStack": true } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis-fips.us-west-2.amazonaws.com" + "url": "https://kinesis.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "us-west-2" + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis.us-west-1.amazonaws.com" + "url": "https://kinesis.cn-northwest-1.amazonaws.com.cn" } }, "params": { + "Region": "cn-northwest-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kinesis-fips.us-west-1.amazonaws.com" + "url": "https://kinesis-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-west-1" + "UseDualStack": true } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis.ca-central-1.amazonaws.com" + "url": "https://kinesis-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseFIPS": false, - "UseDualStack": false, - "Region": "ca-central-1" + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kinesis-fips.us-east-1.api.aws" + "url": "https://kinesis.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "us-east-1" + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis.us-east-1.api.aws" + "url": "https://kinesis.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis.us-iso-east-1.c2s.ic.gov" + "url": "https://kinesis.us-gov-east-1.amazonaws.com" } }, "params": { - "UseFIPS": false, - "UseDualStack": false, - "Region": "us-iso-east-1" + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis.us-iso-west-1.c2s.ic.gov" + "url": "https://kinesis.us-gov-west-1.amazonaws.com" } }, "params": { + "Region": "us-gov-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-iso-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://kinesis.us-gov-west-1.amazonaws.com" } }, "params": { + "Region": "us-gov-west-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kinesis.cn-north-1.amazonaws.com.cn" + "url": "https://kinesis-fips.us-gov-east-1.api.aws" } }, "params": { - "UseFIPS": false, - "UseDualStack": false, - "Region": "cn-north-1" + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kinesis.cn-northwest-1.amazonaws.com.cn" + "url": "https://kinesis.us-gov-east-1.api.aws" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "cn-northwest-1" + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis-fips.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://kinesis.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "cn-north-1" + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis-fips.cn-north-1.amazonaws.com.cn" + "url": "https://kinesis.us-iso-west-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesis.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://kinesis-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -554,9 +576,20 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -567,13 +600,38 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "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" @@ -582,7 +640,6 @@ "params": { "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -592,9 +649,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" } }, @@ -604,12 +661,18 @@ "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" + } + }, { "documentation": "Invalid ARN: Failed to parse ARN.", "expect": { diff --git a/services/kinesisanalytics/pom.xml b/services/kinesisanalytics/pom.xml index bcec832296a7..9895a0e0b5a6 100644 --- a/services/kinesisanalytics/pom.xml +++ b/services/kinesisanalytics/pom.xml @@ -22,7 +22,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT kinesisanalytics AWS Java SDK :: Services :: Amazon Kinesis Analytics diff --git a/services/kinesisanalytics/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/kinesisanalytics/src/main/resources/codegen-resources/endpoint-rule-set.json index add113074dc2..ecfbdf41d9f9 100644 --- a/services/kinesisanalytics/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/kinesisanalytics/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://kinesisanalytics-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://kinesisanalytics-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://kinesisanalytics.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://kinesisanalytics.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://kinesisanalytics.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://kinesisanalytics.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/kinesisanalytics/src/main/resources/codegen-resources/endpoint-tests.json b/services/kinesisanalytics/src/main/resources/codegen-resources/endpoint-tests.json index a60496b4576e..8658a7cb4279 100644 --- a/services/kinesisanalytics/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/kinesisanalytics/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,809 +1,29 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.me-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.me-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics.me-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics.me-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics-fips.ap-northeast-1.amazonaws.com" + "url": "https://kinesisanalytics.af-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "af-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics.ap-northeast-1.api.aws" + "url": "https://kinesisanalytics.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "ap-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -814,581 +34,534 @@ } }, "params": { - "UseDualStack": false, "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisanalytics.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics.me-south-1.amazonaws.com" + "url": "https://kinesisanalytics.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": false + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics-fips.sa-east-1.api.aws" + "url": "https://kinesisanalytics.ap-northeast-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": true + "Region": "ap-northeast-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics-fips.sa-east-1.amazonaws.com" + "url": "https://kinesisanalytics.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": true + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics.sa-east-1.api.aws" + "url": "https://kinesisanalytics.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": false + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics.sa-east-1.amazonaws.com" + "url": "https://kinesisanalytics.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics-fips.ap-east-1.api.aws" + "url": "https://kinesisanalytics.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": true + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics-fips.ap-east-1.amazonaws.com" + "url": "https://kinesisanalytics.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": true + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics.ap-east-1.api.aws" + "url": "https://kinesisanalytics.eu-north-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": false + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics.ap-east-1.amazonaws.com" + "url": "https://kinesisanalytics.eu-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": false + "Region": "eu-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics-fips.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://kinesisanalytics.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": true + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics-fips.cn-north-1.amazonaws.com.cn" + "url": "https://kinesisanalytics.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": true + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://kinesisanalytics.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": false + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics.cn-north-1.amazonaws.com.cn" + "url": "https://kinesisanalytics.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": false + "Region": "me-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics-fips.us-gov-west-1.api.aws" + "url": "https://kinesisanalytics.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics.us-gov-west-1.api.aws" + "url": "https://kinesisanalytics.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics.us-gov-west-1.amazonaws.com" + "url": "https://kinesisanalytics.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics-fips.ap-southeast-1.api.aws" + "url": "https://kinesisanalytics.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics-fips.ap-southeast-1.amazonaws.com" + "url": "https://kinesisanalytics.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics.ap-southeast-1.api.aws" + "url": "https://kinesisanalytics-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics.ap-southeast-1.amazonaws.com" + "url": "https://kinesisanalytics-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics-fips.ap-southeast-2.api.aws" + "url": "https://kinesisanalytics.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics-fips.ap-southeast-2.amazonaws.com" + "url": "https://kinesisanalytics.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics.ap-southeast-2.api.aws" + "url": "https://kinesisanalytics.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics.ap-southeast-2.amazonaws.com" + "url": "https://kinesisanalytics-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics-fips.ap-southeast-3.api.aws" + "url": "https://kinesisanalytics-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-3", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics-fips.ap-southeast-3.amazonaws.com" + "url": "https://kinesisanalytics.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-3", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics.ap-southeast-3.api.aws" + "url": "https://kinesisanalytics.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-3", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics.ap-southeast-3.amazonaws.com" + "url": "https://kinesisanalytics.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-3", - "UseFIPS": false + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics-fips.us-east-1.api.aws" + "url": "https://kinesisanalytics-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-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://kinesisanalytics-fips.us-east-1.amazonaws.com" + "url": "https://kinesisanalytics-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics.us-east-1.api.aws" + "url": "https://kinesisanalytics.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://kinesisanalytics.us-east-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics-fips.us-east-2.api.aws" + "url": "https://kinesisanalytics-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.us-east-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics.us-east-2.api.aws" + "url": "https://kinesisanalytics.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://kinesisanalytics.us-east-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics-fips.cn-northwest-1.api.amazonwebservices.com.cn" + "url": "https://kinesisanalytics-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://kinesisanalytics-fips.cn-northwest-1.amazonaws.com.cn" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics.cn-northwest-1.api.amazonwebservices.com.cn" + "url": "https://kinesisanalytics.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://kinesisanalytics.cn-northwest-1.amazonaws.com.cn" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1398,9 +571,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1410,11 +583,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/kinesisanalyticsv2/pom.xml b/services/kinesisanalyticsv2/pom.xml index 28e212d644c2..fef2e07a409c 100644 --- a/services/kinesisanalyticsv2/pom.xml +++ b/services/kinesisanalyticsv2/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT kinesisanalyticsv2 AWS Java SDK :: Services :: Kinesis Analytics V2 diff --git a/services/kinesisanalyticsv2/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/kinesisanalyticsv2/src/main/resources/codegen-resources/endpoint-rule-set.json index 8e82638e6129..ecfbdf41d9f9 100644 --- a/services/kinesisanalyticsv2/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/kinesisanalyticsv2/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://kinesisanalytics-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://kinesisanalytics-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://kinesisanalytics-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://kinesisanalytics-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://kinesisanalytics.{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://kinesisanalytics.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://kinesisanalytics.{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://kinesisanalytics.{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/services/kinesisvideo/pom.xml b/services/kinesisvideo/pom.xml index 65a7d17f2eaa..6515cb5e7b93 100644 --- a/services/kinesisvideo/pom.xml +++ b/services/kinesisvideo/pom.xml @@ -20,7 +20,7 @@ services software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 kinesisvideo diff --git a/services/kinesisvideo/src/main/resources/codegen-resources/service-2.json b/services/kinesisvideo/src/main/resources/codegen-resources/service-2.json index 2f761ae09479..5b16153f5e3b 100644 --- a/services/kinesisvideo/src/main/resources/codegen-resources/service-2.json +++ b/services/kinesisvideo/src/main/resources/codegen-resources/service-2.json @@ -164,7 +164,7 @@ {"shape":"AccessDeniedException"}, {"shape":"ClientLimitExceededException"} ], - "documentation":"

      Returns the most current information about the channel. Specify the ChannelName or ChannelARN in the input.

      " + "documentation":"

      This API is related to WebRTC Ingestion and is only available in the us-west-2 region.

      Returns the most current information about the channel. Specify the ChannelName or ChannelARN in the input.

      " }, "DescribeNotificationConfiguration":{ "name":"DescribeNotificationConfiguration", @@ -340,7 +340,7 @@ {"shape":"ResourceInUseException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

      An asynchronous API that updates a stream’s existing edge configuration. The Kinesis Video Stream will sync the stream’s edge configuration with the Edge Agent IoT Greengrass component that runs on an IoT Hub Device, setup at your premise. The time to sync can vary and depends on the connectivity of the Hub Device. The SyncStatus will be updated as the edge configuration is acknowledged, and synced with the Edge Agent.

      If this API is invoked for the first time, a new edge configuration will be created for the stream, and the sync status will be set to SYNCING. You will have to wait for the sync status to reach a terminal state such as: IN_SYNC, or SYNC_FAILED, before using this API again. If you invoke this API during the syncing process, a ResourceInUseException will be thrown. The connectivity of the stream’s edge configuration and the Edge Agent will be retried for 15 minutes. After 15 minutes, the status will transition into the SYNC_FAILED state.

      " + "documentation":"

      An asynchronous API that updates a stream’s existing edge configuration. The Kinesis Video Stream will sync the stream’s edge configuration with the Edge Agent IoT Greengrass component that runs on an IoT Hub Device, setup at your premise. The time to sync can vary and depends on the connectivity of the Hub Device. The SyncStatus will be updated as the edge configuration is acknowledged, and synced with the Edge Agent.

      If this API is invoked for the first time, a new edge configuration will be created for the stream, and the sync status will be set to SYNCING. You will have to wait for the sync status to reach a terminal state such as: IN_SYNC, or SYNC_FAILED, before using this API again. If you invoke this API during the syncing process, a ResourceInUseException will be thrown. The connectivity of the stream’s edge configuration and the Edge Agent will be retried for 15 minutes. After 15 minutes, the status will transition into the SYNC_FAILED state.

      To move an edge configuration from one device to another, use DeleteEdgeConfiguration to delete the current edge configuration. You can then invoke StartEdgeConfigurationUpdate with an updated Hub Device ARN.

      " }, "TagResource":{ "name":"TagResource", @@ -462,7 +462,7 @@ {"shape":"AccessDeniedException"}, {"shape":"NoDataRetentionException"} ], - "documentation":"

      Associates a SignalingChannel to a stream to store the media. There are two signaling modes that can specified :

      • If the StorageStatus is disabled, no data will be stored, and the StreamARN parameter will not be needed.

      • If the StorageStatus is enabled, the data will be stored in the StreamARN provided.

      If StorageStatus is enabled, direct peer-to-peer (master-viewer) connections no longer occur. Peers connect directly to the storage session. You must call the JoinStorageSession API to trigger an SDP offer send and establish a connection between a peer and the storage session.

      " + "documentation":"

      This API is related to WebRTC Ingestion and is only available in the us-west-2 region.

      Associates a SignalingChannel to a stream to store the media. There are two signaling modes that can specified :

      • If the StorageStatus is disabled, no data will be stored, and the StreamARN parameter will not be needed.

      • If the StorageStatus is enabled, the data will be stored in the StreamARN provided.

      If StorageStatus is enabled, direct peer-to-peer (master-viewer) connections no longer occur. Peers connect directly to the storage session. You must call the JoinStorageSession API to trigger an SDP offer send and establish a connection between a peer and the storage session.

      " }, "UpdateNotificationConfiguration":{ "name":"UpdateNotificationConfiguration", @@ -1196,7 +1196,7 @@ }, "SamplingInterval":{ "shape":"SamplingInterval", - "documentation":"

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

      " + "documentation":"

      The time interval in milliseconds (ms) at which the images need to be generated from the stream. The minimum value that can be provided is 200 ms. If the timestamp range is less than the sampling interval, the Image from the StartTimestamp will be returned if available.

      " }, "Format":{ "shape":"Format", diff --git a/services/kinesisvideoarchivedmedia/pom.xml b/services/kinesisvideoarchivedmedia/pom.xml index e69d8b0bac56..e6a75ee38e58 100644 --- a/services/kinesisvideoarchivedmedia/pom.xml +++ b/services/kinesisvideoarchivedmedia/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT kinesisvideoarchivedmedia AWS Java SDK :: Services :: Kinesis Video Archived Media diff --git a/services/kinesisvideoarchivedmedia/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/kinesisvideoarchivedmedia/src/main/resources/codegen-resources/endpoint-rule-set.json index f61682a8f1fc..6da12c24ec73 100644 --- a/services/kinesisvideoarchivedmedia/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/kinesisvideoarchivedmedia/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://kinesisvideo-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://kinesisvideo-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "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://kinesisvideo-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://kinesisvideo-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "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://kinesisvideo.{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://kinesisvideo.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://kinesisvideo.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://kinesisvideo.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "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/services/kinesisvideomedia/pom.xml b/services/kinesisvideomedia/pom.xml index da798b83c25b..a59b7f256859 100644 --- a/services/kinesisvideomedia/pom.xml +++ b/services/kinesisvideomedia/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT kinesisvideomedia AWS Java SDK :: Services :: Kinesis Video Media diff --git a/services/kinesisvideomedia/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/kinesisvideomedia/src/main/resources/codegen-resources/endpoint-rule-set.json index 33f59063d569..6da12c24ec73 100644 --- a/services/kinesisvideomedia/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/kinesisvideomedia/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://kinesisvideo-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://kinesisvideo-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://kinesisvideo.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://kinesisvideo.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://kinesisvideo.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://kinesisvideo.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/kinesisvideomedia/src/main/resources/codegen-resources/endpoint-tests.json b/services/kinesisvideomedia/src/main/resources/codegen-resources/endpoint-tests.json index 286590f5a810..3e71d1d389bb 100644 --- a/services/kinesisvideomedia/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/kinesisvideomedia/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,1191 +1,402 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "UseDualStack": true, - "Region": "us-iso-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.us-iso-west-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-iso-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "UseDualStack": true, - "Region": "us-iso-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.us-iso-west-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-iso-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo-fips.ap-east-1.api.aws" + "url": "https://kinesisvideo.af-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": true + "Region": "af-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo-fips.ap-east-1.amazonaws.com" + "url": "https://kinesisvideo.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, "Region": "ap-east-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo.ap-east-1.api.aws" + "url": "https://kinesisvideo.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": false + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo.ap-east-1.amazonaws.com" + "url": "https://kinesisvideo.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": false + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo-fips.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://kinesisvideo.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": true + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo-fips.cn-north-1.amazonaws.com.cn" + "url": "https://kinesisvideo.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://kinesisvideo.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo.cn-north-1.amazonaws.com.cn" + "url": "https://kinesisvideo.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": false + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo-fips.us-gov-west-1.api.aws" + "url": "https://kinesisvideo.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo-fips.us-gov-west-1.amazonaws.com" + "url": "https://kinesisvideo.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo.us-gov-west-1.api.aws" + "url": "https://kinesisvideo.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo.us-gov-west-1.amazonaws.com" + "url": "https://kinesisvideo.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo-fips.ap-southeast-1.api.aws" + "url": "https://kinesisvideo.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo-fips.ap-southeast-1.amazonaws.com" + "url": "https://kinesisvideo.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo.ap-southeast-1.api.aws" + "url": "https://kinesisvideo.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo.ap-southeast-1.amazonaws.com" + "url": "https://kinesisvideo.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kinesisvideo-fips.ap-southeast-2.api.aws" + "url": "https://kinesisvideo-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo-fips.ap-southeast-2.amazonaws.com" + "url": "https://kinesisvideo-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kinesisvideo.ap-southeast-2.api.aws" + "url": "https://kinesisvideo.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kinesisvideo.ap-southeast-2.amazonaws.com" + "url": "https://kinesisvideo-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://kinesisvideo-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" + "endpoint": { + "url": "https://kinesisvideo.cn-north-1.api.amazonwebservices.com.cn" + } }, "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo.us-iso-east-1.c2s.ic.gov" + "url": "https://kinesisvideo.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kinesisvideo-fips.us-east-1.api.aws" + "url": "https://kinesisvideo-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-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://kinesisvideo-fips.us-east-1.amazonaws.com" + "url": "https://kinesisvideo-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kinesisvideo.us-east-1.api.aws" + "url": "https://kinesisvideo.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-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://kinesisvideo.us-east-1.amazonaws.com" + "url": "https://kinesisvideo.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.us-east-2.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo-fips.us-east-2.amazonaws.com" + "url": "https://kinesisvideo-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://kinesisvideo.us-east-2.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo.us-east-2.amazonaws.com" + "url": "https://kinesisvideo.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1194,9 +405,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -1207,9 +418,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -1218,9 +429,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -1231,22 +442,35 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1256,9 +480,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1268,11 +492,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/kinesisvideosignaling/pom.xml b/services/kinesisvideosignaling/pom.xml index ae894036dea3..d76e72a58bfc 100644 --- a/services/kinesisvideosignaling/pom.xml +++ b/services/kinesisvideosignaling/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT kinesisvideosignaling AWS Java SDK :: Services :: Kinesis Video Signaling diff --git a/services/kinesisvideosignaling/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/kinesisvideosignaling/src/main/resources/codegen-resources/endpoint-rule-set.json index 33f59063d569..6da12c24ec73 100644 --- a/services/kinesisvideosignaling/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/kinesisvideosignaling/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://kinesisvideo-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://kinesisvideo-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://kinesisvideo.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://kinesisvideo.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://kinesisvideo.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://kinesisvideo.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/kinesisvideosignaling/src/main/resources/codegen-resources/endpoint-tests.json b/services/kinesisvideosignaling/src/main/resources/codegen-resources/endpoint-tests.json index 286590f5a810..3e71d1d389bb 100644 --- a/services/kinesisvideosignaling/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/kinesisvideosignaling/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,1191 +1,402 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "UseDualStack": true, - "Region": "us-iso-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.us-iso-west-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-iso-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "UseDualStack": true, - "Region": "us-iso-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.us-iso-west-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-iso-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://kinesisvideo.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo-fips.ap-east-1.api.aws" + "url": "https://kinesisvideo.af-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": true + "Region": "af-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo-fips.ap-east-1.amazonaws.com" + "url": "https://kinesisvideo.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, "Region": "ap-east-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo.ap-east-1.api.aws" + "url": "https://kinesisvideo.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": false + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo.ap-east-1.amazonaws.com" + "url": "https://kinesisvideo.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": false + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo-fips.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://kinesisvideo.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": true + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo-fips.cn-north-1.amazonaws.com.cn" + "url": "https://kinesisvideo.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://kinesisvideo.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo.cn-north-1.amazonaws.com.cn" + "url": "https://kinesisvideo.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": false + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo-fips.us-gov-west-1.api.aws" + "url": "https://kinesisvideo.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo-fips.us-gov-west-1.amazonaws.com" + "url": "https://kinesisvideo.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo.us-gov-west-1.api.aws" + "url": "https://kinesisvideo.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo.us-gov-west-1.amazonaws.com" + "url": "https://kinesisvideo.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo-fips.ap-southeast-1.api.aws" + "url": "https://kinesisvideo.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo-fips.ap-southeast-1.amazonaws.com" + "url": "https://kinesisvideo.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo.ap-southeast-1.api.aws" + "url": "https://kinesisvideo.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo.ap-southeast-1.amazonaws.com" + "url": "https://kinesisvideo.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kinesisvideo-fips.ap-southeast-2.api.aws" + "url": "https://kinesisvideo-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo-fips.ap-southeast-2.amazonaws.com" + "url": "https://kinesisvideo-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kinesisvideo.ap-southeast-2.api.aws" + "url": "https://kinesisvideo.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kinesisvideo.ap-southeast-2.amazonaws.com" + "url": "https://kinesisvideo-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://kinesisvideo-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" + "endpoint": { + "url": "https://kinesisvideo.cn-north-1.api.amazonwebservices.com.cn" + } }, "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo.us-iso-east-1.c2s.ic.gov" + "url": "https://kinesisvideo.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kinesisvideo-fips.us-east-1.api.aws" + "url": "https://kinesisvideo-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-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://kinesisvideo-fips.us-east-1.amazonaws.com" + "url": "https://kinesisvideo-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://kinesisvideo.us-east-1.api.aws" + "url": "https://kinesisvideo.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-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://kinesisvideo.us-east-1.amazonaws.com" + "url": "https://kinesisvideo.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://kinesisvideo-fips.us-east-2.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo-fips.us-east-2.amazonaws.com" + "url": "https://kinesisvideo-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://kinesisvideo.us-east-2.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://kinesisvideo.us-east-2.amazonaws.com" + "url": "https://kinesisvideo.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1194,9 +405,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -1207,9 +418,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -1218,9 +429,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -1231,22 +442,35 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1256,9 +480,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1268,11 +492,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/kinesisvideowebrtcstorage/pom.xml b/services/kinesisvideowebrtcstorage/pom.xml index c8c4a6a45159..8c0c570e3e79 100644 --- a/services/kinesisvideowebrtcstorage/pom.xml +++ b/services/kinesisvideowebrtcstorage/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT kinesisvideowebrtcstorage AWS Java SDK :: Services :: Kinesis Video Web RTC Storage diff --git a/services/kinesisvideowebrtcstorage/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/kinesisvideowebrtcstorage/src/main/resources/codegen-resources/endpoint-rule-set.json index 88e6b888956d..f61682a8f1fc 100644 --- a/services/kinesisvideowebrtcstorage/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/kinesisvideowebrtcstorage/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,14 +45,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -62,67 +67,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -131,168 +111,238 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + }, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://kinesisvideo-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://kinesisvideo-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://kinesisvideo-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://kinesisvideo-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://kinesisvideo.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://kinesisvideo.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://kinesisvideo.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } ] }, { "conditions": [], - "endpoint": { - "url": "https://kinesisvideo.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } diff --git a/services/kinesisvideowebrtcstorage/src/main/resources/codegen-resources/endpoint-tests.json b/services/kinesisvideowebrtcstorage/src/main/resources/codegen-resources/endpoint-tests.json index 5bd9f5778e58..d5cdbc079ad6 100644 --- a/services/kinesisvideowebrtcstorage/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/kinesisvideowebrtcstorage/src/main/resources/codegen-resources/endpoint-tests.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://kinesisvideo-fips.us-gov-east-1.api.aws" + "url": "https://kinesisvideo-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "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://kinesisvideo-fips.us-gov-east-1.amazonaws.com" + "url": "https://kinesisvideo-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "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://kinesisvideo.us-gov-east-1.api.aws" + "url": "https://kinesisvideo.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "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://kinesisvideo.us-gov-east-1.amazonaws.com" + "url": "https://kinesisvideo.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -60,9 +60,9 @@ } }, "params": { - "UseDualStack": true, "Region": "cn-north-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -73,9 +73,9 @@ } }, "params": { - "UseDualStack": false, "Region": "cn-north-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -86,9 +86,9 @@ } }, "params": { - "UseDualStack": true, "Region": "cn-north-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -99,109 +99,109 @@ } }, "params": { - "UseDualStack": false, "Region": "cn-north-1", - "UseFIPS": false + "UseFIPS": false, + "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://kinesisvideo-fips.us-gov-east-1.api.aws" + } }, "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "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://kinesisvideo-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://kinesisvideo-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "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://kinesisvideo.us-gov-east-1.api.aws" + } }, "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "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://kinesisvideo.us-iso-east-1.c2s.ic.gov" + "url": "https://kinesisvideo.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "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://kinesisvideo-fips.us-east-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "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://kinesisvideo-fips.us-east-1.amazonaws.com" + "url": "https://kinesisvideo-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "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://kinesisvideo.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "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://kinesisvideo.us-east-1.amazonaws.com" + "url": "https://kinesisvideo.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -210,9 +210,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -223,9 +223,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -234,9 +234,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -247,22 +247,35 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -272,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -284,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/kms/pom.xml b/services/kms/pom.xml index 8b3fec785b6c..8bc17b6a41d7 100644 --- a/services/kms/pom.xml +++ b/services/kms/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT kms AWS Java SDK :: Services :: AWS KMS diff --git a/services/kms/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/kms/src/main/resources/codegen-resources/endpoint-rule-set.json index 64b8c61c24df..2e008ea5a4fc 100644 --- a/services/kms/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/kms/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://kms-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://kms-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://kms-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://kms-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://kms.{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://kms.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://kms.{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://kms.{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/services/lakeformation/pom.xml b/services/lakeformation/pom.xml index 4e3377436804..3823904239fa 100644 --- a/services/lakeformation/pom.xml +++ b/services/lakeformation/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT lakeformation AWS Java SDK :: Services :: LakeFormation diff --git a/services/lakeformation/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/lakeformation/src/main/resources/codegen-resources/endpoint-rule-set.json index 3c84318cfc7a..363a3917c99e 100644 --- a/services/lakeformation/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/lakeformation/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://lakeformation-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://lakeformation-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://lakeformation-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://lakeformation-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://lakeformation.{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://lakeformation.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://lakeformation.{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://lakeformation.{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/services/lakeformation/src/main/resources/codegen-resources/paginators-1.json b/services/lakeformation/src/main/resources/codegen-resources/paginators-1.json index 3de88fef0831..1f03c6c9c3d9 100644 --- a/services/lakeformation/src/main/resources/codegen-resources/paginators-1.json +++ b/services/lakeformation/src/main/resources/codegen-resources/paginators-1.json @@ -28,6 +28,11 @@ "output_token": "NextToken", "result_key": "LFTags" }, + "ListLakeFormationOptIns": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken" + }, "ListPermissions": { "input_token": "NextToken", "limit_key": "MaxResults", diff --git a/services/lakeformation/src/main/resources/codegen-resources/service-2.json b/services/lakeformation/src/main/resources/codegen-resources/service-2.json index 93f32c853387..a2ecb5d12c4b 100644 --- a/services/lakeformation/src/main/resources/codegen-resources/service-2.json +++ b/services/lakeformation/src/main/resources/codegen-resources/service-2.json @@ -149,6 +149,24 @@ ], "documentation":"

      Creates an LF-tag with the specified name and values.

      " }, + "CreateLakeFormationOptIn":{ + "name":"CreateLakeFormationOptIn", + "http":{ + "method":"POST", + "requestUri":"/CreateLakeFormationOptIn" + }, + "input":{"shape":"CreateLakeFormationOptInRequest"}, + "output":{"shape":"CreateLakeFormationOptInResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

      Enforce Lake Formation permissions for the given databases, tables, and principals.

      " + }, "DeleteDataCellsFilter":{ "name":"DeleteDataCellsFilter", "http":{ @@ -183,6 +201,24 @@ ], "documentation":"

      Deletes the specified LF-tag given a key name. If the input parameter tag key was not found, then the operation will throw an exception. When you delete an LF-tag, the LFTagPolicy attached to the LF-tag becomes invalid. If the deleted LF-tag was still assigned to any resource, the tag policy attach to the deleted LF-tag will no longer be applied to the resource.

      " }, + "DeleteLakeFormationOptIn":{ + "name":"DeleteLakeFormationOptIn", + "http":{ + "method":"POST", + "requestUri":"/DeleteLakeFormationOptIn" + }, + "input":{"shape":"DeleteLakeFormationOptInRequest"}, + "output":{"shape":"DeleteLakeFormationOptInResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

      Remove the Lake Formation permissions enforcement of the given databases, tables, and principals.

      " + }, "DeleteObjectsOnCancel":{ "name":"DeleteObjectsOnCancel", "http":{ @@ -531,6 +567,22 @@ ], "documentation":"

      Lists LF-tags that the requester has permission to view.

      " }, + "ListLakeFormationOptIns":{ + "name":"ListLakeFormationOptIns", + "http":{ + "method":"POST", + "requestUri":"/ListLakeFormationOptIns" + }, + "input":{"shape":"ListLakeFormationOptInsRequest"}, + "output":{"shape":"ListLakeFormationOptInsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

      Retrieve the current list of resources and principals that are opt in to enforce Lake Formation permissions.

      " + }, "ListPermissions":{ "name":"ListPermissions", "http":{ @@ -1217,6 +1269,22 @@ "members":{ } }, + "CreateLakeFormationOptInRequest":{ + "type":"structure", + "required":[ + "Principal", + "Resource" + ], + "members":{ + "Principal":{"shape":"DataLakePrincipal"}, + "Resource":{"shape":"Resource"} + } + }, + "CreateLakeFormationOptInResponse":{ + "type":"structure", + "members":{ + } + }, "CredentialTimeoutDurationSecondInteger":{ "type":"integer", "box":true, @@ -1456,6 +1524,22 @@ "members":{ } }, + "DeleteLakeFormationOptInRequest":{ + "type":"structure", + "required":[ + "Principal", + "Resource" + ], + "members":{ + "Principal":{"shape":"DataLakePrincipal"}, + "Resource":{"shape":"Resource"} + } + }, + "DeleteLakeFormationOptInResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteObjectInput":{ "type":"structure", "required":["Uri"], @@ -2265,7 +2349,7 @@ }, "TagValues":{ "shape":"TagValueList", - "documentation":"

      A list of possible values an attribute can take.

      " + "documentation":"

      A list of possible values an attribute can take.

      The maximum number of values that can be defined for a LF-Tag is 1000. A single API call supports 50 values. You can use multiple API calls to add more values.

      " } }, "documentation":"

      A structure that allows an admin to grant user permissions on certain conditions. For example, granting a role access to all columns that do not have the LF-tag 'PII' in tables that have the LF-tag 'Prod'.

      " @@ -2372,6 +2456,26 @@ "max":50, "min":1 }, + "LakeFormationOptInsInfo":{ + "type":"structure", + "members":{ + "Resource":{"shape":"Resource"}, + "Principal":{"shape":"DataLakePrincipal"}, + "LastModified":{ + "shape":"LastModifiedTimestamp", + "documentation":"

      The last modified date and time of the record.

      " + }, + "LastUpdatedBy":{ + "shape":"NameString", + "documentation":"

      The user who updated the record.

      " + } + }, + "documentation":"

      A single principal-resource pair that has Lake Formation permissins enforced.

      " + }, + "LakeFormationOptInsInfoList":{ + "type":"list", + "member":{"shape":"LakeFormationOptInsInfo"} + }, "LastModifiedTimestamp":{"type":"timestamp"}, "ListDataCellsFilterRequest":{ "type":"structure", @@ -2437,6 +2541,37 @@ } } }, + "ListLakeFormationOptInsRequest":{ + "type":"structure", + "members":{ + "Principal":{"shape":"DataLakePrincipal"}, + "Resource":{ + "shape":"Resource", + "documentation":"

      A structure for the resource.

      " + }, + "MaxResults":{ + "shape":"PageSize", + "documentation":"

      The maximum number of results to return.

      " + }, + "NextToken":{ + "shape":"Token", + "documentation":"

      A continuation token, if this is not the first call to retrieve this list.

      " + } + } + }, + "ListLakeFormationOptInsResponse":{ + "type":"structure", + "members":{ + "LakeFormationOptInsInfoList":{ + "shape":"LakeFormationOptInsInfoList", + "documentation":"

      A list of principal-resource pairs that have Lake Formation permissins enforced.

      " + }, + "NextToken":{ + "shape":"Token", + "documentation":"

      A continuation token, if this is not the first call to retrieve this list.

      " + } + } + }, "ListPermissionsRequest":{ "type":"structure", "members":{ @@ -2797,6 +2932,14 @@ "AdditionalDetails":{ "shape":"DetailsMap", "documentation":"

      This attribute can be used to return any additional details of PrincipalResourcePermissions. Currently returns only as a RAM resource share ARN.

      " + }, + "LastUpdated":{ + "shape":"LastModifiedTimestamp", + "documentation":"

      The date and time when the resource was last updated.

      " + }, + "LastUpdatedBy":{ + "shape":"NameString", + "documentation":"

      The user who updated the record.

      " } }, "documentation":"

      The permissions granted or revoked on a resource.

      " @@ -2892,6 +3035,10 @@ "WithFederation":{ "shape":"NullableBoolean", "documentation":"

      Whether or not the resource is a federated resource.

      " + }, + "HybridAccessEnabled":{ + "shape":"NullableBoolean", + "documentation":"

      Specifies whether the data access of tables pointing to the location can be managed by both Lake Formation permissions as well as Amazon S3 bucket policies.

      " } } }, @@ -2987,6 +3134,10 @@ "WithFederation":{ "shape":"NullableBoolean", "documentation":"

      Whether or not the resource is a federated resource.

      " + }, + "HybridAccessEnabled":{ + "shape":"NullableBoolean", + "documentation":"

      Indicates whether the data access of tables pointing to the location can be managed by both Lake Formation permissions as well as Amazon S3 bucket policies.

      " } }, "documentation":"

      A structure containing information about an Lake Formation resource.

      " @@ -3611,6 +3762,10 @@ "WithFederation":{ "shape":"NullableBoolean", "documentation":"

      Whether or not the resource is a federated resource.

      " + }, + "HybridAccessEnabled":{ + "shape":"NullableBoolean", + "documentation":"

      Specifies whether the data access of tables pointing to the location can be managed by both Lake Formation permissions as well as Amazon S3 bucket policies.

      " } } }, diff --git a/services/lambda/pom.xml b/services/lambda/pom.xml index 7d557fd82fe0..3ae7d8b0411d 100644 --- a/services/lambda/pom.xml +++ b/services/lambda/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT lambda AWS Java SDK :: Services :: AWS Lambda diff --git a/services/lambda/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/lambda/src/main/resources/codegen-resources/endpoint-rule-set.json index c880ce66f29d..3aaddb79d50c 100644 --- a/services/lambda/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/lambda/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://lambda-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://lambda-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://lambda-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://lambda-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://lambda.{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://lambda.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://lambda.{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://lambda.{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/services/lexmodelbuilding/pom.xml b/services/lexmodelbuilding/pom.xml index 16266ce2d99e..a81e3dfc1527 100644 --- a/services/lexmodelbuilding/pom.xml +++ b/services/lexmodelbuilding/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT lexmodelbuilding AWS Java SDK :: Services :: Amazon Lex Model Building diff --git a/services/lexmodelbuilding/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/lexmodelbuilding/src/main/resources/codegen-resources/endpoint-rule-set.json index a6c1d141d0ba..ace9b14ec024 100644 --- a/services/lexmodelbuilding/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/lexmodelbuilding/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://models.lex-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://models.lex-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -247,7 +241,7 @@ } ], "endpoint": { - "url": "https://models-fips.lex.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://models-fips.lex.{Region}.amazonaws.com", "properties": {}, "headers": {} }, @@ -272,7 +266,7 @@ } ], "endpoint": { - "url": "https://models-fips.lex.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://models-fips.lex.{Region}.amazonaws.com", "properties": {}, "headers": {} }, @@ -288,78 +282,133 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseDualStack" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://models.lex.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] }, - true + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, + "aws", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsDualStack" + "name" ] } ] } ], - "type": "tree", - "rules": [ + "endpoint": { + "url": "https://models.lex.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ { - "conditions": [], - "endpoint": { - "url": "https://models.lex.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "fn": "stringEquals", + "argv": [ + "aws-us-gov", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] } - ] + ], + "endpoint": { + "url": "https://models.lex.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://models.lex.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://models.lex.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/lexmodelbuilding/src/main/resources/codegen-resources/endpoint-tests.json b/services/lexmodelbuilding/src/main/resources/codegen-resources/endpoint-tests.json index 7b78ee57c187..4efab06078ec 100644 --- a/services/lexmodelbuilding/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/lexmodelbuilding/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,42 +1,42 @@ { "testCases": [ { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://models.lex-fips.eu-central-1.api.aws" + "url": "https://models.lex.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://models-fips.lex.eu-central-1.amazonaws.com" + "url": "https://models.lex.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://models.lex.eu-central-1.api.aws" + "url": "https://models.lex.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -47,230 +47,178 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://models.lex-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://models-fips.lex.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://models.lex.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://models.lex.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://models.lex-fips.eu-west-2.api.aws" + "url": "https://models.lex.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://models-fips.lex.eu-west-2.amazonaws.com" + "url": "https://models.lex.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, "Region": "eu-west-2", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://models.lex.eu-west-2.api.aws" + "url": "https://models.lex.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://models.lex.eu-west-2.amazonaws.com" + "url": "https://models-fips.lex.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://models.lex-fips.eu-west-1.api.aws" + "url": "https://models.lex.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://models-fips.lex.eu-west-1.amazonaws.com" + "url": "https://models-fips.lex.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-west-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://models.lex.eu-west-1.api.aws" + "url": "https://models.lex-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://models.lex.eu-west-1.amazonaws.com" + "url": "https://models.lex.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://models.lex-fips.ap-northeast-1.api.aws" + "url": "https://models.lex-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://models-fips.lex.ap-northeast-1.amazonaws.com" + "url": "https://models.lex-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://models.lex.ap-northeast-1.api.aws" + "url": "https://models.lex.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://models.lex.ap-northeast-1.amazonaws.com" + "url": "https://models.lex.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://models.lex-fips.us-gov-west-1.api.aws" + "url": "https://models.lex.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, "Region": "us-gov-west-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { @@ -281,204 +229,183 @@ } }, "params": { - "UseDualStack": false, "Region": "us-gov-west-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://models.lex.us-gov-west-1.api.aws" + "url": "https://models.lex-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://models.lex.us-gov-west-1.amazonaws.com" + "url": "https://models-fips.lex.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://models.lex-fips.ap-southeast-1.api.aws" + "url": "https://models.lex.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://models-fips.lex.ap-southeast-1.amazonaws.com" + "url": "https://models.lex.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://models.lex.ap-southeast-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://models.lex.ap-southeast-1.amazonaws.com" + "url": "https://models.lex-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://models.lex-fips.ap-southeast-2.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://models-fips.lex.ap-southeast-2.amazonaws.com" + "url": "https://models.lex.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://models.lex.ap-southeast-2.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://models.lex.ap-southeast-2.amazonaws.com" + "url": "https://models.lex-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://models.lex-fips.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://models-fips.lex.us-east-1.amazonaws.com" + "url": "https://models.lex.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://models.lex.us-east-1.api.aws" + "url": "https://example.com" } }, "params": { - "UseDualStack": true, "Region": "us-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://models.lex.us-east-1.amazonaws.com" - } - }, - "params": { + "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -488,9 +415,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -500,11 +427,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/lexmodelsv2/pom.xml b/services/lexmodelsv2/pom.xml index 8870c50a4354..d009f9de8df1 100644 --- a/services/lexmodelsv2/pom.xml +++ b/services/lexmodelsv2/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT lexmodelsv2 AWS Java SDK :: Services :: Lex Models V2 diff --git a/services/lexruntime/pom.xml b/services/lexruntime/pom.xml index f65e5db74546..a3f25816ba89 100644 --- a/services/lexruntime/pom.xml +++ b/services/lexruntime/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT lexruntime AWS Java SDK :: Services :: Amazon Lex Runtime diff --git a/services/lexruntime/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/lexruntime/src/main/resources/codegen-resources/endpoint-rule-set.json index 21b015f60bf9..e18542948df4 100644 --- a/services/lexruntime/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/lexruntime/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://runtime.lex-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://runtime.lex-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -247,7 +241,7 @@ } ], "endpoint": { - "url": "https://runtime-fips.lex.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://runtime-fips.lex.{Region}.amazonaws.com", "properties": {}, "headers": {} }, @@ -272,7 +266,7 @@ } ], "endpoint": { - "url": "https://runtime-fips.lex.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://runtime-fips.lex.{Region}.amazonaws.com", "properties": {}, "headers": {} }, @@ -288,78 +282,133 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseDualStack" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://runtime.lex.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] }, - true + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, + "aws", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsDualStack" + "name" ] } ] } ], - "type": "tree", - "rules": [ + "endpoint": { + "url": "https://runtime.lex.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ { - "conditions": [], - "endpoint": { - "url": "https://runtime.lex.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "fn": "stringEquals", + "argv": [ + "aws-us-gov", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] } - ] + ], + "endpoint": { + "url": "https://runtime.lex.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://runtime.lex.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://runtime.lex.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/lexruntime/src/main/resources/codegen-resources/endpoint-tests.json b/services/lexruntime/src/main/resources/codegen-resources/endpoint-tests.json index 8e0bda202561..daa683be4e11 100644 --- a/services/lexruntime/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/lexruntime/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,42 +1,42 @@ { "testCases": [ { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime.lex-fips.eu-central-1.api.aws" + "url": "https://runtime.lex.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime-fips.lex.eu-central-1.amazonaws.com" + "url": "https://runtime.lex.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime.lex.eu-central-1.api.aws" + "url": "https://runtime.lex.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -47,230 +47,178 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://runtime.lex-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://runtime-fips.lex.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://runtime.lex.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://runtime.lex.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime.lex-fips.eu-west-2.api.aws" + "url": "https://runtime.lex.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime-fips.lex.eu-west-2.amazonaws.com" + "url": "https://runtime.lex.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, "Region": "eu-west-2", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime.lex.eu-west-2.api.aws" + "url": "https://runtime.lex.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime.lex.eu-west-2.amazonaws.com" + "url": "https://runtime-fips.lex.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime.lex-fips.eu-west-1.api.aws" + "url": "https://runtime.lex.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime-fips.lex.eu-west-1.amazonaws.com" + "url": "https://runtime-fips.lex.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-west-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://runtime.lex.eu-west-1.api.aws" + "url": "https://runtime.lex-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://runtime.lex.eu-west-1.amazonaws.com" + "url": "https://runtime.lex.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://runtime.lex-fips.ap-northeast-1.api.aws" + "url": "https://runtime.lex-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime-fips.lex.ap-northeast-1.amazonaws.com" + "url": "https://runtime.lex-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://runtime.lex.ap-northeast-1.api.aws" + "url": "https://runtime.lex.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime.lex.ap-northeast-1.amazonaws.com" + "url": "https://runtime.lex.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime.lex-fips.us-gov-west-1.api.aws" + "url": "https://runtime.lex.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, "Region": "us-gov-west-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { @@ -281,204 +229,183 @@ } }, "params": { - "UseDualStack": false, "Region": "us-gov-west-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://runtime.lex.us-gov-west-1.api.aws" + "url": "https://runtime.lex-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime.lex.us-gov-west-1.amazonaws.com" + "url": "https://runtime-fips.lex.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://runtime.lex-fips.ap-southeast-1.api.aws" + "url": "https://runtime.lex.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime-fips.lex.ap-southeast-1.amazonaws.com" + "url": "https://runtime.lex.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://runtime.lex.ap-southeast-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime.lex.ap-southeast-1.amazonaws.com" + "url": "https://runtime.lex-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://runtime.lex-fips.ap-southeast-2.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime-fips.lex.ap-southeast-2.amazonaws.com" + "url": "https://runtime.lex.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://runtime.lex.ap-southeast-2.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime.lex.ap-southeast-2.amazonaws.com" + "url": "https://runtime.lex-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://runtime.lex-fips.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime-fips.lex.us-east-1.amazonaws.com" + "url": "https://runtime.lex.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://runtime.lex.us-east-1.api.aws" + "url": "https://example.com" } }, "params": { - "UseDualStack": true, "Region": "us-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://runtime.lex.us-east-1.amazonaws.com" - } - }, - "params": { + "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -488,9 +415,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -500,11 +427,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/lexruntimev2/pom.xml b/services/lexruntimev2/pom.xml index 7cf0ac19328b..a9c867745af2 100644 --- a/services/lexruntimev2/pom.xml +++ b/services/lexruntimev2/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT lexruntimev2 AWS Java SDK :: Services :: Lex Runtime V2 diff --git a/services/lexruntimev2/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/lexruntimev2/src/main/resources/codegen-resources/endpoint-rule-set.json index 514bf9239135..20095f561a00 100644 --- a/services/lexruntimev2/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/lexruntimev2/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,64 +45,17 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "ref": "UseFIPS" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + true ] } - ] + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" }, { "conditions": [ @@ -111,19 +63,51 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "booleanEquals", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "UseDualStack" - }, - true - ] + "ref": "Region" + } + ], + "assign": "PartitionResult" } ], "type": "tree", @@ -133,90 +117,109 @@ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] }, { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://runtime-v2-lex-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://runtime-v2-lex-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -229,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://runtime-v2-lex.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://runtime-v2-lex.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://runtime-v2-lex.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://runtime-v2-lex.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/lexruntimev2/src/main/resources/codegen-resources/endpoint-tests.json b/services/lexruntimev2/src/main/resources/codegen-resources/endpoint-tests.json index eaba38fa9a19..e0b4ced4a333 100644 --- a/services/lexruntimev2/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/lexruntimev2/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,579 +1,403 @@ { "testCases": [ { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://runtime-v2-lex-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "ca-central-1" - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://runtime-v2-lex-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "ca-central-1" - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime-v2-lex.ca-central-1.api.aws" + "url": "https://runtime-v2-lex.af-south-1.amazonaws.com" } }, "params": { + "Region": "af-south-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "ca-central-1" + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime-v2-lex.ca-central-1.amazonaws.com" + "url": "https://runtime-v2-lex.ap-northeast-1.amazonaws.com" } }, "params": { + "Region": "ap-northeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ca-central-1" + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://runtime-v2-lex-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://runtime-v2-lex-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime-v2-lex.eu-central-1.api.aws" + "url": "https://runtime-v2-lex.ap-northeast-2.amazonaws.com" } }, "params": { + "Region": "ap-northeast-2", "UseFIPS": false, - "UseDualStack": true, - "Region": "eu-central-1" + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime-v2-lex.eu-central-1.amazonaws.com" + "url": "https://runtime-v2-lex.ap-southeast-1.amazonaws.com" } }, "params": { + "Region": "ap-southeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://runtime-v2-lex-fips.us-west-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "us-west-2" - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://runtime-v2-lex-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "us-west-2" - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime-v2-lex.us-west-2.api.aws" + "url": "https://runtime-v2-lex.ap-southeast-2.amazonaws.com" } }, "params": { + "Region": "ap-southeast-2", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-west-2" + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime-v2-lex.us-west-2.amazonaws.com" + "url": "https://runtime-v2-lex.ca-central-1.amazonaws.com" } }, "params": { + "Region": "ca-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-2" - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://runtime-v2-lex-fips.af-south-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "af-south-1" + "UseDualStack": false } }, { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://runtime-v2-lex-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "af-south-1" - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime-v2-lex.af-south-1.api.aws" + "url": "https://runtime-v2-lex.eu-central-1.amazonaws.com" } }, "params": { + "Region": "eu-central-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "af-south-1" + "UseDualStack": false } }, { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime-v2-lex.af-south-1.amazonaws.com" + "url": "https://runtime-v2-lex.eu-west-1.amazonaws.com" } }, "params": { + "Region": "eu-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "af-south-1" - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://runtime-v2-lex-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "eu-west-2" + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime-v2-lex-fips.eu-west-2.amazonaws.com" + "url": "https://runtime-v2-lex.eu-west-2.amazonaws.com" } }, "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "eu-west-2" + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime-v2-lex.eu-west-2.api.aws" + "url": "https://runtime-v2-lex.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "eu-west-2" + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime-v2-lex.eu-west-2.amazonaws.com" + "url": "https://runtime-v2-lex.us-west-2.amazonaws.com" } }, "params": { + "Region": "us-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-2" + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://runtime-v2-lex-fips.eu-west-1.api.aws" + "url": "https://runtime-v2-lex-fips.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "eu-west-1" + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime-v2-lex-fips.eu-west-1.amazonaws.com" + "url": "https://runtime-v2-lex-fips.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://runtime-v2-lex.eu-west-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": true, - "Region": "eu-west-1" - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://runtime-v2-lex.eu-west-1.amazonaws.com" + "url": "https://runtime-v2-lex.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-1" + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://runtime-v2-lex-fips.ap-northeast-2.api.aws" + "url": "https://runtime-v2-lex-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "ap-northeast-2" + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime-v2-lex-fips.ap-northeast-2.amazonaws.com" + "url": "https://runtime-v2-lex-fips.cn-north-1.amazonaws.com.cn" } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://runtime-v2-lex.ap-northeast-2.api.aws" + "url": "https://runtime-v2-lex.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "ap-northeast-2" + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime-v2-lex.ap-northeast-2.amazonaws.com" + "url": "https://runtime-v2-lex.cn-north-1.amazonaws.com.cn" } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://runtime-v2-lex-fips.ap-northeast-1.api.aws" + "url": "https://runtime-v2-lex-fips.us-gov-east-1.api.aws" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "ap-northeast-1" + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime-v2-lex-fips.ap-northeast-1.amazonaws.com" + "url": "https://runtime-v2-lex-fips.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://runtime-v2-lex.ap-northeast-1.api.aws" + "url": "https://runtime-v2-lex.us-gov-east-1.api.aws" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "ap-northeast-1" + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime-v2-lex.ap-northeast-1.amazonaws.com" + "url": "https://runtime-v2-lex.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://runtime-v2-lex-fips.ap-southeast-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": "ap-southeast-1" + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime-v2-lex-fips.ap-southeast-1.amazonaws.com" + "url": "https://runtime-v2-lex-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://runtime-v2-lex.ap-southeast-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": "ap-southeast-1" + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime-v2-lex.ap-southeast-1.amazonaws.com" + "url": "https://runtime-v2-lex.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://runtime-v2-lex-fips.ap-southeast-2.api.aws" - } + "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": "ap-southeast-2" + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime-v2-lex-fips.ap-southeast-2.amazonaws.com" + "url": "https://runtime-v2-lex-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://runtime-v2-lex.ap-southeast-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": true, - "Region": "ap-southeast-2" - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://runtime-v2-lex.ap-southeast-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-2" - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://runtime-v2-lex-fips.us-east-1.api.aws" - } - }, - "params": { - "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-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://runtime-v2-lex-fips.us-east-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-1" - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://runtime-v2-lex.us-east-1.api.aws" + "url": "https://runtime-v2-lex.us-isob-east-1.sc2s.sgov.gov" } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://runtime-v2-lex.us-east-1.amazonaws.com" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": false, - "Region": "us-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" @@ -582,7 +406,6 @@ "params": { "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -592,9 +415,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" } }, @@ -604,11 +427,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/services/licensemanager/pom.xml b/services/licensemanager/pom.xml index 9228078fb7b7..c846ee19303d 100644 --- a/services/licensemanager/pom.xml +++ b/services/licensemanager/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT licensemanager AWS Java SDK :: Services :: License Manager diff --git a/services/licensemanager/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/licensemanager/src/main/resources/codegen-resources/endpoint-rule-set.json index 38f0d7b62793..c5bb192c75f5 100644 --- a/services/licensemanager/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/licensemanager/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://license-manager-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://license-manager-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://license-manager-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://license-manager-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://license-manager.{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://license-manager.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://license-manager.{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://license-manager.{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/services/licensemanager/src/main/resources/codegen-resources/endpoint-tests.json b/services/licensemanager/src/main/resources/codegen-resources/endpoint-tests.json index 554e164817f2..4c031e5161b3 100644 --- a/services/licensemanager/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/licensemanager/src/main/resources/codegen-resources/endpoint-tests.json @@ -8,9 +8,9 @@ } }, "params": { + "Region": "af-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "af-south-1" + "UseDualStack": false } }, { @@ -21,9 +21,9 @@ } }, "params": { + "Region": "ap-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-east-1" + "UseDualStack": false } }, { @@ -34,9 +34,9 @@ } }, "params": { + "Region": "ap-northeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { @@ -47,9 +47,9 @@ } }, "params": { + "Region": "ap-northeast-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { @@ -60,9 +60,9 @@ } }, "params": { + "Region": "ap-northeast-3", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-3" + "UseDualStack": false } }, { @@ -73,9 +73,9 @@ } }, "params": { + "Region": "ap-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-south-1" + "UseDualStack": false } }, { @@ -86,9 +86,9 @@ } }, "params": { + "Region": "ap-southeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { @@ -99,9 +99,9 @@ } }, "params": { + "Region": "ap-southeast-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { @@ -112,9 +112,9 @@ } }, "params": { + "Region": "ap-southeast-3", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-3" + "UseDualStack": false } }, { @@ -125,9 +125,9 @@ } }, "params": { + "Region": "ca-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ca-central-1" + "UseDualStack": false } }, { @@ -138,9 +138,9 @@ } }, "params": { + "Region": "eu-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { @@ -151,9 +151,9 @@ } }, "params": { + "Region": "eu-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-north-1" + "UseDualStack": false } }, { @@ -164,9 +164,9 @@ } }, "params": { + "Region": "eu-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-south-1" + "UseDualStack": false } }, { @@ -177,9 +177,9 @@ } }, "params": { + "Region": "eu-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { @@ -190,9 +190,9 @@ } }, "params": { + "Region": "eu-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-2" + "UseDualStack": false } }, { @@ -203,9 +203,9 @@ } }, "params": { + "Region": "eu-west-3", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-3" + "UseDualStack": false } }, { @@ -216,9 +216,9 @@ } }, "params": { + "Region": "me-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "me-south-1" + "UseDualStack": false } }, { @@ -229,9 +229,9 @@ } }, "params": { + "Region": "sa-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { @@ -242,9 +242,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -255,9 +255,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -268,9 +268,9 @@ } }, "params": { + "Region": "us-east-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-2" + "UseDualStack": false } }, { @@ -281,9 +281,9 @@ } }, "params": { + "Region": "us-east-2", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-2" + "UseDualStack": false } }, { @@ -294,9 +294,9 @@ } }, "params": { + "Region": "us-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-1" + "UseDualStack": false } }, { @@ -307,9 +307,9 @@ } }, "params": { + "Region": "us-west-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-west-1" + "UseDualStack": false } }, { @@ -320,9 +320,9 @@ } }, "params": { + "Region": "us-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -333,9 +333,9 @@ } }, "params": { + "Region": "us-west-2", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -346,9 +346,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -359,9 +359,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -372,9 +372,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -385,9 +385,9 @@ } }, "params": { + "Region": "cn-northwest-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "cn-northwest-1" + "UseDualStack": false } }, { @@ -398,9 +398,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -411,9 +411,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -424,9 +424,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -437,9 +437,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -450,9 +450,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -463,9 +463,9 @@ } }, "params": { + "Region": "us-gov-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { @@ -476,9 +476,9 @@ } }, "params": { + "Region": "us-gov-west-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { @@ -489,9 +489,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -502,9 +502,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -515,9 +515,9 @@ } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { @@ -526,9 +526,9 @@ "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-iso-east-1" + "UseDualStack": true } }, { @@ -539,9 +539,9 @@ } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { @@ -550,9 +550,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-iso-east-1" + "UseDualStack": true } }, { @@ -563,9 +563,9 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -574,9 +574,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 } }, { @@ -587,9 +587,9 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -598,9 +598,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 } }, { @@ -611,9 +611,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -636,9 +636,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" } }, @@ -648,9 +648,9 @@ "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" } }, diff --git a/services/licensemanagerlinuxsubscriptions/pom.xml b/services/licensemanagerlinuxsubscriptions/pom.xml index 146abbcaaf48..f35ddeaaac64 100644 --- a/services/licensemanagerlinuxsubscriptions/pom.xml +++ b/services/licensemanagerlinuxsubscriptions/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT licensemanagerlinuxsubscriptions AWS Java SDK :: Services :: License Manager Linux Subscriptions diff --git a/services/licensemanagerlinuxsubscriptions/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/licensemanagerlinuxsubscriptions/src/main/resources/codegen-resources/endpoint-rule-set.json index c791b57af62c..df67e99d2873 100644 --- a/services/licensemanagerlinuxsubscriptions/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/licensemanagerlinuxsubscriptions/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,14 +45,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -62,67 +67,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -131,168 +111,238 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + }, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://license-manager-linux-subscriptions-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" + } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://license-manager-linux-subscriptions-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://license-manager-linux-subscriptions-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://license-manager-linux-subscriptions-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://license-manager-linux-subscriptions.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://license-manager-linux-subscriptions.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://license-manager-linux-subscriptions.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } ] }, { "conditions": [], - "endpoint": { - "url": "https://license-manager-linux-subscriptions.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } diff --git a/services/licensemanagerlinuxsubscriptions/src/main/resources/codegen-resources/endpoint-tests.json b/services/licensemanagerlinuxsubscriptions/src/main/resources/codegen-resources/endpoint-tests.json index 7a6d99eeb06c..ce540aefdc27 100644 --- a/services/licensemanagerlinuxsubscriptions/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/licensemanagerlinuxsubscriptions/src/main/resources/codegen-resources/endpoint-tests.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://license-manager-linux-subscriptions-fips.us-gov-east-1.api.aws" + "url": "https://license-manager-linux-subscriptions-fips.us-east-1.api.aws" } }, "params": { - "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "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://license-manager-linux-subscriptions-fips.us-gov-east-1.amazonaws.com" + "url": "https://license-manager-linux-subscriptions-fips.us-east-1.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "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://license-manager-linux-subscriptions.us-gov-east-1.api.aws" + "url": "https://license-manager-linux-subscriptions.us-east-1.api.aws" } }, "params": { - "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "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://license-manager-linux-subscriptions.us-gov-east-1.amazonaws.com" + "url": "https://license-manager-linux-subscriptions.us-east-1.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -61,8 +61,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -74,8 +74,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -87,8 +87,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -100,108 +100,108 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "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://license-manager-linux-subscriptions-fips.us-gov-east-1.api.aws" + } }, "params": { - "Region": "us-iso-east-1", - "UseDualStack": true, - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "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://license-manager-linux-subscriptions-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://license-manager-linux-subscriptions-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "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://license-manager-linux-subscriptions.us-gov-east-1.api.aws" + } }, "params": { - "Region": "us-iso-east-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "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://license-manager-linux-subscriptions.us-iso-east-1.c2s.ic.gov" + "url": "https://license-manager-linux-subscriptions.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "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://license-manager-linux-subscriptions-fips.us-east-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "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://license-manager-linux-subscriptions-fips.us-east-1.amazonaws.com" + "url": "https://license-manager-linux-subscriptions-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "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://license-manager-linux-subscriptions.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "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://license-manager-linux-subscriptions.us-east-1.amazonaws.com" + "url": "https://license-manager-linux-subscriptions.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -211,8 +211,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -224,8 +224,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -235,8 +235,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -248,12 +248,12 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" @@ -261,8 +261,21 @@ }, "params": { "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -273,8 +286,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -285,10 +298,16 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/licensemanagerusersubscriptions/pom.xml b/services/licensemanagerusersubscriptions/pom.xml index cabd39818aa1..9cc462d68d0a 100644 --- a/services/licensemanagerusersubscriptions/pom.xml +++ b/services/licensemanagerusersubscriptions/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT licensemanagerusersubscriptions AWS Java SDK :: Services :: License Manager User Subscriptions diff --git a/services/licensemanagerusersubscriptions/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/licensemanagerusersubscriptions/src/main/resources/codegen-resources/endpoint-rule-set.json index cce231cf0fc9..3e1310cac32a 100644 --- a/services/licensemanagerusersubscriptions/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/licensemanagerusersubscriptions/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "parseURL", + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,221 +140,175 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://license-manager-user-subscriptions-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] }, { "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] - }, + } + ], + "type": "tree", + "rules": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://license-manager-user-subscriptions-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://license-manager-user-subscriptions-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://license-manager-user-subscriptions.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://license-manager-user-subscriptions.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://license-manager-user-subscriptions.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://license-manager-user-subscriptions.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/licensemanagerusersubscriptions/src/main/resources/codegen-resources/endpoint-tests.json b/services/licensemanagerusersubscriptions/src/main/resources/codegen-resources/endpoint-tests.json index 0a5ca591c987..9b289de04c89 100644 --- a/services/licensemanagerusersubscriptions/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/licensemanagerusersubscriptions/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,1099 +1,273 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-south-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.ap-south-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-south-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.eu-south-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-south-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.eu-south-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-south-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ca-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ca-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.ca-central-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ca-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "ca-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.eu-central-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.us-west-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.us-west-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.us-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.us-west-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-west-2", - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.us-west-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-west-2", - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.us-west-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.af-south-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "af-south-1", - "UseDualStack": true - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "af-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.af-south-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "af-south-1", - "UseDualStack": true - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.af-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "af-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-north-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-north-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.eu-north-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-north-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-north-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-3", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-3", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.eu-west-3.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-3", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-3", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-2", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.eu-west-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-2", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.eu-west-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-3", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-3", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.ap-northeast-3.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-northeast-3", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-northeast-3", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-2", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-2", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.ap-northeast-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-northeast-2", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-northeast-2", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.ap-northeast-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-northeast-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-northeast-1", - "UseDualStack": false - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.me-south-1.api.aws" + "url": "https://license-manager-user-subscriptions-fips.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "Region": "me-south-1", "UseDualStack": true } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.me-south-1.amazonaws.com" + "url": "https://license-manager-user-subscriptions-fips.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "Region": "me-south-1", "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://license-manager-user-subscriptions.me-south-1.api.aws" + "url": "https://license-manager-user-subscriptions.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "Region": "me-south-1", "UseDualStack": true } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://license-manager-user-subscriptions.me-south-1.amazonaws.com" + "url": "https://license-manager-user-subscriptions.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "Region": "me-south-1", "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.sa-east-1.api.aws" + "url": "https://license-manager-user-subscriptions-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "Region": "sa-east-1", "UseDualStack": true } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.sa-east-1.amazonaws.com" + "url": "https://license-manager-user-subscriptions-fips.cn-north-1.amazonaws.com.cn" } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "Region": "sa-east-1", "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://license-manager-user-subscriptions.sa-east-1.api.aws" + "url": "https://license-manager-user-subscriptions.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "Region": "sa-east-1", "UseDualStack": true } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://license-manager-user-subscriptions.sa-east-1.amazonaws.com" + "url": "https://license-manager-user-subscriptions.cn-north-1.amazonaws.com.cn" } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "Region": "sa-east-1", "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.ap-east-1.api.aws" + "url": "https://license-manager-user-subscriptions-fips.us-gov-east-1.api.aws" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "ap-east-1", "UseDualStack": true } }, { - "documentation": "For region ap-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://license-manager-user-subscriptions-fips.ap-east-1.amazonaws.com" + "url": "https://license-manager-user-subscriptions-fips.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "ap-east-1", "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://license-manager-user-subscriptions.ap-east-1.api.aws" + "url": "https://license-manager-user-subscriptions.us-gov-east-1.api.aws" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "ap-east-1", "UseDualStack": true } }, { - "documentation": "For region ap-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://license-manager-user-subscriptions.ap-east-1.amazonaws.com" + "url": "https://license-manager-user-subscriptions.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "ap-east-1", "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.ap-southeast-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, - "Region": "ap-southeast-1", "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.ap-southeast-1.amazonaws.com" + "url": "https://license-manager-user-subscriptions-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "ap-southeast-1", "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.ap-southeast-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "ap-southeast-1", "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://license-manager-user-subscriptions.ap-southeast-1.amazonaws.com" + "url": "https://license-manager-user-subscriptions.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "ap-southeast-1", "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.ap-southeast-2.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "ap-southeast-2", "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.ap-southeast-2.amazonaws.com" + "url": "https://license-manager-user-subscriptions-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "ap-southeast-2", "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.ap-southeast-2.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "ap-southeast-2", "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://license-manager-user-subscriptions.ap-southeast-2.amazonaws.com" + "url": "https://license-manager-user-subscriptions.us-isob-east-1.sc2s.sgov.gov" } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "ap-southeast-2", - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.us-east-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-east-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.us-east-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-east-1", "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.us-east-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-east-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://license-manager-user-subscriptions.us-east-1.amazonaws.com" + "url": "https://example.com" } }, "params": { - "UseFIPS": false, "Region": "us-east-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.us-east-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-east-2", - "UseDualStack": true - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-east-2", - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.us-east-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-east-2", - "UseDualStack": true - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://license-manager-user-subscriptions.us-east-2.amazonaws.com" - } - }, - "params": { "UseFIPS": false, - "Region": "us-east-2", - "UseDualStack": false + "UseDualStack": false, + "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" @@ -1101,7 +275,6 @@ }, "params": { "UseFIPS": false, - "Region": "us-east-1", "UseDualStack": false, "Endpoint": "https://example.com" } @@ -1112,8 +285,8 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, "UseDualStack": false, "Endpoint": "https://example.com" } @@ -1124,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/lightsail/pom.xml b/services/lightsail/pom.xml index 97a075983be3..67d6714c392c 100644 --- a/services/lightsail/pom.xml +++ b/services/lightsail/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT lightsail AWS Java SDK :: Services :: Amazon Lightsail diff --git a/services/lightsail/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/lightsail/src/main/resources/codegen-resources/endpoint-rule-set.json index 9428d1992f53..7780da4900d2 100644 --- a/services/lightsail/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/lightsail/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://lightsail-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://lightsail-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://lightsail-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://lightsail-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://lightsail.{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://lightsail.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://lightsail.{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://lightsail.{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/services/location/pom.xml b/services/location/pom.xml index e23f0a7570a0..496ea18b4a8a 100644 --- a/services/location/pom.xml +++ b/services/location/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT location AWS Java SDK :: Services :: Location diff --git a/services/location/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/location/src/main/resources/codegen-resources/endpoint-rule-set.json index c27472e40291..c133b4f601f0 100644 --- a/services/location/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/location/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://geo-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://geo-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://geo-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://geo-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://geo.{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://geo.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://geo.{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://geo.{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/services/location/src/main/resources/codegen-resources/service-2.json b/services/location/src/main/resources/codegen-resources/service-2.json index dd0bb40ca067..1ca2fd443bb9 100644 --- a/services/location/src/main/resources/codegen-resources/service-2.json +++ b/services/location/src/main/resources/codegen-resources/service-2.json @@ -2360,6 +2360,10 @@ "shape":"Boolean", "documentation":"

      Whether to enable position UPDATE events from this tracker to be sent to EventBridge.

      You do not need enable this feature to get ENTER and EXIT events for geofences with this tracker. Those events are always sent to EventBridge.

      " }, + "KmsKeyEnableGeospatialQueries":{ + "shape":"Boolean", + "documentation":"

      Enables GeospatialQueries for a tracker that uses a Amazon Web Services KMS customer managed key.

      This parameter is only used if you are using a KMS customer managed key.

      If you wish to encrypt your data using your own KMS customer managed key, then the Bounding Polygon Queries feature will be disabled by default. This is because by using this feature, a representation of your device positions will not be encrypted using the your KMS managed key. The exact device position, however; is still encrypted using your managed key.

      You can choose to opt-in to the Bounding Polygon Quseries feature. This is done by setting the KmsKeyEnableGeospatialQueries parameter to true when creating or updating a Tracker.

      " + }, "KmsKeyId":{ "shape":"KmsKeyId", "documentation":"

      A key identifier for an Amazon Web Services KMS customer managed key. Enter a key ID, key ARN, alias name, or alias ARN.

      " @@ -2562,6 +2566,10 @@ "shape":"ResourceDescription", "documentation":"

      The optional description for the geofence collection.

      " }, + "GeofenceCount":{ + "shape":"DescribeGeofenceCollectionResponseGeofenceCountInteger", + "documentation":"

      The number of geofences in the geofence collection.

      " + }, "KmsKeyId":{ "shape":"KmsKeyId", "documentation":"

      A key identifier for an Amazon Web Services KMS customer managed key assigned to the Amazon Location resource

      " @@ -2588,6 +2596,11 @@ } } }, + "DescribeGeofenceCollectionResponseGeofenceCountInteger":{ + "type":"integer", + "box":true, + "min":0 + }, "DescribeKeyRequest":{ "type":"structure", "required":["KeyName"], @@ -2868,6 +2881,10 @@ "shape":"Boolean", "documentation":"

      Whether UPDATE events from this tracker in EventBridge are enabled. If set to true these events will be sent to EventBridge.

      " }, + "KmsKeyEnableGeospatialQueries":{ + "shape":"Boolean", + "documentation":"

      Enables GeospatialQueries for a tracker that uses a Amazon Web Services KMS customer managed key.

      This parameter is only used if you are using a KMS customer managed key.

      If you wish to encrypt your data using your own KMS customer managed key, then the Bounding Polygon Queries feature will be disabled by default. This is because by using this feature, a representation of your device positions will not be encrypted using the your KMS managed key. The exact device position, however; is still encrypted using your managed key.

      You can choose to opt-in to the Bounding Polygon Quseries feature. This is done by setting the KmsKeyEnableGeospatialQueries parameter to true when creating or updating a Tracker.

      " + }, "KmsKeyId":{ "shape":"KmsKeyId", "documentation":"

      A key identifier for an Amazon Web Services KMS customer managed key assigned to the Amazon Location resource.

      " @@ -3225,7 +3242,7 @@ "members":{ "FontStack":{ "shape":"String", - "documentation":"

      A comma-separated list of fonts to load glyphs from in order of preference. For example, Noto Sans Regular, Arial Unicode.

      Valid fonts stacks for Esri styles:

      • VectorEsriDarkGrayCanvas – Ubuntu Medium Italic | Ubuntu Medium | Ubuntu Italic | Ubuntu Regular | Ubuntu Bold

      • VectorEsriLightGrayCanvas – Ubuntu Italic | Ubuntu Regular | Ubuntu Light | Ubuntu Bold

      • VectorEsriTopographic – Noto Sans Italic | Noto Sans Regular | Noto Sans Bold | Noto Serif Regular | Roboto Condensed Light Italic

      • VectorEsriStreets – Arial Regular | Arial Italic | Arial Bold

      • VectorEsriNavigation – Arial Regular | Arial Italic | Arial Bold

      Valid font stacks for HERE Technologies styles:

      • VectorHereContrast – Fira GO Regular | Fira GO Bold

      • VectorHereExplore, VectorHereExploreTruck, HybridHereExploreSatellite – Fira GO Italic | Fira GO Map | Fira GO Map Bold | Noto Sans CJK JP Bold | Noto Sans CJK JP Light | Noto Sans CJK JP Regular

      Valid font stacks for GrabMaps styles:

      • VectorGrabStandardLight, VectorGrabStandardDark – Noto Sans Regular | Noto Sans Medium | Noto Sans Bold

      Valid font stacks for Open Data styles:

      • VectorOpenDataStandardLight, VectorOpenDataStandardDark, VectorOpenDataVisualizationLight, VectorOpenDataVisualizationDark – Amazon Ember Regular,Noto Sans Regular | Amazon Ember Bold,Noto Sans Bold | Amazon Ember Medium,Noto Sans Medium | Amazon Ember Regular Italic,Noto Sans Italic | Amazon Ember Condensed RC Regular,Noto Sans Regular | Amazon Ember Condensed RC Bold,Noto Sans Bold | Amazon Ember Regular,Noto Sans Regular,Noto Sans Arabic Regular | Amazon Ember Condensed RC Bold,Noto Sans Bold,Noto Sans Arabic Condensed Bold | Amazon Ember Bold,Noto Sans Bold,Noto Sans Arabic Bold | Amazon Ember Regular Italic,Noto Sans Italic,Noto Sans Arabic Regular | Amazon Ember Condensed RC Regular,Noto Sans Regular,Noto Sans Arabic Condensed Regular | Amazon Ember Medium,Noto Sans Medium,Noto Sans Arabic Medium

      The fonts used by the Open Data map styles are combined fonts that use Amazon Ember for most glyphs but Noto Sans for glyphs unsupported by Amazon Ember.

      ", + "documentation":"

      A comma-separated list of fonts to load glyphs from in order of preference. For example, Noto Sans Regular, Arial Unicode.

      Valid font stacks for Esri styles:

      • VectorEsriDarkGrayCanvas – Ubuntu Medium Italic | Ubuntu Medium | Ubuntu Italic | Ubuntu Regular | Ubuntu Bold

      • VectorEsriLightGrayCanvas – Ubuntu Italic | Ubuntu Regular | Ubuntu Light | Ubuntu Bold

      • VectorEsriTopographic – Noto Sans Italic | Noto Sans Regular | Noto Sans Bold | Noto Serif Regular | Roboto Condensed Light Italic

      • VectorEsriStreets – Arial Regular | Arial Italic | Arial Bold

      • VectorEsriNavigation – Arial Regular | Arial Italic | Arial Bold

      Valid font stacks for HERE Technologies styles:

      • VectorHereContrast – Fira GO Regular | Fira GO Bold

      • VectorHereExplore, VectorHereExploreTruck, HybridHereExploreSatellite – Fira GO Italic | Fira GO Map | Fira GO Map Bold | Noto Sans CJK JP Bold | Noto Sans CJK JP Light | Noto Sans CJK JP Regular

      Valid font stacks for GrabMaps styles:

      • VectorGrabStandardLight, VectorGrabStandardDark – Noto Sans Regular | Noto Sans Medium | Noto Sans Bold

      Valid font stacks for Open Data styles:

      • VectorOpenDataStandardLight, VectorOpenDataStandardDark, VectorOpenDataVisualizationLight, VectorOpenDataVisualizationDark – Amazon Ember Regular,Noto Sans Regular | Amazon Ember Bold,Noto Sans Bold | Amazon Ember Medium,Noto Sans Medium | Amazon Ember Regular Italic,Noto Sans Italic | Amazon Ember Condensed RC Regular,Noto Sans Regular | Amazon Ember Condensed RC Bold,Noto Sans Bold | Amazon Ember Regular,Noto Sans Regular,Noto Sans Arabic Regular | Amazon Ember Condensed RC Bold,Noto Sans Bold,Noto Sans Arabic Condensed Bold | Amazon Ember Bold,Noto Sans Bold,Noto Sans Arabic Bold | Amazon Ember Regular Italic,Noto Sans Italic,Noto Sans Arabic Regular | Amazon Ember Condensed RC Regular,Noto Sans Regular,Noto Sans Arabic Condensed Regular | Amazon Ember Medium,Noto Sans Medium,Noto Sans Arabic Medium

      The fonts used by the Open Data map styles are combined fonts that use Amazon Ember for most glyphs but Noto Sans for glyphs unsupported by Amazon Ember.

      ", "location":"uri", "locationName":"FontStack" }, @@ -3608,6 +3625,10 @@ "type":"structure", "required":["TrackerName"], "members":{ + "FilterGeometry":{ + "shape":"TrackingFilterGeometry", + "documentation":"

      The geomerty used to filter device positions.

      " + }, "MaxResults":{ "shape":"ListDevicePositionsRequestMaxResultsInteger", "documentation":"

      An optional limit for the number of entries returned in a single call.

      Default value: 100

      " @@ -3636,7 +3657,7 @@ "members":{ "Entries":{ "shape":"ListDevicePositionsResponseEntryList", - "documentation":"

      Contains details about each device's last known position. These details includes the device ID, the time when the position was sampled on the device, the time that the service received the update, and the most recent coordinates.

      " + "documentation":"

      Contains details about each device's last known position.

      " }, "NextToken":{ "shape":"Token", @@ -5200,6 +5221,16 @@ "max":2000, "min":1 }, + "TrackingFilterGeometry":{ + "type":"structure", + "members":{ + "Polygon":{ + "shape":"LinearRings", + "documentation":"

      The set of arrays which define the polygon. A polygon can have between 4 and 1000 vertices.

      " + } + }, + "documentation":"

      The geomerty used to filter device positions.

      " + }, "TravelMode":{ "type":"string", "enum":[ @@ -5548,6 +5579,10 @@ "shape":"Boolean", "documentation":"

      Whether to enable position UPDATE events from this tracker to be sent to EventBridge.

      You do not need enable this feature to get ENTER and EXIT events for geofences with this tracker. Those events are always sent to EventBridge.

      " }, + "KmsKeyEnableGeospatialQueries":{ + "shape":"Boolean", + "documentation":"

      Enables GeospatialQueries for a tracker that uses a Amazon Web Services KMS customer managed key.

      This parameter is only used if you are using a KMS customer managed key.

      " + }, "PositionFiltering":{ "shape":"PositionFiltering", "documentation":"

      Updates the position filtering for the tracker resource.

      Valid values:

      • TimeBased - Location updates are evaluated against linked geofence collections, but not every location update is stored. If your update frequency is more often than 30 seconds, only one update per 30 seconds is stored for each unique device ID.

      • DistanceBased - If the device has moved less than 30 m (98.4 ft), location updates are ignored. Location updates within this distance are neither evaluated against linked geofence collections, nor stored. This helps control costs by reducing the number of geofence evaluations and historical device positions to paginate through. Distance-based filtering can also reduce the effects of GPS noise when displaying device trajectories on a map.

      • AccuracyBased - If the device has moved less than the measured accuracy, location updates are ignored. For example, if two consecutive updates from a device have a horizontal accuracy of 5 m and 10 m, the second update is ignored if the device has moved less than 15 m. Ignored location updates are neither evaluated against linked geofence collections, nor stored. This helps educe the effects of GPS noise when displaying device trajectories on a map, and can help control costs by reducing the number of geofence evaluations.

      " diff --git a/services/lookoutequipment/pom.xml b/services/lookoutequipment/pom.xml index b9825ec05bd5..a5f2ca9e9324 100644 --- a/services/lookoutequipment/pom.xml +++ b/services/lookoutequipment/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT lookoutequipment AWS Java SDK :: Services :: Lookout Equipment diff --git a/services/lookoutequipment/src/main/resources/codegen-resources/paginators-1.json b/services/lookoutequipment/src/main/resources/codegen-resources/paginators-1.json index 18e13f7d3a97..299bf028ebe1 100644 --- a/services/lookoutequipment/src/main/resources/codegen-resources/paginators-1.json +++ b/services/lookoutequipment/src/main/resources/codegen-resources/paginators-1.json @@ -45,6 +45,11 @@ "output_token": "NextToken", "limit_key": "MaxResults" }, + "ListRetrainingSchedulers": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, "ListSensorStatistics": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/services/lookoutequipment/src/main/resources/codegen-resources/service-2.json b/services/lookoutequipment/src/main/resources/codegen-resources/service-2.json index e6a07920eaa1..185149e6b3ff 100644 --- a/services/lookoutequipment/src/main/resources/codegen-resources/service-2.json +++ b/services/lookoutequipment/src/main/resources/codegen-resources/service-2.json @@ -104,7 +104,25 @@ {"shape":"ResourceNotFoundException"}, {"shape":"AccessDeniedException"} ], - "documentation":"

      Creates an ML model for data inference.

      A machine-learning (ML) model is a mathematical model that finds patterns in your data. In Amazon Lookout for Equipment, the model learns the patterns of normal behavior and detects abnormal behavior that could be potential equipment failure (or maintenance events). The models are made by analyzing normal data and abnormalities in machine behavior that have already occurred.

      Your model is trained using a portion of the data from your dataset and uses that data to learn patterns of normal behavior and abnormal patterns that lead to equipment failure. Another portion of the data is used to evaluate the model's accuracy.

      " + "documentation":"

      Creates a machine learning model for data inference.

      A machine-learning (ML) model is a mathematical model that finds patterns in your data. In Amazon Lookout for Equipment, the model learns the patterns of normal behavior and detects abnormal behavior that could be potential equipment failure (or maintenance events). The models are made by analyzing normal data and abnormalities in machine behavior that have already occurred.

      Your model is trained using a portion of the data from your dataset and uses that data to learn patterns of normal behavior and abnormal patterns that lead to equipment failure. Another portion of the data is used to evaluate the model's accuracy.

      " + }, + "CreateRetrainingScheduler":{ + "name":"CreateRetrainingScheduler", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateRetrainingSchedulerRequest"}, + "output":{"shape":"CreateRetrainingSchedulerResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Creates a retraining scheduler on the specified model.

      " }, "DeleteDataset":{ "name":"DeleteDataset", @@ -138,7 +156,7 @@ {"shape":"AccessDeniedException"}, {"shape":"InternalServerException"} ], - "documentation":"

      Deletes an inference scheduler that has been set up. Already processed output results are not affected.

      " + "documentation":"

      Deletes an inference scheduler that has been set up. Prior inference results will not be deleted.

      " }, "DeleteLabel":{ "name":"DeleteLabel", @@ -189,7 +207,7 @@ {"shape":"AccessDeniedException"}, {"shape":"ValidationException"} ], - "documentation":"

      Deletes an ML model currently available for Amazon Lookout for Equipment. This will prevent it from being used with an inference scheduler, even one that is already set up.

      " + "documentation":"

      Deletes a machine learning model currently available for Amazon Lookout for Equipment. This will prevent it from being used with an inference scheduler, even one that is already set up.

      " }, "DeleteResourcePolicy":{ "name":"DeleteResourcePolicy", @@ -208,6 +226,23 @@ ], "documentation":"

      Deletes the resource policy attached to the resource.

      " }, + "DeleteRetrainingScheduler":{ + "name":"DeleteRetrainingScheduler", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRetrainingSchedulerRequest"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Deletes a retraining scheduler from a model. The retraining scheduler must be in the STOPPED status.

      " + }, "DescribeDataIngestionJob":{ "name":"DescribeDataIngestionJob", "http":{ @@ -308,7 +343,7 @@ {"shape":"AccessDeniedException"}, {"shape":"InternalServerException"} ], - "documentation":"

      Provides a JSON containing the overall information about a specific ML model, including model name and ARN, dataset, training and evaluation information, status, and so on.

      " + "documentation":"

      Provides a JSON containing the overall information about a specific machine learning model, including model name and ARN, dataset, training and evaluation information, status, and so on.

      " }, "DescribeModelVersion":{ "name":"DescribeModelVersion", @@ -344,6 +379,23 @@ ], "documentation":"

      Provides the details of a resource policy attached to a resource.

      " }, + "DescribeRetrainingScheduler":{ + "name":"DescribeRetrainingScheduler", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeRetrainingSchedulerRequest"}, + "output":{"shape":"DescribeRetrainingSchedulerResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Provides a description of the retraining scheduler, including information such as the model name and retraining parameters.

      " + }, "ImportDataset":{ "name":"ImportDataset", "http":{ @@ -529,6 +581,22 @@ ], "documentation":"

      Generates a list of all models in the account, including model name and ARN, dataset, and status.

      " }, + "ListRetrainingSchedulers":{ + "name":"ListRetrainingSchedulers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRetrainingSchedulersRequest"}, + "output":{"shape":"ListRetrainingSchedulersResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Lists all retraining schedulers in your account, filtering by model name prefix and status.

      " + }, "ListSensorStatistics":{ "name":"ListSensorStatistics", "http":{ @@ -619,6 +687,24 @@ ], "documentation":"

      Starts an inference scheduler.

      " }, + "StartRetrainingScheduler":{ + "name":"StartRetrainingScheduler", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartRetrainingSchedulerRequest"}, + "output":{"shape":"StartRetrainingSchedulerResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Starts a retraining scheduler.

      " + }, "StopInferenceScheduler":{ "name":"StopInferenceScheduler", "http":{ @@ -637,6 +723,24 @@ ], "documentation":"

      Stops an inference scheduler.

      " }, + "StopRetrainingScheduler":{ + "name":"StopRetrainingScheduler", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopRetrainingSchedulerRequest"}, + "output":{"shape":"StopRetrainingSchedulerResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Stops a retraining scheduler.

      " + }, "TagResource":{ "name":"TagResource", "http":{ @@ -723,6 +827,40 @@ {"shape":"InternalServerException"} ], "documentation":"

      Updates the label group.

      " + }, + "UpdateModel":{ + "name":"UpdateModel", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateModelRequest"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Updates a model in the account.

      " + }, + "UpdateRetrainingScheduler":{ + "name":"UpdateRetrainingScheduler", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRetrainingSchedulerRequest"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

      Updates a retraining scheduler.

      " } }, "shapes":{ @@ -740,6 +878,21 @@ "max":1011, "min":1 }, + "AutoPromotionResult":{ + "type":"string", + "enum":[ + "MODEL_PROMOTED", + "MODEL_NOT_PROMOTED", + "RETRAINING_INTERNAL_ERROR", + "RETRAINING_CUSTOMER_ERROR", + "RETRAINING_CANCELLED" + ] + }, + "AutoPromotionResultReason":{ + "type":"string", + "max":256, + "min":1 + }, "Boolean":{"type":"boolean"}, "BoundedLengthString":{ "type":"string", @@ -868,7 +1021,7 @@ "members":{ "ModelName":{ "shape":"ModelName", - "documentation":"

      The name of the previously trained ML model being used to create the inference scheduler.

      " + "documentation":"

      The name of the previously trained machine learning model being used to create the inference scheduler.

      " }, "InferenceSchedulerName":{ "shape":"InferenceSchedulerName", @@ -1029,19 +1182,19 @@ "members":{ "ModelName":{ "shape":"ModelName", - "documentation":"

      The name for the ML model to be created.

      " + "documentation":"

      The name for the machine learning model to be created.

      " }, "DatasetName":{ "shape":"DatasetIdentifier", - "documentation":"

      The name of the dataset for the ML model being created.

      " + "documentation":"

      The name of the dataset for the machine learning model being created.

      " }, "DatasetSchema":{ "shape":"DatasetSchema", - "documentation":"

      The data schema for the ML model being created.

      " + "documentation":"

      The data schema for the machine learning model being created.

      " }, "LabelsInputConfiguration":{ "shape":"LabelsInputConfiguration", - "documentation":"

      The input configuration for the labels being used for the ML model that's being created.

      " + "documentation":"

      The input configuration for the labels being used for the machine learning model that's being created.

      " }, "ClientToken":{ "shape":"IdempotenceToken", @@ -1050,23 +1203,23 @@ }, "TrainingDataStartTime":{ "shape":"Timestamp", - "documentation":"

      Indicates the time reference in the dataset that should be used to begin the subset of training data for the ML model.

      " + "documentation":"

      Indicates the time reference in the dataset that should be used to begin the subset of training data for the machine learning model.

      " }, "TrainingDataEndTime":{ "shape":"Timestamp", - "documentation":"

      Indicates the time reference in the dataset that should be used to end the subset of training data for the ML model.

      " + "documentation":"

      Indicates the time reference in the dataset that should be used to end the subset of training data for the machine learning model.

      " }, "EvaluationDataStartTime":{ "shape":"Timestamp", - "documentation":"

      Indicates the time reference in the dataset that should be used to begin the subset of evaluation data for the ML model.

      " + "documentation":"

      Indicates the time reference in the dataset that should be used to begin the subset of evaluation data for the machine learning model.

      " }, "EvaluationDataEndTime":{ "shape":"Timestamp", - "documentation":"

      Indicates the time reference in the dataset that should be used to end the subset of evaluation data for the ML model.

      " + "documentation":"

      Indicates the time reference in the dataset that should be used to end the subset of evaluation data for the machine learning model.

      " }, "RoleArn":{ "shape":"IamRoleArn", - "documentation":"

      The Amazon Resource Name (ARN) of a role with permission to access the data source being used to create the ML model.

      " + "documentation":"

      The Amazon Resource Name (ARN) of a role with permission to access the data source being used to create the machine learning model.

      " }, "DataPreProcessingConfiguration":{ "shape":"DataPreProcessingConfiguration", @@ -1078,7 +1231,7 @@ }, "Tags":{ "shape":"TagList", - "documentation":"

      Any tags associated with the ML model being created.

      " + "documentation":"

      Any tags associated with the machine learning model being created.

      " }, "OffCondition":{ "shape":"OffCondition", @@ -1099,6 +1252,59 @@ } } }, + "CreateRetrainingSchedulerRequest":{ + "type":"structure", + "required":[ + "ModelName", + "RetrainingFrequency", + "LookbackWindow", + "ClientToken" + ], + "members":{ + "ModelName":{ + "shape":"ModelName", + "documentation":"

      The name of the model to add the retraining scheduler to.

      " + }, + "RetrainingStartDate":{ + "shape":"Timestamp", + "documentation":"

      The start date for the retraining scheduler. Lookout for Equipment truncates the time you provide to the nearest UTC day.

      " + }, + "RetrainingFrequency":{ + "shape":"RetrainingFrequency", + "documentation":"

      This parameter uses the ISO 8601 standard to set the frequency at which you want retraining to occur in terms of Years, Months, and/or Days (note: other parameters like Time are not currently supported). The minimum value is 30 days (P30D) and the maximum value is 1 year (P1Y). For example, the following values are valid:

      • P3M15D – Every 3 months and 15 days

      • P2M – Every 2 months

      • P150D – Every 150 days

      " + }, + "LookbackWindow":{ + "shape":"LookbackWindow", + "documentation":"

      The number of past days of data that will be used for retraining.

      " + }, + "PromoteMode":{ + "shape":"ModelPromoteMode", + "documentation":"

      Indicates how the service will use new models. In MANAGED mode, new models will automatically be used for inference if they have better performance than the current model. In MANUAL mode, the new models will not be used until they are manually activated.

      " + }, + "ClientToken":{ + "shape":"IdempotenceToken", + "documentation":"

      A unique identifier for the request. If you do not set the client request token, Amazon Lookout for Equipment generates one.

      ", + "idempotencyToken":true + } + } + }, + "CreateRetrainingSchedulerResponse":{ + "type":"structure", + "members":{ + "ModelName":{ + "shape":"ModelName", + "documentation":"

      The name of the model that you added the retraining scheduler to.

      " + }, + "ModelArn":{ + "shape":"ModelArn", + "documentation":"

      The ARN of the model that you added the retraining scheduler to.

      " + }, + "Status":{ + "shape":"RetrainingSchedulerStatus", + "documentation":"

      The status of the retraining scheduler.

      " + } + } + }, "DataDelayOffsetInMinutes":{ "type":"long", "max":60, @@ -1214,7 +1420,7 @@ "members":{ "InlineDataSchema":{ "shape":"InlineDataSchema", - "documentation":"

      ", + "documentation":"

      The data schema used within the given dataset.

      ", "jsonvalue":true } }, @@ -1308,7 +1514,7 @@ "members":{ "ModelName":{ "shape":"ModelName", - "documentation":"

      The name of the ML model to be deleted.

      " + "documentation":"

      The name of the machine learning model to be deleted.

      " } } }, @@ -1322,6 +1528,16 @@ } } }, + "DeleteRetrainingSchedulerRequest":{ + "type":"structure", + "required":["ModelName"], + "members":{ + "ModelName":{ + "shape":"ModelName", + "documentation":"

      The name of the model whose retraining scheduler you want to delete.

      " + } + } + }, "DescribeDataIngestionJobRequest":{ "type":"structure", "required":["JobId"], @@ -1477,11 +1693,11 @@ "members":{ "ModelArn":{ "shape":"ModelArn", - "documentation":"

      The Amazon Resource Name (ARN) of the ML model of the inference scheduler being described.

      " + "documentation":"

      The Amazon Resource Name (ARN) of the machine learning model of the inference scheduler being described.

      " }, "ModelName":{ "shape":"ModelName", - "documentation":"

      The name of the ML model of the inference scheduler being described.

      " + "documentation":"

      The name of the machine learning model of the inference scheduler being described.

      " }, "InferenceSchedulerName":{ "shape":"InferenceSchedulerName", @@ -1636,7 +1852,7 @@ "members":{ "ModelName":{ "shape":"ModelName", - "documentation":"

      The name of the ML model to be described.

      " + "documentation":"

      The name of the machine learning model to be described.

      " } } }, @@ -1645,19 +1861,19 @@ "members":{ "ModelName":{ "shape":"ModelName", - "documentation":"

      The name of the ML model being described.

      " + "documentation":"

      The name of the machine learning model being described.

      " }, "ModelArn":{ "shape":"ModelArn", - "documentation":"

      The Amazon Resource Name (ARN) of the ML model being described.

      " + "documentation":"

      The Amazon Resource Name (ARN) of the machine learning model being described.

      " }, "DatasetName":{ "shape":"DatasetName", - "documentation":"

      The name of the dataset being used by the ML being described.

      " + "documentation":"

      The name of the dataset being used by the machine learning being described.

      " }, "DatasetArn":{ "shape":"DatasetArn", - "documentation":"

      The Amazon Resouce Name (ARN) of the dataset used to create the ML model being described.

      " + "documentation":"

      The Amazon Resouce Name (ARN) of the dataset used to create the machine learning model being described.

      " }, "Schema":{ "shape":"InlineDataSchema", @@ -1670,23 +1886,23 @@ }, "TrainingDataStartTime":{ "shape":"Timestamp", - "documentation":"

      Indicates the time reference in the dataset that was used to begin the subset of training data for the ML model.

      " + "documentation":"

      Indicates the time reference in the dataset that was used to begin the subset of training data for the machine learning model.

      " }, "TrainingDataEndTime":{ "shape":"Timestamp", - "documentation":"

      Indicates the time reference in the dataset that was used to end the subset of training data for the ML model.

      " + "documentation":"

      Indicates the time reference in the dataset that was used to end the subset of training data for the machine learning model.

      " }, "EvaluationDataStartTime":{ "shape":"Timestamp", - "documentation":"

      Indicates the time reference in the dataset that was used to begin the subset of evaluation data for the ML model.

      " + "documentation":"

      Indicates the time reference in the dataset that was used to begin the subset of evaluation data for the machine learning model.

      " }, "EvaluationDataEndTime":{ "shape":"Timestamp", - "documentation":"

      Indicates the time reference in the dataset that was used to end the subset of evaluation data for the ML model.

      " + "documentation":"

      Indicates the time reference in the dataset that was used to end the subset of evaluation data for the machine learning model.

      " }, "RoleArn":{ "shape":"IamRoleArn", - "documentation":"

      The Amazon Resource Name (ARN) of a role with permission to access the data source for the ML model being described.

      " + "documentation":"

      The Amazon Resource Name (ARN) of a role with permission to access the data source for the machine learning model being described.

      " }, "DataPreProcessingConfiguration":{ "shape":"DataPreProcessingConfiguration", @@ -1698,15 +1914,15 @@ }, "TrainingExecutionStartTime":{ "shape":"Timestamp", - "documentation":"

      Indicates the time at which the training of the ML model began.

      " + "documentation":"

      Indicates the time at which the training of the machine learning model began.

      " }, "TrainingExecutionEndTime":{ "shape":"Timestamp", - "documentation":"

      Indicates the time at which the training of the ML model was completed.

      " + "documentation":"

      Indicates the time at which the training of the machine learning model was completed.

      " }, "FailedReason":{ "shape":"BoundedLengthString", - "documentation":"

      If the training of the ML model failed, this indicates the reason for that failure.

      " + "documentation":"

      If the training of the machine learning model failed, this indicates the reason for that failure.

      " }, "ModelMetrics":{ "shape":"ModelMetrics", @@ -1715,11 +1931,11 @@ }, "LastUpdatedTime":{ "shape":"Timestamp", - "documentation":"

      Indicates the last time the ML model was updated. The type of update is not specified.

      " + "documentation":"

      Indicates the last time the machine learning model was updated. The type of update is not specified.

      " }, "CreatedAt":{ "shape":"Timestamp", - "documentation":"

      Indicates the time and date at which the ML model was created.

      " + "documentation":"

      Indicates the time and date at which the machine learning model was created.

      " }, "ServerSideKmsKeyId":{ "shape":"KmsKeyArn", @@ -1764,6 +1980,47 @@ "PreviousModelVersionActivatedAt":{ "shape":"Timestamp", "documentation":"

      The date and time when the previous active model version was activated.

      " + }, + "PriorModelMetrics":{ + "shape":"ModelMetrics", + "documentation":"

      If the model version was retrained, this field shows a summary of the performance of the prior model on the new training range. You can use the information in this JSON-formatted object to compare the new model version and the prior model version.

      ", + "jsonvalue":true + }, + "LatestScheduledRetrainingFailedReason":{ + "shape":"BoundedLengthString", + "documentation":"

      If the model version was generated by retraining and the training failed, this indicates the reason for that failure.

      " + }, + "LatestScheduledRetrainingStatus":{ + "shape":"ModelVersionStatus", + "documentation":"

      Indicates the status of the most recent scheduled retraining run.

      " + }, + "LatestScheduledRetrainingModelVersion":{ + "shape":"ModelVersion", + "documentation":"

      Indicates the most recent model version that was generated by retraining.

      " + }, + "LatestScheduledRetrainingStartTime":{ + "shape":"Timestamp", + "documentation":"

      Indicates the start time of the most recent scheduled retraining run.

      " + }, + "LatestScheduledRetrainingAvailableDataInDays":{ + "shape":"Integer", + "documentation":"

      Indicates the number of days of data used in the most recent scheduled retraining run.

      " + }, + "NextScheduledRetrainingStartDate":{ + "shape":"Timestamp", + "documentation":"

      Indicates the date and time that the next scheduled retraining run will start on. Lookout for Equipment truncates the time you provide to the nearest UTC day.

      " + }, + "AccumulatedInferenceDataStartTime":{ + "shape":"Timestamp", + "documentation":"

      Indicates the start time of the inference data that has been accumulated.

      " + }, + "AccumulatedInferenceDataEndTime":{ + "shape":"Timestamp", + "documentation":"

      Indicates the end time of the inference data that has been accumulated.

      " + }, + "RetrainingSchedulerStatus":{ + "shape":"RetrainingSchedulerStatus", + "documentation":"

      Indicates the status of the retraining scheduler.

      " } } }, @@ -1892,6 +2149,22 @@ "ImportedDataSizeInBytes":{ "shape":"DataSizeInBytes", "documentation":"

      The size in bytes of the imported data. This field appears if the model version was imported.

      " + }, + "PriorModelMetrics":{ + "shape":"ModelMetrics", + "documentation":"

      If the model version was retrained, this field shows a summary of the performance of the prior model on the new training range. You can use the information in this JSON-formatted object to compare the new model version and the prior model version.

      " + }, + "RetrainingAvailableDataInDays":{ + "shape":"Integer", + "documentation":"

      Indicates the number of days of data used in the most recent scheduled retraining run.

      " + }, + "AutoPromotionResult":{ + "shape":"AutoPromotionResult", + "documentation":"

      Indicates whether the model version was promoted to be the active version after retraining or if there was an error with or cancellation of the retraining.

      " + }, + "AutoPromotionResultReason":{ + "shape":"AutoPromotionResultReason", + "documentation":"

      Indicates the reason for the AutoPromotionResult. For example, a model might not be promoted if its performance was worse than the active version, if there was an error during training, or if the retraining scheduler was using MANUAL promote mode. The model will be promoted in MANAGED promote mode if the performance is better than the previous model.

      " } } }, @@ -1926,6 +2199,57 @@ } } }, + "DescribeRetrainingSchedulerRequest":{ + "type":"structure", + "required":["ModelName"], + "members":{ + "ModelName":{ + "shape":"ModelName", + "documentation":"

      The name of the model that the retraining scheduler is attached to.

      " + } + } + }, + "DescribeRetrainingSchedulerResponse":{ + "type":"structure", + "members":{ + "ModelName":{ + "shape":"ModelName", + "documentation":"

      The name of the model that the retraining scheduler is attached to.

      " + }, + "ModelArn":{ + "shape":"ModelArn", + "documentation":"

      The ARN of the model that the retraining scheduler is attached to.

      " + }, + "RetrainingStartDate":{ + "shape":"Timestamp", + "documentation":"

      The start date for the retraining scheduler. Lookout for Equipment truncates the time you provide to the nearest UTC day.

      " + }, + "RetrainingFrequency":{ + "shape":"RetrainingFrequency", + "documentation":"

      The frequency at which the model retraining is set. This follows the ISO 8601 guidelines.

      " + }, + "LookbackWindow":{ + "shape":"LookbackWindow", + "documentation":"

      The number of past days of data used for retraining.

      " + }, + "Status":{ + "shape":"RetrainingSchedulerStatus", + "documentation":"

      The status of the retraining scheduler.

      " + }, + "PromoteMode":{ + "shape":"ModelPromoteMode", + "documentation":"

      Indicates how the service uses new models. In MANAGED mode, new models are used for inference if they have better performance than the current model. In MANUAL mode, the new models are not used until they are manually activated.

      " + }, + "CreatedAt":{ + "shape":"Timestamp", + "documentation":"

      Indicates the time and date at which the retraining scheduler was created.

      " + }, + "UpdatedAt":{ + "shape":"Timestamp", + "documentation":"

      Indicates the time and date at which the retraining scheduler was updated.

      " + } + } + }, "DuplicateTimestamps":{ "type":"structure", "required":["TotalNumberOfDuplicateTimestamps"], @@ -2064,6 +2388,10 @@ "Tags":{ "shape":"TagList", "documentation":"

      The tags associated with the machine learning model to be created.

      " + }, + "InferenceDataImportStrategy":{ + "shape":"InferenceDataImportStrategy", + "documentation":"

      Indicates how to import the accumulated inference data when a model version is imported. The possible values are as follows:

      • NO_IMPORT – Don't import the data.

      • ADD_WHEN_EMPTY – Only import the data from the source model if there is no existing data in the target model.

      • OVERWRITE – Import the data from the source model and overwrite the existing data in the target model.

      " } } }, @@ -2092,6 +2420,14 @@ } } }, + "InferenceDataImportStrategy":{ + "type":"string", + "enum":[ + "NO_IMPORT", + "ADD_WHEN_EMPTY", + "OVERWRITE" + ] + }, "InferenceEventSummaries":{ "type":"list", "member":{"shape":"InferenceEventSummary"} @@ -2143,11 +2479,11 @@ "members":{ "ModelName":{ "shape":"ModelName", - "documentation":"

      The name of the ML model being used for the inference execution.

      " + "documentation":"

      The name of the machine learning model being used for the inference execution.

      " }, "ModelArn":{ "shape":"ModelArn", - "documentation":"

      The Amazon Resource Name (ARN) of the ML model used for the inference execution.

      " + "documentation":"

      The Amazon Resource Name (ARN) of the machine learning model used for the inference execution.

      " }, "InferenceSchedulerName":{ "shape":"InferenceSchedulerName", @@ -2179,7 +2515,7 @@ }, "CustomerResultObject":{ "shape":"S3Object", - "documentation":"

      " + "documentation":"

      The S3 object that the inference execution results were uploaded to.

      " }, "Status":{ "shape":"InferenceExecutionStatus", @@ -2188,6 +2524,14 @@ "FailedReason":{ "shape":"BoundedLengthString", "documentation":"

      Specifies the reason for failure when an inference execution has failed.

      " + }, + "ModelVersion":{ + "shape":"ModelVersion", + "documentation":"

      The model version used for the inference execution.

      " + }, + "ModelVersionArn":{ + "shape":"ModelVersionArn", + "documentation":"

      The Amazon Resource Number (ARN) of the model version used for the inference execution.

      " } }, "documentation":"

      Contains information about the specific inference execution, including input and output data configuration, inference scheduling information, status, and so on.

      " @@ -2305,11 +2649,11 @@ "members":{ "ModelName":{ "shape":"ModelName", - "documentation":"

      The name of the ML model used for the inference scheduler.

      " + "documentation":"

      The name of the machine learning model used for the inference scheduler.

      " }, "ModelArn":{ "shape":"ModelArn", - "documentation":"

      The Amazon Resource Name (ARN) of the ML model used by the inference scheduler.

      " + "documentation":"

      The Amazon Resource Name (ARN) of the machine learning model used by the inference scheduler.

      " }, "InferenceSchedulerName":{ "shape":"InferenceSchedulerName", @@ -2786,7 +3130,7 @@ }, "ModelName":{ "shape":"ModelName", - "documentation":"

      The name of the ML model used by the inference scheduler to be listed.

      " + "documentation":"

      The name of the machine learning model used by the inference scheduler to be listed.

      " }, "Status":{ "shape":"InferenceSchedulerStatus", @@ -2944,23 +3288,23 @@ "members":{ "NextToken":{ "shape":"NextToken", - "documentation":"

      An opaque pagination token indicating where to continue the listing of ML models.

      " + "documentation":"

      An opaque pagination token indicating where to continue the listing of machine learning models.

      " }, "MaxResults":{ "shape":"MaxResults", - "documentation":"

      Specifies the maximum number of ML models to list.

      " + "documentation":"

      Specifies the maximum number of machine learning models to list.

      " }, "Status":{ "shape":"ModelStatus", - "documentation":"

      The status of the ML model.

      " + "documentation":"

      The status of the machine learning model.

      " }, "ModelNameBeginsWith":{ "shape":"ModelName", - "documentation":"

      The beginning of the name of the ML models being listed.

      " + "documentation":"

      The beginning of the name of the machine learning models being listed.

      " }, "DatasetNameBeginsWith":{ "shape":"DatasetName", - "documentation":"

      The beginning of the name of the dataset of the ML models to be listed.

      " + "documentation":"

      The beginning of the name of the dataset of the machine learning models to be listed.

      " } } }, @@ -2969,7 +3313,7 @@ "members":{ "NextToken":{ "shape":"NextToken", - "documentation":"

      An opaque pagination token indicating where to continue the listing of ML models.

      " + "documentation":"

      An opaque pagination token indicating where to continue the listing of machine learning models.

      " }, "ModelSummaries":{ "shape":"ModelSummaries", @@ -2982,6 +3326,40 @@ "member":{"shape":"S3Object"}, "min":0 }, + "ListRetrainingSchedulersRequest":{ + "type":"structure", + "members":{ + "ModelNameBeginsWith":{ + "shape":"ModelName", + "documentation":"

      Specify this field to only list retraining schedulers whose machine learning models begin with the value you specify.

      " + }, + "Status":{ + "shape":"RetrainingSchedulerStatus", + "documentation":"

      Specify this field to only list retraining schedulers whose status matches the value you specify.

      " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

      If the number of results exceeds the maximum, a pagination token is returned. Use the token in the request to show the next page of retraining schedulers.

      " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

      Specifies the maximum number of retraining schedulers to list.

      " + } + } + }, + "ListRetrainingSchedulersResponse":{ + "type":"structure", + "members":{ + "RetrainingSchedulerSummaries":{ + "shape":"RetrainingSchedulerSummaries", + "documentation":"

      Provides information on the specified retraining scheduler, including the model name, model ARN, status, and start date.

      " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

      If the number of results exceeds the maximum, this pagination token is returned. Use this token in the request to show the next page of retraining schedulers.

      " + } + } + }, "ListSensorStatisticsRequest":{ "type":"structure", "required":["DatasetName"], @@ -3036,6 +3414,10 @@ } } }, + "LookbackWindow":{ + "type":"string", + "pattern":"^P180D$|^P360D$|^P540D$|^P720D$" + }, "MaxResults":{ "type":"integer", "max":500, @@ -3087,6 +3469,13 @@ "min":1, "pattern":"^[0-9a-zA-Z_-]{1,200}$" }, + "ModelPromoteMode":{ + "type":"string", + "enum":[ + "MANAGED", + "MANUAL" + ] + }, "ModelStatus":{ "type":"string", "enum":[ @@ -3105,15 +3494,15 @@ "members":{ "ModelName":{ "shape":"ModelName", - "documentation":"

      The name of the ML model.

      " + "documentation":"

      The name of the machine learning model.

      " }, "ModelArn":{ "shape":"ModelArn", - "documentation":"

      The Amazon Resource Name (ARN) of the ML model.

      " + "documentation":"

      The Amazon Resource Name (ARN) of the machine learning model.

      " }, "DatasetName":{ "shape":"DatasetName", - "documentation":"

      The name of the dataset being used for the ML model.

      " + "documentation":"

      The name of the dataset being used for the machine learning model.

      " }, "DatasetArn":{ "shape":"DatasetArn", @@ -3121,7 +3510,7 @@ }, "Status":{ "shape":"ModelStatus", - "documentation":"

      Indicates the status of the ML model.

      " + "documentation":"

      Indicates the status of the machine learning model.

      " }, "CreatedAt":{ "shape":"Timestamp", @@ -3134,9 +3523,29 @@ "ActiveModelVersionArn":{ "shape":"ModelVersionArn", "documentation":"

      The Amazon Resource Name (ARN) of the model version that is set as active. The active model version is the model version that the inference scheduler uses to run an inference execution.

      " + }, + "LatestScheduledRetrainingStatus":{ + "shape":"ModelVersionStatus", + "documentation":"

      Indicates the status of the most recent scheduled retraining run.

      " + }, + "LatestScheduledRetrainingModelVersion":{ + "shape":"ModelVersion", + "documentation":"

      Indicates the most recent model version that was generated by retraining.

      " + }, + "LatestScheduledRetrainingStartTime":{ + "shape":"Timestamp", + "documentation":"

      Indicates the start time of the most recent scheduled retraining run.

      " + }, + "NextScheduledRetrainingStartDate":{ + "shape":"Timestamp", + "documentation":"

      Indicates the date that the next scheduled retraining run will start on. Lookout for Equipment truncates the time you provide to the nearest UTC day.

      " + }, + "RetrainingSchedulerStatus":{ + "shape":"RetrainingSchedulerStatus", + "documentation":"

      Indicates the status of the retraining scheduler.

      " } }, - "documentation":"

      Provides information about the specified ML model, including dataset and model names and ARNs, as well as status.

      " + "documentation":"

      Provides information about the specified machine learning model, including dataset and model names and ARNs, as well as status.

      " }, "ModelVersion":{ "type":"long", @@ -3320,6 +3729,55 @@ "documentation":"

      The resource requested could not be found. Verify the resource ID and retry your request.

      ", "exception":true }, + "RetrainingFrequency":{ + "type":"string", + "max":10, + "min":1, + "pattern":"^P(\\dY)?(\\d{1,2}M)?(\\d{1,3}D)?$" + }, + "RetrainingSchedulerStatus":{ + "type":"string", + "enum":[ + "PENDING", + "RUNNING", + "STOPPING", + "STOPPED" + ] + }, + "RetrainingSchedulerSummaries":{ + "type":"list", + "member":{"shape":"RetrainingSchedulerSummary"} + }, + "RetrainingSchedulerSummary":{ + "type":"structure", + "members":{ + "ModelName":{ + "shape":"ModelName", + "documentation":"

      The name of the model that the retraining scheduler is attached to.

      " + }, + "ModelArn":{ + "shape":"ModelArn", + "documentation":"

      The ARN of the model that the retraining scheduler is attached to.

      " + }, + "Status":{ + "shape":"RetrainingSchedulerStatus", + "documentation":"

      The status of the retraining scheduler.

      " + }, + "RetrainingStartDate":{ + "shape":"Timestamp", + "documentation":"

      The start date for the retraining scheduler. Lookout for Equipment truncates the time you provide to the nearest UTC day.

      " + }, + "RetrainingFrequency":{ + "shape":"RetrainingFrequency", + "documentation":"

      The frequency at which the model retraining is set. This follows the ISO 8601 guidelines.

      " + }, + "LookbackWindow":{ + "shape":"LookbackWindow", + "documentation":"

      The number of past days of data used for retraining.

      " + } + }, + "documentation":"

      Provides information about the specified retraining scheduler, including model name, status, start date, frequency, and lookback window.

      " + }, "S3Bucket":{ "type":"string", "max":63, @@ -3500,11 +3958,11 @@ "members":{ "ModelArn":{ "shape":"ModelArn", - "documentation":"

      The Amazon Resource Name (ARN) of the ML model being used by the inference scheduler.

      " + "documentation":"

      The Amazon Resource Name (ARN) of the machine learning model being used by the inference scheduler.

      " }, "ModelName":{ "shape":"ModelName", - "documentation":"

      The name of the ML model being used by the inference scheduler.

      " + "documentation":"

      The name of the machine learning model being used by the inference scheduler.

      " }, "InferenceSchedulerName":{ "shape":"InferenceSchedulerName", @@ -3520,6 +3978,33 @@ } } }, + "StartRetrainingSchedulerRequest":{ + "type":"structure", + "required":["ModelName"], + "members":{ + "ModelName":{ + "shape":"ModelName", + "documentation":"

      The name of the model whose retraining scheduler you want to start.

      " + } + } + }, + "StartRetrainingSchedulerResponse":{ + "type":"structure", + "members":{ + "ModelName":{ + "shape":"ModelName", + "documentation":"

      The name of the model whose retraining scheduler is being started.

      " + }, + "ModelArn":{ + "shape":"ModelArn", + "documentation":"

      The ARN of the model whose retraining scheduler is being started.

      " + }, + "Status":{ + "shape":"RetrainingSchedulerStatus", + "documentation":"

      The status of the retraining scheduler.

      " + } + } + }, "StatisticalIssueStatus":{ "type":"string", "enum":[ @@ -3542,11 +4027,11 @@ "members":{ "ModelArn":{ "shape":"ModelArn", - "documentation":"

      The Amazon Resource Name (ARN) of the ML model used by the inference scheduler being stopped.

      " + "documentation":"

      The Amazon Resource Name (ARN) of the machine learning model used by the inference scheduler being stopped.

      " }, "ModelName":{ "shape":"ModelName", - "documentation":"

      The name of the ML model used by the inference scheduler being stopped.

      " + "documentation":"

      The name of the machine learning model used by the inference scheduler being stopped.

      " }, "InferenceSchedulerName":{ "shape":"InferenceSchedulerName", @@ -3562,6 +4047,33 @@ } } }, + "StopRetrainingSchedulerRequest":{ + "type":"structure", + "required":["ModelName"], + "members":{ + "ModelName":{ + "shape":"ModelName", + "documentation":"

      The name of the model whose retraining scheduler you want to stop.

      " + } + } + }, + "StopRetrainingSchedulerResponse":{ + "type":"structure", + "members":{ + "ModelName":{ + "shape":"ModelName", + "documentation":"

      The name of the model whose retraining scheduler is being stopped.

      " + }, + "ModelArn":{ + "shape":"ModelArn", + "documentation":"

      The ARN of the model whose retraining scheduler is being stopped.

      " + }, + "Status":{ + "shape":"RetrainingSchedulerStatus", + "documentation":"

      The status of the retraining scheduler.

      " + } + } + }, "Tag":{ "type":"structure", "required":[ @@ -3779,6 +4291,47 @@ } } }, + "UpdateModelRequest":{ + "type":"structure", + "required":["ModelName"], + "members":{ + "ModelName":{ + "shape":"ModelName", + "documentation":"

      The name of the model to update.

      " + }, + "LabelsInputConfiguration":{"shape":"LabelsInputConfiguration"}, + "RoleArn":{ + "shape":"IamRoleArn", + "documentation":"

      The ARN of the model to update.

      " + } + } + }, + "UpdateRetrainingSchedulerRequest":{ + "type":"structure", + "required":["ModelName"], + "members":{ + "ModelName":{ + "shape":"ModelName", + "documentation":"

      The name of the model whose retraining scheduler you want to update.

      " + }, + "RetrainingStartDate":{ + "shape":"Timestamp", + "documentation":"

      The start date for the retraining scheduler. Lookout for Equipment truncates the time you provide to the nearest UTC day.

      " + }, + "RetrainingFrequency":{ + "shape":"RetrainingFrequency", + "documentation":"

      This parameter uses the ISO 8601 standard to set the frequency at which you want retraining to occur in terms of Years, Months, and/or Days (note: other parameters like Time are not currently supported). The minimum value is 30 days (P30D) and the maximum value is 1 year (P1Y). For example, the following values are valid:

      • P3M15D – Every 3 months and 15 days

      • P2M – Every 2 months

      • P150D – Every 150 days

      " + }, + "LookbackWindow":{ + "shape":"LookbackWindow", + "documentation":"

      The number of past days of data that will be used for retraining.

      " + }, + "PromoteMode":{ + "shape":"ModelPromoteMode", + "documentation":"

      Indicates how the service will use new models. In MANAGED mode, new models will automatically be used for inference if they have better performance than the current model. In MANUAL mode, the new models will not be used until they are manually activated.

      " + } + } + }, "ValidationException":{ "type":"structure", "required":["Message"], diff --git a/services/lookoutmetrics/pom.xml b/services/lookoutmetrics/pom.xml index aa05964065ae..47502e6da3d8 100644 --- a/services/lookoutmetrics/pom.xml +++ b/services/lookoutmetrics/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT lookoutmetrics AWS Java SDK :: Services :: Lookout Metrics diff --git a/services/lookoutmetrics/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/lookoutmetrics/src/main/resources/codegen-resources/endpoint-rule-set.json index 4492e3f9729c..de5e5c85a39d 100644 --- a/services/lookoutmetrics/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/lookoutmetrics/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://lookoutmetrics-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://lookoutmetrics-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://lookoutmetrics.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://lookoutmetrics.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://lookoutmetrics.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://lookoutmetrics.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/lookoutmetrics/src/main/resources/codegen-resources/endpoint-tests.json b/services/lookoutmetrics/src/main/resources/codegen-resources/endpoint-tests.json index 36eeb67e9a56..8cb8d92dbd44 100644 --- a/services/lookoutmetrics/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/lookoutmetrics/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,42 +1,42 @@ { "testCases": [ { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lookoutmetrics-fips.eu-central-1.api.aws" + "url": "https://lookoutmetrics.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lookoutmetrics-fips.eu-central-1.amazonaws.com" + "url": "https://lookoutmetrics.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lookoutmetrics.eu-central-1.api.aws" + "url": "https://lookoutmetrics.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -47,100 +47,9 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lookoutmetrics-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutmetrics-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lookoutmetrics.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutmetrics.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lookoutmetrics-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutmetrics-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lookoutmetrics.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -151,334 +60,326 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-north-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lookoutmetrics-fips.eu-west-1.api.aws" + "url": "https://lookoutmetrics.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, "Region": "eu-west-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lookoutmetrics-fips.eu-west-1.amazonaws.com" + "url": "https://lookoutmetrics.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lookoutmetrics.eu-west-1.api.aws" + "url": "https://lookoutmetrics.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lookoutmetrics.eu-west-1.amazonaws.com" + "url": "https://lookoutmetrics.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lookoutmetrics-fips.ap-northeast-1.api.aws" + "url": "https://lookoutmetrics-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lookoutmetrics-fips.ap-northeast-1.amazonaws.com" + "url": "https://lookoutmetrics-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lookoutmetrics.ap-northeast-1.api.aws" + "url": "https://lookoutmetrics.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lookoutmetrics.ap-northeast-1.amazonaws.com" + "url": "https://lookoutmetrics-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lookoutmetrics-fips.ap-southeast-1.api.aws" + "url": "https://lookoutmetrics-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lookoutmetrics-fips.ap-southeast-1.amazonaws.com" + "url": "https://lookoutmetrics.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lookoutmetrics.ap-southeast-1.api.aws" + "url": "https://lookoutmetrics.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lookoutmetrics.ap-southeast-1.amazonaws.com" + "url": "https://lookoutmetrics-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lookoutmetrics-fips.ap-southeast-2.api.aws" + "url": "https://lookoutmetrics-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lookoutmetrics-fips.ap-southeast-2.amazonaws.com" + "url": "https://lookoutmetrics.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lookoutmetrics.ap-southeast-2.api.aws" + "url": "https://lookoutmetrics.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://lookoutmetrics.ap-southeast-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lookoutmetrics-fips.us-east-1.api.aws" + "url": "https://lookoutmetrics-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://lookoutmetrics-fips.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lookoutmetrics.us-east-1.api.aws" + "url": "https://lookoutmetrics.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://lookoutmetrics.us-east-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lookoutmetrics-fips.us-east-2.api.aws" + "url": "https://lookoutmetrics-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://lookoutmetrics-fips.us-east-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lookoutmetrics.us-east-2.api.aws" + "url": "https://lookoutmetrics.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://lookoutmetrics.us-east-2.amazonaws.com" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -488,9 +389,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -500,11 +401,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/lookoutvision/pom.xml b/services/lookoutvision/pom.xml index 3ec17c8111eb..df1566a6d8f0 100644 --- a/services/lookoutvision/pom.xml +++ b/services/lookoutvision/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT lookoutvision AWS Java SDK :: Services :: Lookout Vision diff --git a/services/lookoutvision/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/lookoutvision/src/main/resources/codegen-resources/endpoint-rule-set.json index 02c8d086dbe7..b265c71af6e2 100644 --- a/services/lookoutvision/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/lookoutvision/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,64 +45,17 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "ref": "UseFIPS" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + true ] } - ] + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" }, { "conditions": [ @@ -111,19 +63,51 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "booleanEquals", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "UseDualStack" - }, - true - ] + "ref": "Region" + } + ], + "assign": "PartitionResult" } ], "type": "tree", @@ -133,90 +117,109 @@ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] }, { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://lookoutvision-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://lookoutvision-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -229,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://lookoutvision.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://lookoutvision.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://lookoutvision.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://lookoutvision.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/lookoutvision/src/main/resources/codegen-resources/endpoint-tests.json b/services/lookoutvision/src/main/resources/codegen-resources/endpoint-tests.json index 56603f6367ca..d68476c559e3 100644 --- a/services/lookoutvision/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/lookoutvision/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,42 +1,29 @@ { "testCases": [ { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lookoutvision-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lookoutvision-fips.eu-central-1.amazonaws.com" + "url": "https://lookoutvision.ap-northeast-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "eu-central-1" + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lookoutvision.eu-central-1.api.aws" + "url": "https://lookoutvision.ap-northeast-2.amazonaws.com" } }, "params": { + "Region": "ap-northeast-2", "UseFIPS": false, - "UseDualStack": true, - "Region": "eu-central-1" + "UseDualStack": false } }, { @@ -47,48 +34,48 @@ } }, "params": { + "Region": "eu-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lookoutvision-fips.us-west-2.api.aws" + "url": "https://lookoutvision.eu-west-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "us-west-2" + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lookoutvision-fips.us-west-2.amazonaws.com" + "url": "https://lookoutvision.us-east-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "us-west-2" + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lookoutvision.us-west-2.api.aws" + "url": "https://lookoutvision.us-east-2.amazonaws.com" } }, "params": { + "Region": "us-east-2", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -99,273 +86,266 @@ } }, "params": { + "Region": "us-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-2" + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lookoutvision-fips.eu-west-1.api.aws" + "url": "https://lookoutvision-fips.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "eu-west-1" + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lookoutvision-fips.eu-west-1.amazonaws.com" + "url": "https://lookoutvision-fips.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lookoutvision.eu-west-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": true, - "Region": "eu-west-1" - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lookoutvision.eu-west-1.amazonaws.com" + "url": "https://lookoutvision.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-1" + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lookoutvision-fips.ap-northeast-2.api.aws" + "url": "https://lookoutvision-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "ap-northeast-2" + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lookoutvision-fips.ap-northeast-2.amazonaws.com" + "url": "https://lookoutvision-fips.cn-north-1.amazonaws.com.cn" } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lookoutvision.ap-northeast-2.api.aws" + "url": "https://lookoutvision.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "ap-northeast-2" + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lookoutvision.ap-northeast-2.amazonaws.com" + "url": "https://lookoutvision.cn-north-1.amazonaws.com.cn" } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lookoutvision-fips.ap-northeast-1.api.aws" + "url": "https://lookoutvision-fips.us-gov-east-1.api.aws" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "ap-northeast-1" + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lookoutvision-fips.ap-northeast-1.amazonaws.com" + "url": "https://lookoutvision-fips.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lookoutvision.ap-northeast-1.api.aws" + "url": "https://lookoutvision.us-gov-east-1.api.aws" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "ap-northeast-1" + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lookoutvision.ap-northeast-1.amazonaws.com" + "url": "https://lookoutvision.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-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://lookoutvision-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://lookoutvision-fips.us-east-1.amazonaws.com" + "url": "https://lookoutvision-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://lookoutvision.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://lookoutvision.us-east-1.amazonaws.com" + "url": "https://lookoutvision.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://lookoutvision-fips.us-east-2.api.aws" - } + "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-east-2" + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lookoutvision-fips.us-east-2.amazonaws.com" + "url": "https://lookoutvision-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-2" + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lookoutvision.us-east-2.api.aws" + "url": "https://lookoutvision.us-isob-east-1.sc2s.sgov.gov" } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-east-2" + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://lookoutvision.us-east-2.amazonaws.com" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-2" + "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" @@ -374,7 +354,6 @@ "params": { "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -384,9 +363,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" } }, @@ -396,11 +375,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/services/m2/pom.xml b/services/m2/pom.xml index 7bcd1ea8b0b7..059e48ca1239 100644 --- a/services/m2/pom.xml +++ b/services/m2/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT m2 AWS Java SDK :: Services :: M2 diff --git a/services/m2/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/m2/src/main/resources/codegen-resources/endpoint-rule-set.json index ef3146718068..6e99e61ed309 100644 --- a/services/m2/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/m2/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://m2-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://m2-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://m2-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://m2-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://m2.{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://m2.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://m2.{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://m2.{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/services/machinelearning/pom.xml b/services/machinelearning/pom.xml index 1799ec704155..90a206d0dd72 100644 --- a/services/machinelearning/pom.xml +++ b/services/machinelearning/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT machinelearning AWS Java SDK :: Services :: Amazon Machine Learning diff --git a/services/machinelearning/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/machinelearning/src/main/resources/codegen-resources/endpoint-rule-set.json index 22d1e025fac3..38cbfe94172a 100644 --- a/services/machinelearning/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/machinelearning/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://machinelearning-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://machinelearning-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://machinelearning.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://machinelearning.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://machinelearning.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://machinelearning.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/machinelearning/src/main/resources/codegen-resources/endpoint-tests.json b/services/machinelearning/src/main/resources/codegen-resources/endpoint-tests.json index 0118f44b19bc..36b80040ae04 100644 --- a/services/machinelearning/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/machinelearning/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,120 +1,294 @@ { "testCases": [ { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://machinelearning-fips.eu-west-1.api.aws" + "url": "https://machinelearning.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, "Region": "eu-west-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://machinelearning-fips.eu-west-1.amazonaws.com" + "url": "https://machinelearning.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://machinelearning.eu-west-1.api.aws" + "url": "https://machinelearning-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://machinelearning.eu-west-1.amazonaws.com" + "url": "https://machinelearning-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://machinelearning-fips.us-east-1.api.aws" + "url": "https://machinelearning.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, "Region": "us-east-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://machinelearning-fips.us-east-1.amazonaws.com" + "url": "https://machinelearning-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://machinelearning.us-east-1.api.aws" + "url": "https://machinelearning-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://machinelearning.us-east-1.amazonaws.com" + "url": "https://machinelearning.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://machinelearning.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://machinelearning-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://machinelearning-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://machinelearning.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://machinelearning.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://machinelearning-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://machinelearning.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://machinelearning-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://machinelearning.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -124,9 +298,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -136,11 +310,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/macie/pom.xml b/services/macie/pom.xml index b498ad627204..2716a866a52d 100644 --- a/services/macie/pom.xml +++ b/services/macie/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT macie AWS Java SDK :: Services :: Macie diff --git a/services/macie/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/macie/src/main/resources/codegen-resources/endpoint-rule-set.json index 9b3bfcc1325f..94856ff2f2a8 100644 --- a/services/macie/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/macie/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://macie-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://macie-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://macie.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://macie.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://macie.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://macie.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/macie/src/main/resources/codegen-resources/endpoint-tests.json b/services/macie/src/main/resources/codegen-resources/endpoint-tests.json index 91c92af29cd0..886dd05c625d 100644 --- a/services/macie/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/macie/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,16 +1,307 @@ { "testCases": [ { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://macie.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://macie-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://macie.us-west-2.amazonaws.com" + } + }, + "params": { + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://macie-fips.us-west-2.amazonaws.com" + } + }, + "params": { + "Region": "us-west-2", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://macie-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://macie.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://macie-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://macie-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://macie.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://macie.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://macie-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://macie-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://macie.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://macie.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://macie-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://macie.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://macie-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://macie.us-isob-east-1.sc2s.sgov.gov" + } + }, + "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": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -20,9 +311,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -32,11 +323,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/macie2/pom.xml b/services/macie2/pom.xml index 368efaa19b6e..573b53441ae1 100644 --- a/services/macie2/pom.xml +++ b/services/macie2/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT macie2 AWS Java SDK :: Services :: Macie2 diff --git a/services/macie2/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/macie2/src/main/resources/codegen-resources/endpoint-rule-set.json index cca5913612cb..d8387421b1f9 100644 --- a/services/macie2/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/macie2/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://macie2-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://macie2-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://macie2-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://macie2-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://macie2.{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://macie2.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://macie2.{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://macie2.{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/services/macie2/src/main/resources/codegen-resources/service-2.json b/services/macie2/src/main/resources/codegen-resources/service-2.json index fc62dc74fe95..067827abb96e 100644 --- a/services/macie2/src/main/resources/codegen-resources/service-2.json +++ b/services/macie2/src/main/resources/codegen-resources/service-2.json @@ -4435,7 +4435,7 @@ "managedDataIdentifierSelector": { "shape": "ManagedDataIdentifierSelector", "locationName": "managedDataIdentifierSelector", - "documentation": "

      The selection type to apply when determining which managed data identifiers the job uses to analyze data. Valid values are:

      • ALL (default) - Use all managed data identifiers. If you specify this value, don't specify any values for the managedDataIdentifierIds property.

      • EXCLUDE - Use all managed data identifiers except the ones specified by the managedDataIdentifierIds property.

      • INCLUDE - Use only the managed data identifiers specified by the managedDataIdentifierIds property.

      • NONE - Don't use any managed data identifiers. If you specify this value, specify at least one custom data identifier for the job (customDataIdentifierIds) and don't specify any values for the managedDataIdentifierIds property.

      • RECOMMENDED - Use only the set of managed data identifiers that Amazon Web Services recommends for jobs. If you specify this value, don't specify any values for the managedDataIdentifierIds property.

      If you don't specify a value for this property, the job uses all managed data identifiers.

      If the job is a recurring job and you don't specify a value for this property or you specify ALL or EXCLUDE, each job run automatically uses new managed data identifiers that are released. If you specify RECOMMENDED for a recurring job, each job run automatically uses all the managed data identifiers that are in the recommended set when the job starts to run.

      For information about individual managed data identifiers or to determine which ones are in the recommended set, see Using managed data identifiers and Recommended managed data identifiers in the Amazon Macie User Guide.

      " + "documentation": "

      The selection type to apply when determining which managed data identifiers the job uses to analyze data. Valid values are:

      • ALL - Use all managed data identifiers. If you specify this value, don't specify any values for the managedDataIdentifierIds property.

      • EXCLUDE - Use all managed data identifiers except the ones specified by the managedDataIdentifierIds property.

      • INCLUDE - Use only the managed data identifiers specified by the managedDataIdentifierIds property.

      • NONE - Don't use any managed data identifiers. If you specify this value, specify at least one value for the customDataIdentifierIds property and don't specify any values for the managedDataIdentifierIds property.

      • RECOMMENDED (default) - Use the recommended set of managed data identifiers. If you specify this value, don't specify any values for the managedDataIdentifierIds property.

      If you don't specify a value for this property, the job uses the recommended set of managed data identifiers.

      If the job is a recurring job and you specify ALL or EXCLUDE, each job run automatically uses new managed data identifiers that are released. If you specify RECOMMENDED for a recurring job, each job run automatically uses all the managed data identifiers that are in the recommended set when the run starts.

      For information about individual managed data identifiers or to determine which ones are in the recommended set, see Using managed data identifiers and Recommended managed data identifiers in the Amazon Macie User Guide.

      " }, "name": { "shape": "__string", @@ -5163,7 +5163,7 @@ "managedDataIdentifierSelector": { "shape": "ManagedDataIdentifierSelector", "locationName": "managedDataIdentifierSelector", - "documentation": "

      The selection type that determines which managed data identifiers the job uses when it analyzes data. Possible values are:

      • ALL (default) - Use all managed data identifiers.

      • EXCLUDE - Use all managed data identifiers except the ones specified by the managedDataIdentifierIds property.

      • INCLUDE - Use only the managed data identifiers specified by the managedDataIdentifierIds property.

      • NONE - Don't use any managed data identifiers. Use only custom data identifiers (customDataIdentifierIds).

      • RECOMMENDED - Use only the set of managed data identifiers that Amazon Web Services recommends for jobs.

      If this value is null, the job uses all managed data identifiers.

      If the job is a recurring job and this value is null, ALL, or EXCLUDE, each job run automatically uses new managed data identifiers that are released after the job was created or the preceding run ended. If this value is RECOMMENDED for a recurring job, each job run uses all the managed data identifiers that are in the recommended set when the run starts.

      For information about individual managed data identifiers or to determine which ones are in the recommended set, see Using managed data identifiers and Recommended managed data identifiers in the Amazon Macie User Guide.

      " + "documentation": "

      The selection type that determines which managed data identifiers the job uses when it analyzes data. Possible values are:

      • ALL - Use all managed data identifiers.

      • EXCLUDE - Use all managed data identifiers except the ones specified by the managedDataIdentifierIds property.

      • INCLUDE - Use only the managed data identifiers specified by the managedDataIdentifierIds property.

      • NONE - Don't use any managed data identifiers. Use only custom data identifiers (customDataIdentifierIds).

      • RECOMMENDED (default) - Use the recommended set of managed data identifiers.

      If this value is null, the job uses the recommended set of managed data identifiers.

      If the job is a recurring job and this value is ALL or EXCLUDE, each job run automatically uses new managed data identifiers that are released. If this value is null or RECOMMENDED for a recurring job, each job run uses all the managed data identifiers that are in the recommended set when the run starts.

      For information about individual managed data identifiers or to determine which ones are in the recommended set, see Using managed data identifiers and Recommended managed data identifiers in the Amazon Macie User Guide.

      " }, "name": { "shape": "__string", diff --git a/services/managedblockchain/pom.xml b/services/managedblockchain/pom.xml index 0bc2b9833ee4..22361bd30c73 100644 --- a/services/managedblockchain/pom.xml +++ b/services/managedblockchain/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT managedblockchain AWS Java SDK :: Services :: ManagedBlockchain diff --git a/services/managedblockchain/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/managedblockchain/src/main/resources/codegen-resources/endpoint-rule-set.json index f33cf19b95fa..0859f591678d 100644 --- a/services/managedblockchain/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/managedblockchain/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://managedblockchain-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://managedblockchain-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://managedblockchain-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://managedblockchain-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://managedblockchain.{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://managedblockchain.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://managedblockchain.{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://managedblockchain.{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/services/managedblockchain/src/main/resources/codegen-resources/service-2.json b/services/managedblockchain/src/main/resources/codegen-resources/service-2.json index bcfb4e2e697e..e80c08b8c876 100644 --- a/services/managedblockchain/src/main/resources/codegen-resources/service-2.json +++ b/services/managedblockchain/src/main/resources/codegen-resources/service-2.json @@ -764,7 +764,7 @@ }, "NetworkId":{ "shape":"ResourceIdString", - "documentation":"

      The unique identifier of the network for the node.

      Ethereum public networks have the following NetworkIds:

      • n-ethereum-mainnet

      • n-ethereum-goerli

      • n-ethereum-rinkeby

      ", + "documentation":"

      The unique identifier of the network for the node.

      Ethereum public networks have the following NetworkIds:

      • n-ethereum-mainnet

      • n-ethereum-goerli

      ", "location":"uri", "locationName":"networkId" }, @@ -890,7 +890,7 @@ "members":{ "NetworkId":{ "shape":"ResourceIdString", - "documentation":"

      The unique identifier of the network that the node is on.

      Ethereum public networks have the following NetworkIds:

      • n-ethereum-mainnet

      • n-ethereum-goerli

      • n-ethereum-rinkeby

      ", + "documentation":"

      The unique identifier of the network that the node is on.

      Ethereum public networks have the following NetworkIds:

      • n-ethereum-mainnet

      • n-ethereum-goerli

      ", "location":"uri", "locationName":"networkId" }, @@ -1786,7 +1786,7 @@ "members":{ "ChainId":{ "shape":"String", - "documentation":"

      The Ethereum CHAIN_ID associated with the Ethereum network. Chain IDs are as follows:

      • mainnet = 1

      • goerli = 5

      • rinkeby = 4

      " + "documentation":"

      The Ethereum CHAIN_ID associated with the Ethereum network. Chain IDs are as follows:

      • mainnet = 1

      • goerli = 5

      " } }, "documentation":"

      Attributes of Ethereum for a network.

      " diff --git a/services/managedblockchainquery/pom.xml b/services/managedblockchainquery/pom.xml index 1b364d20c0eb..7b5b45f64790 100644 --- a/services/managedblockchainquery/pom.xml +++ b/services/managedblockchainquery/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT managedblockchainquery AWS Java SDK :: Services :: Managed Blockchain Query diff --git a/services/marketplacecatalog/pom.xml b/services/marketplacecatalog/pom.xml index e454117df1ce..c4d805b7ed78 100644 --- a/services/marketplacecatalog/pom.xml +++ b/services/marketplacecatalog/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT marketplacecatalog AWS Java SDK :: Services :: Marketplace Catalog diff --git a/services/marketplacecatalog/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/marketplacecatalog/src/main/resources/codegen-resources/endpoint-rule-set.json index 918d585430fa..ed44d40027f2 100644 --- a/services/marketplacecatalog/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/marketplacecatalog/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://catalog.marketplace-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://catalog.marketplace-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://catalog.marketplace-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://catalog.marketplace-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://catalog.marketplace.{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://catalog.marketplace.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://catalog.marketplace.{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://catalog.marketplace.{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/services/marketplacecatalog/src/main/resources/codegen-resources/service-2.json b/services/marketplacecatalog/src/main/resources/codegen-resources/service-2.json index d996c65f6a33..f48f9112eb3c 100644 --- a/services/marketplacecatalog/src/main/resources/codegen-resources/service-2.json +++ b/services/marketplacecatalog/src/main/resources/codegen-resources/service-2.json @@ -46,7 +46,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"} ], - "documentation":"

      Deletes a resource-based policy on an Entity that is identified by its resource ARN.

      " + "documentation":"

      Deletes a resource-based policy on an entity that is identified by its resource ARN.

      " }, "DescribeChangeSet":{ "name":"DescribeChangeSet", @@ -98,7 +98,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"} ], - "documentation":"

      Gets a resource-based policy of an Entity that is identified by its resource ARN.

      " + "documentation":"

      Gets a resource-based policy of an entity that is identified by its resource ARN.

      " }, "ListChangeSets":{ "name":"ListChangeSets", @@ -165,7 +165,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"} ], - "documentation":"

      Attaches a resource-based policy to an Entity. Examples of an entity include: AmiProduct and ContainerProduct.

      " + "documentation":"

      Attaches a resource-based policy to an entity. Examples of an entity include: AmiProduct and ContainerProduct.

      " }, "StartChangeSet":{ "name":"StartChangeSet", @@ -184,7 +184,7 @@ {"shape":"ThrottlingException"}, {"shape":"ServiceQuotaExceededException"} ], - "documentation":"

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

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

      For more information about working with change sets, see Working with change sets. For information on change types for single-AMI products, see Working with single-AMI products. Als, for more information on change types available for container-based products, see Working with container products.

      " + "documentation":"

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

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

      For more information about working with change sets, see Working with change sets. For information about change types for single-AMI products, see Working with single-AMI products. Also, for more information about change types available for container-based products, see Working with container products.

      " }, "TagResource":{ "name":"TagResource", @@ -282,13 +282,12 @@ "type":"structure", "required":[ "ChangeType", - "Entity", - "Details" + "Entity" ], "members":{ "ChangeType":{ "shape":"ChangeType", - "documentation":"

      Change types are single string values that describe your intention for the change. Each change type is unique for each EntityType provided in the change's scope. For more information on change types available for single-AMI products, see Working with single-AMI products. Also, for more information on change types available for container-based products, see Working with container products.

      " + "documentation":"

      Change types are single string values that describe your intention for the change. Each change type is unique for each EntityType provided in the change's scope. For more information on change types available for single-AMI products, see Working with single-AMI products. Also, for more information about change types available for container-based products, see Working with container products.

      " }, "Entity":{ "shape":"Entity", @@ -300,7 +299,11 @@ }, "Details":{ "shape":"Json", - "documentation":"

      This object contains details specific to the change type of the requested change. For more information on change types available for single-AMI products, see Working with single-AMI products. Also, for more information on change types available for container-based products, see Working with container products.

      " + "documentation":"

      This object contains details specific to the change type of the requested change. For more information about change types available for single-AMI products, see Working with single-AMI products. Also, for more information about change types available for container-based products, see Working with container products.

      " + }, + "DetailsDocument":{ + "shape":"JsonDocumentType", + "documentation":"

      Alternative field that accepts a JSON value instead of a string for ChangeType details. You can use either Details or DetailsDocument, but not both.

      " }, "ChangeName":{ "shape":"ChangeName", @@ -392,6 +395,10 @@ "shape":"Json", "documentation":"

      This object contains details specific to the change type of the requested change.

      " }, + "DetailsDocument":{ + "shape":"JsonDocumentType", + "documentation":"

      The JSON value of the details specific to the change type of the requested change.

      " + }, "ErrorDetailList":{ "shape":"ErrorDetailList", "documentation":"

      An array of ErrorDetail objects associated with the change.

      " @@ -427,7 +434,7 @@ "members":{ "ResourceArn":{ "shape":"ResourceARN", - "documentation":"

      The Amazon Resource Name (ARN) of the Entity resource that is associated with the resource policy.

      ", + "documentation":"

      The Amazon Resource Name (ARN) of the entity resource that is associated with the resource policy.

      ", "location":"querystring", "locationName":"resourceArn" } @@ -543,6 +550,10 @@ "Details":{ "shape":"Json", "documentation":"

      This stringified JSON object includes the details of the entity.

      " + }, + "DetailsDocument":{ + "shape":"JsonDocumentType", + "documentation":"

      The JSON value of the details specific to the entity.

      " } } }, @@ -682,7 +693,7 @@ "members":{ "ResourceArn":{ "shape":"ResourceARN", - "documentation":"

      The Amazon Resource Name (ARN) of the Entity resource that is associated with the resource policy.

      ", + "documentation":"

      The Amazon Resource Name (ARN) of the entity resource that is associated with the resource policy.

      ", "location":"querystring", "locationName":"resourceArn" } @@ -719,6 +730,12 @@ "min":2, "pattern":"^[\\s]*\\{[\\s\\S]*\\}[\\s]*$" }, + "JsonDocumentType":{ + "type":"structure", + "members":{ + }, + "document":true + }, "ListChangeSetsMaxResultInteger":{ "type":"integer", "box":true, @@ -801,7 +818,10 @@ "shape":"ListEntitiesMaxResultInteger", "documentation":"

      Specifies the upper limit of the elements on a single page. If a value isn't provided, the default value is 20.

      " }, - "OwnershipType":{"shape":"OwnershipType"} + "OwnershipType":{ + "shape":"OwnershipType", + "documentation":"

      Filters the returned set of entities based on their owner. The default is SELF. To list entities shared with you through AWS Resource Access Manager (AWS RAM), set to SHARED. Entities shared through the AWS Marketplace Catalog API PutResourcePolicy operation can't be discovered through the SHARED parameter.

      " + } } }, "ListEntitiesResponse":{ @@ -862,7 +882,7 @@ "members":{ "ResourceArn":{ "shape":"ResourceARN", - "documentation":"

      The Amazon Resource Name (ARN) of the Entity resource you want to associate with a resource policy.

      " + "documentation":"

      The Amazon Resource Name (ARN) of the entity resource you want to associate with a resource policy.

      " }, "Policy":{ "shape":"ResourcePolicyJson", @@ -948,7 +968,7 @@ "members":{ "SortBy":{ "shape":"SortBy", - "documentation":"

      For ListEntities, supported attributes include LastModifiedDate (default), Visibility, EntityId, and Name.

      For ListChangeSets, supported attributes include StartTime and EndTime.

      " + "documentation":"

      For ListEntities, supported attributes include LastModifiedDate (default) and EntityId. In addition to LastModifiedDate and EntityId, each EntityType might support additional fields.

      For ListChangeSets, supported attributes include StartTime and EndTime.

      " }, "SortOrder":{ "shape":"SortOrder", diff --git a/services/marketplacecommerceanalytics/pom.xml b/services/marketplacecommerceanalytics/pom.xml index 29e91ce4da0a..def3c1c4e550 100644 --- a/services/marketplacecommerceanalytics/pom.xml +++ b/services/marketplacecommerceanalytics/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT marketplacecommerceanalytics AWS Java SDK :: Services :: AWS Marketplace Commerce Analytics diff --git a/services/marketplacecommerceanalytics/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/marketplacecommerceanalytics/src/main/resources/codegen-resources/endpoint-rule-set.json index 55b1c8644e07..7e135e722faf 100644 --- a/services/marketplacecommerceanalytics/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/marketplacecommerceanalytics/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://marketplacecommerceanalytics-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://marketplacecommerceanalytics-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://marketplacecommerceanalytics.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://marketplacecommerceanalytics.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://marketplacecommerceanalytics.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://marketplacecommerceanalytics.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/marketplacecommerceanalytics/src/main/resources/codegen-resources/endpoint-tests.json b/services/marketplacecommerceanalytics/src/main/resources/codegen-resources/endpoint-tests.json index 75b041cd5e39..628e634634ae 100644 --- a/services/marketplacecommerceanalytics/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/marketplacecommerceanalytics/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,5 +1,18 @@ { "testCases": [ + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://marketplacecommerceanalytics.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, { "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { @@ -8,9 +21,9 @@ } }, "params": { - "UseDualStack": true, "Region": "us-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -21,9 +34,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -34,35 +47,235 @@ } }, "params": { - "UseDualStack": true, "Region": "us-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://marketplacecommerceanalytics.us-east-1.amazonaws.com" + "url": "https://marketplacecommerceanalytics-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://marketplacecommerceanalytics-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://marketplacecommerceanalytics.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://marketplacecommerceanalytics.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://marketplacecommerceanalytics-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://marketplacecommerceanalytics-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://marketplacecommerceanalytics.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://marketplacecommerceanalytics.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://marketplacecommerceanalytics-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://marketplacecommerceanalytics.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://marketplacecommerceanalytics-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://marketplacecommerceanalytics.us-isob-east-1.sc2s.sgov.gov" + } + }, + "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": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -72,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -84,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/marketplaceentitlement/pom.xml b/services/marketplaceentitlement/pom.xml index 086893dbabb5..ad59fbd3bbe2 100644 --- a/services/marketplaceentitlement/pom.xml +++ b/services/marketplaceentitlement/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT marketplaceentitlement AWS Java SDK :: Services :: AWS Marketplace Entitlement diff --git a/services/marketplaceentitlement/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/marketplaceentitlement/src/main/resources/codegen-resources/endpoint-rule-set.json index 5be9fe2463be..4aa393031f09 100644 --- a/services/marketplaceentitlement/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/marketplaceentitlement/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "parseURL", + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,227 +140,200 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://entitlement.marketplace-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] }, { "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] - }, + } + ], + "type": "tree", + "rules": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://entitlement.marketplace-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://entitlement.marketplace-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], "type": "tree", "rules": [ { "conditions": [], "endpoint": { - "url": "https://entitlement.marketplace-fips.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://entitlement.marketplace.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, - { - "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", + "fn": "stringEquals", "argv": [ - true, + "aws", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsDualStack" + "name" ] } ] } ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://entitlement.marketplace.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "endpoint": { + "url": "https://entitlement.marketplace.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://entitlement.marketplace.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://entitlement.marketplace.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/marketplaceentitlement/src/main/resources/codegen-resources/endpoint-tests.json b/services/marketplaceentitlement/src/main/resources/codegen-resources/endpoint-tests.json index 3b981dd73083..e813b500d784 100644 --- a/services/marketplaceentitlement/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/marketplaceentitlement/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,5 +1,18 @@ { "testCases": [ + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://entitlement.marketplace.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, { "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { @@ -8,9 +21,9 @@ } }, "params": { - "UseDualStack": true, "Region": "us-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -21,9 +34,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -34,35 +47,235 @@ } }, "params": { - "UseDualStack": true, "Region": "us-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://entitlement.marketplace.us-east-1.amazonaws.com" + "url": "https://entitlement.marketplace-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://entitlement.marketplace-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://entitlement.marketplace.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://entitlement.marketplace.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://entitlement.marketplace-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://entitlement.marketplace-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://entitlement.marketplace.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://entitlement.marketplace.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://entitlement.marketplace-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://entitlement.marketplace.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://entitlement.marketplace-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://entitlement.marketplace.us-isob-east-1.sc2s.sgov.gov" + } + }, + "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": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -72,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -84,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/marketplacemetering/pom.xml b/services/marketplacemetering/pom.xml index 198f12cafb55..9cbc523b2572 100644 --- a/services/marketplacemetering/pom.xml +++ b/services/marketplacemetering/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT marketplacemetering AWS Java SDK :: Services :: AWS Marketplace Metering Service diff --git a/services/marketplacemetering/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/marketplacemetering/src/main/resources/codegen-resources/endpoint-rule-set.json index e735612b511e..92087e170abc 100644 --- a/services/marketplacemetering/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/marketplacemetering/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,227 +140,225 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://metering.marketplace-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] }, { "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] - }, + } + ], + "type": "tree", + "rules": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://metering.marketplace-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://metering.marketplace-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], "type": "tree", "rules": [ { "conditions": [], "endpoint": { - "url": "https://metering.marketplace-fips.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://metering.marketplace.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, - { - "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", + "fn": "stringEquals", "argv": [ - true, + "aws", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsDualStack" + "name" ] } ] } ], - "type": "tree", - "rules": [ + "endpoint": { + "url": "https://metering.marketplace.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ { - "conditions": [], - "endpoint": { - "url": "https://metering.marketplace.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "fn": "stringEquals", + "argv": [ + "aws-us-gov", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] } - ] + ], + "endpoint": { + "url": "https://metering.marketplace.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://metering.marketplace.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://metering.marketplace.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/marketplacemetering/src/main/resources/codegen-resources/endpoint-tests.json b/services/marketplacemetering/src/main/resources/codegen-resources/endpoint-tests.json index 4b5529242c68..0afe5efd95c2 100644 --- a/services/marketplacemetering/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/marketplacemetering/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,1563 +1,493 @@ { "testCases": [ { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.ap-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.ap-south-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.ap-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.ap-south-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.eu-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.eu-south-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.eu-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.eu-south-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.me-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.me-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.me-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.me-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.eu-central-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.eu-central-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.eu-central-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.eu-central-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://metering.marketplace.sa-east-1.api.aws" + "url": "https://metering.marketplace.af-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": false + "Region": "af-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://metering.marketplace.sa-east-1.amazonaws.com" + "url": "https://metering.marketplace.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": false + "Region": "ap-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://metering.marketplace-fips.ap-east-1.api.aws" + "url": "https://metering.marketplace.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://metering.marketplace-fips.ap-east-1.amazonaws.com" + "url": "https://metering.marketplace.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": true + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://metering.marketplace.ap-east-1.api.aws" + "url": "https://metering.marketplace.ap-northeast-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": false + "Region": "ap-northeast-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://metering.marketplace.ap-east-1.amazonaws.com" + "url": "https://metering.marketplace.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": false + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://metering.marketplace-fips.us-gov-west-1.api.aws" + "url": "https://metering.marketplace.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://metering.marketplace-fips.us-gov-west-1.amazonaws.com" + "url": "https://metering.marketplace.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://metering.marketplace.us-gov-west-1.api.aws" + "url": "https://metering.marketplace.ap-southeast-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "ap-southeast-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://metering.marketplace.us-gov-west-1.amazonaws.com" + "url": "https://metering.marketplace.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://metering.marketplace-fips.ap-southeast-1.api.aws" + "url": "https://metering.marketplace.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://metering.marketplace-fips.ap-southeast-1.amazonaws.com" + "url": "https://metering.marketplace.eu-north-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://metering.marketplace.ap-southeast-1.api.aws" + "url": "https://metering.marketplace.eu-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "eu-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://metering.marketplace.ap-southeast-1.amazonaws.com" + "url": "https://metering.marketplace.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://metering.marketplace-fips.ap-southeast-2.api.aws" + "url": "https://metering.marketplace.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://metering.marketplace-fips.ap-southeast-2.amazonaws.com" + "url": "https://metering.marketplace.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://metering.marketplace.ap-southeast-2.api.aws" + "url": "https://metering.marketplace.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "me-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://metering.marketplace.ap-southeast-2.amazonaws.com" + "url": "https://metering.marketplace.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://metering.marketplace-fips.ap-southeast-3.api.aws" + "url": "https://metering.marketplace.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-3", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://metering.marketplace-fips.ap-southeast-3.amazonaws.com" + "url": "https://metering.marketplace.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-3", - "UseFIPS": true + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://metering.marketplace.ap-southeast-3.api.aws" + "url": "https://metering.marketplace.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-3", - "UseFIPS": false + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://metering.marketplace.ap-southeast-3.amazonaws.com" + "url": "https://metering.marketplace.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-3", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://metering.marketplace-fips.ap-southeast-4.api.aws" + "url": "https://metering.marketplace-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-4", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://metering.marketplace-fips.ap-southeast-4.amazonaws.com" + "url": "https://metering.marketplace-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-4", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://metering.marketplace.ap-southeast-4.api.aws" + "url": "https://metering.marketplace.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-4", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://metering.marketplace.ap-southeast-4.amazonaws.com" + "url": "https://metering.marketplace-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-4", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://metering.marketplace-fips.us-east-1.api.aws" + "url": "https://metering.marketplace-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://metering.marketplace-fips.us-east-1.amazonaws.com" + "url": "https://metering.marketplace.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://metering.marketplace.us-east-1.api.aws" + "url": "https://metering.marketplace.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-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://metering.marketplace.us-east-1.amazonaws.com" + "url": "https://metering.marketplace.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://metering.marketplace-fips.us-east-2.api.aws" + "url": "https://metering.marketplace.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://metering.marketplace-fips.us-east-2.amazonaws.com" + "url": "https://metering.marketplace-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://metering.marketplace.us-east-2.api.aws" + "url": "https://metering.marketplace-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://metering.marketplace.us-east-2.amazonaws.com" + "url": "https://metering.marketplace.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.cn-northwest-1.api.amazonwebservices.com.cn" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://metering.marketplace-fips.cn-northwest-1.amazonaws.com.cn" + "url": "https://metering.marketplace-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://metering.marketplace.cn-northwest-1.api.amazonwebservices.com.cn" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://metering.marketplace.cn-northwest-1.amazonaws.com.cn" + "url": "https://metering.marketplace.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1566,9 +496,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -1579,9 +509,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -1590,9 +520,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -1603,22 +533,35 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1628,9 +571,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1640,11 +583,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/mediaconnect/pom.xml b/services/mediaconnect/pom.xml index 1d3d3f3c9e03..868d716c0930 100644 --- a/services/mediaconnect/pom.xml +++ b/services/mediaconnect/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT mediaconnect AWS Java SDK :: Services :: MediaConnect diff --git a/services/mediaconnect/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/mediaconnect/src/main/resources/codegen-resources/endpoint-rule-set.json index 278e6fff6ecc..be5c34112527 100644 --- a/services/mediaconnect/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/mediaconnect/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://mediaconnect-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://mediaconnect-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://mediaconnect-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://mediaconnect-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://mediaconnect.{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://mediaconnect.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://mediaconnect.{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://mediaconnect.{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/services/mediaconvert/pom.xml b/services/mediaconvert/pom.xml index 9d2eee41040e..21c99eb3209d 100644 --- a/services/mediaconvert/pom.xml +++ b/services/mediaconvert/pom.xml @@ -20,7 +20,7 @@ services software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 mediaconvert diff --git a/services/mediaconvert/src/main/resources/codegen-resources/service-2.json b/services/mediaconvert/src/main/resources/codegen-resources/service-2.json index 1cd4efb6ac81..e47e0d9c3d91 100644 --- a/services/mediaconvert/src/main/resources/codegen-resources/service-2.json +++ b/services/mediaconvert/src/main/resources/codegen-resources/service-2.json @@ -3316,11 +3316,12 @@ }, "CmfcAudioTrackType": { "type": "string", - "documentation": "Use this setting to control the values that MediaConvert puts in your HLS parent playlist to control how the client player selects which audio track to play. The other options for this setting determine the values that MediaConvert writes for the DEFAULT and AUTOSELECT attributes of the EXT-X-MEDIA entry for the audio variant. For more information about these attributes, see the Apple documentation article https://developer.apple.com/documentation/http_live_streaming/example_playlists_for_http_live_streaming/adding_alternate_media_to_a_playlist. Choose Alternate audio, auto select, default to set DEFAULT=YES and AUTOSELECT=YES. Choose this value for only one variant in your output group. Choose Alternate audio, auto select, not default to set DEFAULT=NO and AUTOSELECT=YES. Choose Alternate Audio, Not Auto Select to set DEFAULT=NO and AUTOSELECT=NO. When you don't specify a value for this setting, MediaConvert defaults to Alternate audio, auto select, default. When there is more than one variant in your output group, you must explicitly choose a value for this setting.", + "documentation": "Use this setting to control the values that MediaConvert puts in your HLS parent playlist to control how the client player selects which audio track to play. Choose Audio-only variant stream (AUDIO_ONLY_VARIANT_STREAM) for any variant that you want to prohibit the client from playing with video. This causes MediaConvert to represent the variant as an EXT-X-STREAM-INF in the HLS manifest. The other options for this setting determine the values that MediaConvert writes for the DEFAULT and AUTOSELECT attributes of the EXT-X-MEDIA entry for the audio variant. For more information about these attributes, see the Apple documentation article https://developer.apple.com/documentation/http_live_streaming/example_playlists_for_http_live_streaming/adding_alternate_media_to_a_playlist. Choose Alternate audio, auto select, default to set DEFAULT=YES and AUTOSELECT=YES. Choose this value for only one variant in your output group. Choose Alternate audio, auto select, not default to set DEFAULT=NO and AUTOSELECT=YES. Choose Alternate Audio, Not Auto Select to set DEFAULT=NO and AUTOSELECT=NO. When you don't specify a value for this setting, MediaConvert defaults to Alternate audio, auto select, default. When there is more than one variant in your output group, you must explicitly choose a value for this setting.", "enum": [ "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT", "ALTERNATE_AUDIO_AUTO_SELECT", - "ALTERNATE_AUDIO_NOT_AUTO_SELECT" + "ALTERNATE_AUDIO_NOT_AUTO_SELECT", + "AUDIO_ONLY_VARIANT_STREAM" ] }, "CmfcDescriptiveVideoServiceFlag": { @@ -3392,7 +3393,7 @@ "AudioTrackType": { "shape": "CmfcAudioTrackType", "locationName": "audioTrackType", - "documentation": "Use this setting to control the values that MediaConvert puts in your HLS parent playlist to control how the client player selects which audio track to play. The other options for this setting determine the values that MediaConvert writes for the DEFAULT and AUTOSELECT attributes of the EXT-X-MEDIA entry for the audio variant. For more information about these attributes, see the Apple documentation article https://developer.apple.com/documentation/http_live_streaming/example_playlists_for_http_live_streaming/adding_alternate_media_to_a_playlist. Choose Alternate audio, auto select, default to set DEFAULT=YES and AUTOSELECT=YES. Choose this value for only one variant in your output group. Choose Alternate audio, auto select, not default to set DEFAULT=NO and AUTOSELECT=YES. Choose Alternate Audio, Not Auto Select to set DEFAULT=NO and AUTOSELECT=NO. When you don't specify a value for this setting, MediaConvert defaults to Alternate audio, auto select, default. When there is more than one variant in your output group, you must explicitly choose a value for this setting." + "documentation": "Use this setting to control the values that MediaConvert puts in your HLS parent playlist to control how the client player selects which audio track to play. Choose Audio-only variant stream (AUDIO_ONLY_VARIANT_STREAM) for any variant that you want to prohibit the client from playing with video. This causes MediaConvert to represent the variant as an EXT-X-STREAM-INF in the HLS manifest. The other options for this setting determine the values that MediaConvert writes for the DEFAULT and AUTOSELECT attributes of the EXT-X-MEDIA entry for the audio variant. For more information about these attributes, see the Apple documentation article https://developer.apple.com/documentation/http_live_streaming/example_playlists_for_http_live_streaming/adding_alternate_media_to_a_playlist. Choose Alternate audio, auto select, default to set DEFAULT=YES and AUTOSELECT=YES. Choose this value for only one variant in your output group. Choose Alternate audio, auto select, not default to set DEFAULT=NO and AUTOSELECT=YES. Choose Alternate Audio, Not Auto Select to set DEFAULT=NO and AUTOSELECT=NO. When you don't specify a value for this setting, MediaConvert defaults to Alternate audio, auto select, default. When there is more than one variant in your output group, you must explicitly choose a value for this setting." }, "DescriptiveVideoServiceFlag": { "shape": "CmfcDescriptiveVideoServiceFlag", @@ -5695,6 +5696,14 @@ "STATIC" ] }, + "H264EndOfStreamMarkers": { + "type": "string", + "documentation": "Optionally include or suppress markers at the end of your output that signal the end of the video stream. To include end of stream markers: Leave blank or keep the default value, Include. To not include end of stream markers: Choose Suppress. This is useful when your output will be inserted into another stream.", + "enum": [ + "INCLUDE", + "SUPPRESS" + ] + }, "H264EntropyEncoding": { "type": "string", "documentation": "Entropy encoding mode. Use CABAC (must be in Main or High profile) or CAVLC.", @@ -5870,6 +5879,11 @@ "locationName": "dynamicSubGop", "documentation": "Specify whether to allow the number of B-frames in your output GOP structure to vary or not depending on your input video content. To improve the subjective video quality of your output that has high-motion content: Leave blank or keep the default value Adaptive. MediaConvert will use fewer B-frames for high-motion video content than low-motion content. The maximum number of B- frames is limited by the value that you choose for B-frames between reference frames. To use the same number B-frames for all types of content: Choose Static." }, + "EndOfStreamMarkers": { + "shape": "H264EndOfStreamMarkers", + "locationName": "endOfStreamMarkers", + "documentation": "Optionally include or suppress markers at the end of your output that signal the end of the video stream. To include end of stream markers: Leave blank or keep the default value, Include. To not include end of stream markers: Choose Suppress. This is useful when your output will be inserted into another stream." + }, "EntropyEncoding": { "shape": "H264EntropyEncoding", "locationName": "entropyEncoding", @@ -6165,6 +6179,14 @@ "STATIC" ] }, + "H265EndOfStreamMarkers": { + "type": "string", + "documentation": "Optionally include or suppress markers at the end of your output that signal the end of the video stream. To include end of stream markers: Leave blank or keep the default value, Include. To not include end of stream markers: Choose Suppress. This is useful when your output will be inserted into another stream.", + "enum": [ + "INCLUDE", + "SUPPRESS" + ] + }, "H265FlickerAdaptiveQuantization": { "type": "string", "documentation": "Enable this setting to have the encoder reduce I-frame pop. I-frame pop appears as a visual flicker that can arise when the encoder saves bits by copying some macroblocks many times from frame to frame, and then refreshes them at the I-frame. When you enable this setting, the encoder updates these macroblocks slightly more often to smooth out the flicker. This setting is disabled by default. Related setting: In addition to enabling this setting, you must also set adaptiveQuantization to a value other than Off.", @@ -6329,6 +6351,11 @@ "locationName": "dynamicSubGop", "documentation": "Specify whether to allow the number of B-frames in your output GOP structure to vary or not depending on your input video content. To improve the subjective video quality of your output that has high-motion content: Leave blank or keep the default value Adaptive. MediaConvert will use fewer B-frames for high-motion video content than low-motion content. The maximum number of B- frames is limited by the value that you choose for B-frames between reference frames. To use the same number B-frames for all types of content: Choose Static." }, + "EndOfStreamMarkers": { + "shape": "H265EndOfStreamMarkers", + "locationName": "endOfStreamMarkers", + "documentation": "Optionally include or suppress markers at the end of your output that signal the end of the video stream. To include end of stream markers: Leave blank or keep the default value, Include. To not include end of stream markers: Choose Suppress. This is useful when your output will be inserted into another stream." + }, "FlickerAdaptiveQuantization": { "shape": "H265FlickerAdaptiveQuantization", "locationName": "flickerAdaptiveQuantization", @@ -7434,6 +7461,11 @@ "locationName": "videoGenerator", "documentation": "When you include Video generator, MediaConvert creates a video input with black frames. Use this setting if you do not have a video input or if you want to add black video frames before, or after, other inputs. You can specify Video generator, or you can specify an Input file, but you cannot specify both. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/video-generator.html" }, + "VideoOverlays": { + "shape": "__listOfVideoOverlay", + "locationName": "videoOverlays", + "documentation": "Contains an array of video overlays." + }, "VideoSelector": { "shape": "VideoSelector", "locationName": "videoSelector", @@ -7651,6 +7683,11 @@ "locationName": "timecodeStart", "documentation": "Specify the timecode that you want the service to use for this input's initial frame. To use this setting, you must set the Timecode source setting, located under the input settings, to Specified start. For more information about timecodes, see https://docs.aws.amazon.com/console/mediaconvert/timecode." }, + "VideoOverlays": { + "shape": "__listOfVideoOverlay", + "locationName": "videoOverlays", + "documentation": "Contains an array of video overlays." + }, "VideoSelector": { "shape": "VideoSelector", "locationName": "videoSelector", @@ -11155,7 +11192,7 @@ "StorageClass": { "shape": "S3StorageClass", "locationName": "storageClass", - "documentation": "Specify the S3 storage class to use for this destination." + "documentation": "Specify the S3 storage class to use for this output. To use your destination's default storage class: Keep the default value, Not set. For more information about S3 storage classes, see https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html" } }, "documentation": "Settings associated with S3 destination" @@ -11201,7 +11238,7 @@ }, "S3StorageClass": { "type": "string", - "documentation": "Specify the S3 storage class to use for this destination.", + "documentation": "Specify the S3 storage class to use for this output. To use your destination's default storage class: Keep the default value, Not set. For more information about S3 storage classes, see https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html", "enum": [ "STANDARD", "REDUCED_REDUNDANCY", @@ -11278,7 +11315,7 @@ "documentation": "Relates to SPEKE implementation. DRM system identifiers. DASH output groups support a max of two system ids. Other group types support one system id. See\n https://dashif.org/identifiers/content_protection/ for more details." }, "Url": { - "shape": "__stringPatternHttps", + "shape": "__stringPatternHttpsD", "locationName": "url", "documentation": "Specify the URL to the key server that your SPEKE-compliant DRM key provider uses to provide keys for encrypting your content." } @@ -11309,7 +11346,7 @@ "documentation": "Specify the resource ID that your SPEKE-compliant key provider uses to identify this content." }, "Url": { - "shape": "__stringPatternHttps", + "shape": "__stringPatternHttpsD", "locationName": "url", "documentation": "Specify the URL to the key server that your SPEKE-compliant DRM key provider uses to provide keys for encrypting your content." } @@ -12078,6 +12115,69 @@ }, "documentation": "Contains details about the output's video stream" }, + "VideoOverlay": { + "type": "structure", + "members": { + "EndTimecode": { + "shape": "__stringPattern010920405090509092", + "locationName": "endTimecode", + "documentation": "Enter the end timecode in the underlying input video for this overlay. Your overlay will be active through this frame. To display your video overlay for the duration of the underlying video: Leave blank. Use the format HH:MM:SS:FF or HH:MM:SS;FF, where HH is the hour, MM is the minute, SS is the second, and FF is the frame number. When entering this value, take into account your choice for the underlying Input timecode source. For example, if you have embedded timecodes that start at 01:00:00:00 and you want your overlay to end ten minutes into the video, enter 01:10:00:00." + }, + "Input": { + "shape": "VideoOverlayInput", + "locationName": "input", + "documentation": "Input settings for Video overlay. You can include one or more video overlays in sequence at different times that you specify." + }, + "StartTimecode": { + "shape": "__stringPattern010920405090509092", + "locationName": "startTimecode", + "documentation": "Enter the start timecode in the underlying input video for this overlay. Your overlay will be active starting with this frame. To display your video overlay starting at the beginning of the underlying video: Leave blank. Use the format HH:MM:SS:FF or HH:MM:SS;FF, where HH is the hour, MM is the minute, SS is the second, and FF is the frame number. When entering this value, take into account your choice for the underlying Input timecode source. For example, if you have embedded timecodes that start at 01:00:00:00 and you want your overlay to begin five minutes into the video, enter 01:05:00:00." + } + }, + "documentation": "Overlay one or more videos on top of your input video." + }, + "VideoOverlayInput": { + "type": "structure", + "members": { + "FileInput": { + "shape": "__stringPatternS3Https", + "locationName": "fileInput", + "documentation": "Specify the input file S3, HTTP, or HTTPS URI for your video overlay. For consistency in color and formatting in your output video image, we recommend that you specify a video with similar characteristics as the underlying input video." + }, + "InputClippings": { + "shape": "__listOfVideoOverlayInputClipping", + "locationName": "inputClippings", + "documentation": "Specify one or more clips to use from your video overlay. When you include an input clip, you must also specify its start timecode, end timecode, or both start and end timecode." + }, + "TimecodeSource": { + "shape": "InputTimecodeSource", + "locationName": "timecodeSource", + "documentation": "Specify the starting timecode for your video overlay. To use the timecode present in your video overlay: Choose Embedded. To use a zerobased timecode: Choose Start at 0. To choose a timecode: Choose Specified start. When you do, enter the starting timecode in Start timecode. If you don't specify a value for Timecode source, MediaConvert uses Embedded by default." + }, + "TimecodeStart": { + "shape": "__stringMin11Max11Pattern01D20305D205D", + "locationName": "timecodeStart", + "documentation": "Specify the starting timecode for this video overlay. To use this setting, you must set Timecode source to Specified start." + } + }, + "documentation": "Input settings for Video overlay. You can include one or more video overlays in sequence at different times that you specify." + }, + "VideoOverlayInputClipping": { + "type": "structure", + "members": { + "EndTimecode": { + "shape": "__stringPattern010920405090509092", + "locationName": "endTimecode", + "documentation": "Specify the timecode of the last frame to include in your video overlay's clip. Use the format HH:MM:SS:FF or HH:MM:SS;FF, where HH is the hour, MM is the minute, SS is the second, and FF is the frame number. When entering this value, take into account your choice for Timecode source." + }, + "StartTimecode": { + "shape": "__stringPattern010920405090509092", + "locationName": "startTimecode", + "documentation": "Specify the timecode of the first frame to include in your video overlay's clip. Use the format HH:MM:SS:FF or HH:MM:SS;FF, where HH is the hour, MM is the minute, SS is the second, and FF is the frame number. When entering this value, take into account your choice for Timecode source." + } + }, + "documentation": "To transcode only portions of your video overlay, include one input clip for each part of your video overlay that you want in your output." + }, "VideoPreprocessor": { "type": "structure", "members": { @@ -13657,6 +13757,18 @@ "shape": "TeletextPageType" } }, + "__listOfVideoOverlay": { + "type": "list", + "member": { + "shape": "VideoOverlay" + } + }, + "__listOfVideoOverlayInputClipping": { + "type": "list", + "member": { + "shape": "VideoOverlayInputClipping" + } + }, "__listOfWarningGroup": { "type": "list", "member": { @@ -13931,6 +14043,10 @@ "type": "string", "pattern": "^https:\\/\\/" }, + "__stringPatternHttpsD": { + "type": "string", + "pattern": "^https:\\/\\/[^:@\\/]*(:\\d*)?(\\/.*)?$" + }, "__stringPatternHttpsKantarmedia": { "type": "string", "pattern": "^https:\\/\\/.*.kantarmedia.*$" @@ -13977,4 +14093,4 @@ } }, "documentation": "AWS Elemental MediaConvert" -} +} \ No newline at end of file diff --git a/services/medialive/pom.xml b/services/medialive/pom.xml index f005a1eea3c0..ff8ae35169d4 100644 --- a/services/medialive/pom.xml +++ b/services/medialive/pom.xml @@ -20,7 +20,7 @@ services software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 medialive diff --git a/services/medialive/src/main/resources/codegen-resources/service-2.json b/services/medialive/src/main/resources/codegen-resources/service-2.json index 4137904a5e69..5d8a78ccfcf6 100644 --- a/services/medialive/src/main/resources/codegen-resources/service-2.json +++ b/services/medialive/src/main/resources/codegen-resources/service-2.json @@ -2270,6 +2270,56 @@ ], "documentation": "Starts an existing channel" }, + "StartInputDevice": { + "name": "StartInputDevice", + "http": { + "method": "POST", + "requestUri": "/prod/inputDevices/{inputDeviceId}/start", + "responseCode": 200 + }, + "input": { + "shape": "StartInputDeviceRequest" + }, + "output": { + "shape": "StartInputDeviceResponse", + "documentation": "Your start request has succeeded." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request was invalid." + }, + { + "shape": "UnprocessableEntityException", + "documentation": "Start operation failed, input could not be validated." + }, + { + "shape": "InternalServerErrorException", + "documentation": "Unexpected internal service error." + }, + { + "shape": "ForbiddenException", + "documentation": "You do not have permission to start the input device." + }, + { + "shape": "BadGatewayException", + "documentation": "Bad gateway error." + }, + { + "shape": "NotFoundException", + "documentation": "Input device not found." + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error" + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on start device calls to the input device service." + } + ], + "documentation": "Start an input device that is attached to a MediaConnect flow. (There is no need to start a device that is attached to a MediaLive input; MediaLive starts the device when the channel starts.)" + }, "StartInputDeviceMaintenanceWindow": { "name": "StartInputDeviceMaintenanceWindow", "http": { @@ -2420,6 +2470,56 @@ ], "documentation": "Stops a running channel" }, + "StopInputDevice": { + "name": "StopInputDevice", + "http": { + "method": "POST", + "requestUri": "/prod/inputDevices/{inputDeviceId}/stop", + "responseCode": 200 + }, + "input": { + "shape": "StopInputDeviceRequest" + }, + "output": { + "shape": "StopInputDeviceResponse", + "documentation": "Your stop request has succeeded." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request was invalid." + }, + { + "shape": "UnprocessableEntityException", + "documentation": "Start operation failed, input could not be validated." + }, + { + "shape": "InternalServerErrorException", + "documentation": "Unexpected internal service error." + }, + { + "shape": "ForbiddenException", + "documentation": "You do not have permission to stop the input device." + }, + { + "shape": "BadGatewayException", + "documentation": "Bad gateway error." + }, + { + "shape": "NotFoundException", + "documentation": "Input device not found." + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error" + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on stop device calls to the input device service." + } + ], + "documentation": "Stop an input device that is attached to a MediaConnect flow. (There is no need to stop a device that is attached to a MediaLive input; MediaLive automatically stops the device when the channel stops.)" + }, "StopMultiplex": { "name": "StopMultiplex", "http": { @@ -6159,6 +6259,16 @@ "shape": "__string", "locationName": "availabilityZone", "documentation": "The Availability Zone associated with this input device." + }, + "MedialiveInputArns": { + "shape": "__listOf__string", + "locationName": "medialiveInputArns", + "documentation": "An array of the ARNs for the MediaLive inputs attached to the device. Returned only if the outputType is MEDIALIVE_INPUT." + }, + "OutputType": { + "shape": "InputDeviceOutputType", + "locationName": "outputType", + "documentation": "The output attachment type of the input device. Specifies MEDIACONNECT_FLOW if this device is the source for a MediaConnect flow. Specifies MEDIALIVE_INPUT if this device is the source for a MediaLive input." } }, "documentation": "Placeholder documentation for DescribeInputDeviceResponse" @@ -9845,6 +9955,16 @@ "shape": "__string", "locationName": "availabilityZone", "documentation": "The Availability Zone associated with this input device." + }, + "MedialiveInputArns": { + "shape": "__listOf__string", + "locationName": "medialiveInputArns", + "documentation": "An array of the ARNs for the MediaLive inputs attached to the device. Returned only if the outputType is MEDIALIVE_INPUT." + }, + "OutputType": { + "shape": "InputDeviceOutputType", + "locationName": "outputType", + "documentation": "The output attachment type of the input device. Specifies MEDIACONNECT_FLOW if this device is the source for a MediaConnect flow. Specifies MEDIALIVE_INPUT if this device is the source for a MediaLive input." } }, "documentation": "An input device." @@ -9857,6 +9977,14 @@ "SDI" ] }, + "InputDeviceCodec": { + "type": "string", + "documentation": "The codec to use on the video that the device produces.", + "enum": [ + "HEVC", + "AVC" + ] + }, "InputDeviceConfigurableSettings": { "type": "structure", "members": { @@ -9874,6 +10002,16 @@ "shape": "__integer", "locationName": "latencyMs", "documentation": "The Link device's buffer size (latency) in milliseconds (ms)." + }, + "Codec": { + "shape": "InputDeviceCodec", + "locationName": "codec", + "documentation": "Choose the codec for the video that the device produces. Only UHD devices can specify this parameter." + }, + "MediaconnectSettings": { + "shape": "InputDeviceMediaConnectConfigurableSettings", + "locationName": "mediaconnectSettings", + "documentation": "To attach this device to a MediaConnect flow, specify these parameters. To detach an existing flow, enter {} for the value of mediaconnectSettings. Only UHD devices can specify this parameter." } }, "documentation": "Configurable settings for the input device." @@ -9970,6 +10108,58 @@ "DHCP" ] }, + "InputDeviceMediaConnectConfigurableSettings": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The ARN of the MediaConnect flow to attach this device to." + }, + "RoleArn": { + "shape": "__string", + "locationName": "roleArn", + "documentation": "The ARN for the role that MediaLive assumes to access the attached flow and secret. For more information about how to create this role, see the MediaLive user guide." + }, + "SecretArn": { + "shape": "__string", + "locationName": "secretArn", + "documentation": "The ARN for the secret that holds the encryption key to encrypt the content output by the device." + }, + "SourceName": { + "shape": "__string", + "locationName": "sourceName", + "documentation": "The name of the MediaConnect Flow source to stream to." + } + }, + "documentation": "Parameters required to attach a MediaConnect flow to the device." + }, + "InputDeviceMediaConnectSettings": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The ARN of the MediaConnect flow." + }, + "RoleArn": { + "shape": "__string", + "locationName": "roleArn", + "documentation": "The ARN for the role that MediaLive assumes to access the attached flow and secret." + }, + "SecretArn": { + "shape": "__string", + "locationName": "secretArn", + "documentation": "The ARN of the secret used to encrypt the stream." + }, + "SourceName": { + "shape": "__string", + "locationName": "sourceName", + "documentation": "The name of the MediaConnect flow source." + } + }, + "documentation": "Information about the MediaConnect flow attached to the device." + }, "InputDeviceNetworkSettings": { "type": "structure", "members": { @@ -10001,6 +10191,15 @@ }, "documentation": "The network settings for the input device." }, + "InputDeviceOutputType": { + "type": "string", + "documentation": "The output attachment type of the input device.", + "enum": [ + "NONE", + "MEDIALIVE_INPUT", + "MEDIACONNECT_FLOW" + ] + }, "InputDeviceRequest": { "type": "structure", "members": { @@ -10111,6 +10310,16 @@ "shape": "__string", "locationName": "availabilityZone", "documentation": "The Availability Zone associated with this input device." + }, + "MedialiveInputArns": { + "shape": "__listOf__string", + "locationName": "medialiveInputArns", + "documentation": "An array of the ARNs for the MediaLive inputs attached to the device. Returned only if the outputType is MEDIALIVE_INPUT." + }, + "OutputType": { + "shape": "InputDeviceOutputType", + "locationName": "outputType", + "documentation": "The output attachment type of the input device. Specifies MEDIACONNECT_FLOW if this device is the source for a MediaConnect flow. Specifies MEDIALIVE_INPUT if this device is the source for a MediaLive input." } }, "documentation": "Details of the input device." @@ -10178,6 +10387,16 @@ "shape": "__integer", "locationName": "latencyMs", "documentation": "The Link device's buffer size (latency) in milliseconds (ms). You can specify this value." + }, + "Codec": { + "shape": "InputDeviceCodec", + "locationName": "codec", + "documentation": "The codec for the video that the device produces." + }, + "MediaconnectSettings": { + "shape": "InputDeviceMediaConnectSettings", + "locationName": "mediaconnectSettings", + "documentation": "Information about the MediaConnect flow attached to the device. Returned only if the outputType is MEDIACONNECT_FLOW." } }, "documentation": "Settings that describe the active source from the input device, and the video characteristics of that source." @@ -14746,6 +14965,27 @@ }, "documentation": "Placeholder documentation for StartInputDeviceMaintenanceWindowResponse" }, + "StartInputDeviceRequest": { + "type": "structure", + "members": { + "InputDeviceId": { + "shape": "__string", + "location": "uri", + "locationName": "inputDeviceId", + "documentation": "The unique ID of the input device to reboot. For example, hd-123456789abcdef." + } + }, + "required": [ + "InputDeviceId" + ], + "documentation": "Placeholder documentation for StartInputDeviceRequest" + }, + "StartInputDeviceResponse": { + "type": "structure", + "members": { + }, + "documentation": "Placeholder documentation for StartInputDeviceResponse" + }, "StartMultiplexRequest": { "type": "structure", "members": { @@ -15031,6 +15271,27 @@ }, "documentation": "Placeholder documentation for StopChannelResponse" }, + "StopInputDeviceRequest": { + "type": "structure", + "members": { + "InputDeviceId": { + "shape": "__string", + "location": "uri", + "locationName": "inputDeviceId", + "documentation": "The unique ID of the input device to reboot. For example, hd-123456789abcdef." + } + }, + "required": [ + "InputDeviceId" + ], + "documentation": "Placeholder documentation for StopInputDeviceRequest" + }, + "StopInputDeviceResponse": { + "type": "structure", + "members": { + }, + "documentation": "Placeholder documentation for StopInputDeviceResponse" + }, "StopMultiplexRequest": { "type": "structure", "members": { @@ -15938,6 +16199,16 @@ "shape": "__string", "locationName": "availabilityZone", "documentation": "The Availability Zone associated with this input device." + }, + "MedialiveInputArns": { + "shape": "__listOf__string", + "locationName": "medialiveInputArns", + "documentation": "An array of the ARNs for the MediaLive inputs attached to the device. Returned only if the outputType is MEDIALIVE_INPUT." + }, + "OutputType": { + "shape": "InputDeviceOutputType", + "locationName": "outputType", + "documentation": "The output attachment type of the input device. Specifies MEDIACONNECT_FLOW if this device is the source for a MediaConnect flow. Specifies MEDIALIVE_INPUT if this device is the source for a MediaLive input." } }, "documentation": "Placeholder documentation for UpdateInputDeviceResponse" diff --git a/services/mediapackage/pom.xml b/services/mediapackage/pom.xml index 1a083744eb11..e61d009bd370 100644 --- a/services/mediapackage/pom.xml +++ b/services/mediapackage/pom.xml @@ -20,7 +20,7 @@ services software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 mediapackage diff --git a/services/mediapackagev2/pom.xml b/services/mediapackagev2/pom.xml index 855e5893f57a..0cad2c4ac823 100644 --- a/services/mediapackagev2/pom.xml +++ b/services/mediapackagev2/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT mediapackagev2 AWS Java SDK :: Services :: Media Package V2 diff --git a/services/mediapackagev2/src/main/resources/codegen-resources/endpoint-tests.json b/services/mediapackagev2/src/main/resources/codegen-resources/endpoint-tests.json index a74e6078b1d1..94df0b1e9be2 100644 --- a/services/mediapackagev2/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/mediapackagev2/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,54 +1,54 @@ { "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://mediapackagev2-fips.us-gov-east-1.api.aws" + "url": "https://mediapackagev2-fips.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": 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://mediapackagev2-fips.us-gov-east-1.amazonaws.com" + "url": "https://mediapackagev2-fips.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "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://mediapackagev2.us-gov-east-1.api.aws" + "url": "https://mediapackagev2.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "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://mediapackagev2.us-gov-east-1.amazonaws.com" + "url": "https://mediapackagev2.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-gov-east-1", "UseDualStack": false } }, @@ -60,8 +60,8 @@ } }, "params": { - "UseFIPS": true, "Region": "cn-north-1", + "UseFIPS": true, "UseDualStack": true } }, @@ -73,8 +73,8 @@ } }, "params": { - "UseFIPS": true, "Region": "cn-north-1", + "UseFIPS": true, "UseDualStack": false } }, @@ -86,8 +86,8 @@ } }, "params": { - "UseFIPS": false, "Region": "cn-north-1", + "UseFIPS": false, "UseDualStack": true } }, @@ -99,108 +99,108 @@ } }, "params": { - "UseFIPS": false, "Region": "cn-north-1", + "UseFIPS": false, "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://mediapackagev2-fips.us-gov-east-1.api.aws" + } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": 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://mediapackagev2-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://mediapackagev2-fips.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "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://mediapackagev2.us-gov-east-1.api.aws" + } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "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://mediapackagev2.us-iso-east-1.c2s.ic.gov" + "url": "https://mediapackagev2.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": 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://mediapackagev2-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, - "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://mediapackagev2-fips.us-east-1.amazonaws.com" + "url": "https://mediapackagev2-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "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://mediapackagev2.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "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://mediapackagev2.us-east-1.amazonaws.com" + "url": "https://mediapackagev2.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "us-east-1", "UseDualStack": false } }, @@ -210,8 +210,8 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseFIPS": true, "Region": "us-isob-east-1", + "UseFIPS": true, "UseDualStack": true } }, @@ -223,8 +223,8 @@ } }, "params": { - "UseFIPS": true, "Region": "us-isob-east-1", + "UseFIPS": true, "UseDualStack": false } }, @@ -234,8 +234,8 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseFIPS": false, "Region": "us-isob-east-1", + "UseFIPS": false, "UseDualStack": true } }, @@ -247,21 +247,34 @@ } }, "params": { - "UseFIPS": false, "Region": "us-isob-east-1", + "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, "UseDualStack": false, "Endpoint": "https://example.com" } @@ -272,8 +285,8 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, "UseDualStack": false, "Endpoint": "https://example.com" } @@ -284,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/mediapackagevod/pom.xml b/services/mediapackagevod/pom.xml index 2e286227aa8f..d87e5c5b3be4 100644 --- a/services/mediapackagevod/pom.xml +++ b/services/mediapackagevod/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT mediapackagevod AWS Java SDK :: Services :: MediaPackage Vod diff --git a/services/mediapackagevod/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/mediapackagevod/src/main/resources/codegen-resources/endpoint-rule-set.json index 3eaa1b287505..17052ba43954 100644 --- a/services/mediapackagevod/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/mediapackagevod/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://mediapackage-vod-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://mediapackage-vod-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://mediapackage-vod-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://mediapackage-vod-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://mediapackage-vod.{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://mediapackage-vod.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://mediapackage-vod.{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://mediapackage-vod.{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/services/mediapackagevod/src/main/resources/codegen-resources/endpoint-tests.json b/services/mediapackagevod/src/main/resources/codegen-resources/endpoint-tests.json index 95b68648ae59..9d5d29f4909a 100644 --- a/services/mediapackagevod/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/mediapackagevod/src/main/resources/codegen-resources/endpoint-tests.json @@ -338,6 +338,17 @@ "UseDualStack": false } }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, { "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { @@ -351,6 +362,17 @@ "UseDualStack": false } }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, { "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { @@ -364,6 +386,17 @@ "UseDualStack": false } }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, { "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { @@ -377,6 +410,17 @@ "UseDualStack": false } }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, { "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { @@ -440,6 +484,12 @@ "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/mediastore/pom.xml b/services/mediastore/pom.xml index 4cf4582b47e1..c4ee8cb790a0 100644 --- a/services/mediastore/pom.xml +++ b/services/mediastore/pom.xml @@ -20,7 +20,7 @@ services software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 mediastore diff --git a/services/mediastore/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/mediastore/src/main/resources/codegen-resources/endpoint-rule-set.json index 94f0ac2abfa7..9c42f3de3e99 100644 --- a/services/mediastore/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/mediastore/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://mediastore-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://mediastore-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://mediastore.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://mediastore.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://mediastore.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://mediastore.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/mediastore/src/main/resources/codegen-resources/endpoint-tests.json b/services/mediastore/src/main/resources/codegen-resources/endpoint-tests.json index 70527238841f..755d484b1006 100644 --- a/services/mediastore/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/mediastore/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,42 +1,42 @@ { "testCases": [ { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mediastore-fips.eu-central-1.api.aws" + "url": "https://mediastore.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mediastore-fips.eu-central-1.amazonaws.com" + "url": "https://mediastore.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mediastore.eu-central-1.api.aws" + "url": "https://mediastore.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -47,100 +47,9 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mediastore-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mediastore-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mediastore.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mediastore.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mediastore-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://mediastore-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mediastore.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -151,334 +60,326 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-north-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mediastore-fips.eu-west-2.api.aws" + "url": "https://mediastore.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mediastore-fips.eu-west-2.amazonaws.com" + "url": "https://mediastore.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, "Region": "eu-west-2", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mediastore.eu-west-2.api.aws" + "url": "https://mediastore.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mediastore.eu-west-2.amazonaws.com" + "url": "https://mediastore.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://mediastore-fips.eu-west-1.api.aws" + "url": "https://mediastore-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mediastore-fips.eu-west-1.amazonaws.com" + "url": "https://mediastore-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://mediastore.eu-west-1.api.aws" + "url": "https://mediastore.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://mediastore.eu-west-1.amazonaws.com" + "url": "https://mediastore-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mediastore-fips.ap-northeast-2.api.aws" + "url": "https://mediastore-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://mediastore-fips.ap-northeast-2.amazonaws.com" + "url": "https://mediastore.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mediastore.ap-northeast-2.api.aws" + "url": "https://mediastore.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://mediastore.ap-northeast-2.amazonaws.com" + "url": "https://mediastore-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mediastore-fips.ap-northeast-1.api.aws" + "url": "https://mediastore-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://mediastore-fips.ap-northeast-1.amazonaws.com" + "url": "https://mediastore.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mediastore.ap-northeast-1.api.aws" + "url": "https://mediastore.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://mediastore.ap-northeast-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mediastore-fips.ap-southeast-2.api.aws" + "url": "https://mediastore-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://mediastore-fips.ap-southeast-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mediastore.ap-southeast-2.api.aws" + "url": "https://mediastore.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://mediastore.ap-southeast-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mediastore-fips.us-east-1.api.aws" + "url": "https://mediastore-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://mediastore-fips.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mediastore.us-east-1.api.aws" + "url": "https://mediastore.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://mediastore.us-east-1.amazonaws.com" + "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -488,9 +389,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -500,11 +401,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/mediastoredata/pom.xml b/services/mediastoredata/pom.xml index 9ee3763fec92..69e8d8179b34 100644 --- a/services/mediastoredata/pom.xml +++ b/services/mediastoredata/pom.xml @@ -20,7 +20,7 @@ services software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 mediastoredata diff --git a/services/mediastoredata/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/mediastoredata/src/main/resources/codegen-resources/endpoint-rule-set.json index 9953f98cbf94..771af4673ece 100644 --- a/services/mediastoredata/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/mediastoredata/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://data.mediastore-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://data.mediastore-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://data.mediastore.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://data.mediastore.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://data.mediastore.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://data.mediastore.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/mediastoredata/src/main/resources/codegen-resources/endpoint-tests.json b/services/mediastoredata/src/main/resources/codegen-resources/endpoint-tests.json index 17c075f4f678..ea62b3f08a60 100644 --- a/services/mediastoredata/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/mediastoredata/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,42 +1,42 @@ { "testCases": [ { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.mediastore-fips.eu-central-1.api.aws" + "url": "https://data.mediastore.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.mediastore-fips.eu-central-1.amazonaws.com" + "url": "https://data.mediastore.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.mediastore.eu-central-1.api.aws" + "url": "https://data.mediastore.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -47,100 +47,9 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data.mediastore-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.mediastore-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data.mediastore.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.mediastore.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data.mediastore-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://data.mediastore-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://data.mediastore.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -151,334 +60,326 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-north-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.mediastore-fips.eu-west-2.api.aws" + "url": "https://data.mediastore.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.mediastore-fips.eu-west-2.amazonaws.com" + "url": "https://data.mediastore.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, "Region": "eu-west-2", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.mediastore.eu-west-2.api.aws" + "url": "https://data.mediastore.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.mediastore.eu-west-2.amazonaws.com" + "url": "https://data.mediastore.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://data.mediastore-fips.eu-west-1.api.aws" + "url": "https://data.mediastore-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.mediastore-fips.eu-west-1.amazonaws.com" + "url": "https://data.mediastore-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://data.mediastore.eu-west-1.api.aws" + "url": "https://data.mediastore.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://data.mediastore.eu-west-1.amazonaws.com" + "url": "https://data.mediastore-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.mediastore-fips.ap-northeast-2.api.aws" + "url": "https://data.mediastore-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://data.mediastore-fips.ap-northeast-2.amazonaws.com" + "url": "https://data.mediastore.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.mediastore.ap-northeast-2.api.aws" + "url": "https://data.mediastore.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://data.mediastore.ap-northeast-2.amazonaws.com" + "url": "https://data.mediastore-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.mediastore-fips.ap-northeast-1.api.aws" + "url": "https://data.mediastore-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://data.mediastore-fips.ap-northeast-1.amazonaws.com" + "url": "https://data.mediastore.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.mediastore.ap-northeast-1.api.aws" + "url": "https://data.mediastore.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://data.mediastore.ap-northeast-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.mediastore-fips.ap-southeast-2.api.aws" + "url": "https://data.mediastore-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://data.mediastore-fips.ap-southeast-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.mediastore.ap-southeast-2.api.aws" + "url": "https://data.mediastore.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://data.mediastore.ap-southeast-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.mediastore-fips.us-east-1.api.aws" + "url": "https://data.mediastore-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://data.mediastore-fips.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://data.mediastore.us-east-1.api.aws" + "url": "https://data.mediastore.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://data.mediastore.us-east-1.amazonaws.com" + "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -488,9 +389,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -500,11 +401,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/mediatailor/pom.xml b/services/mediatailor/pom.xml index 046adc0af14e..40cab1da510f 100644 --- a/services/mediatailor/pom.xml +++ b/services/mediatailor/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT mediatailor AWS Java SDK :: Services :: MediaTailor diff --git a/services/mediatailor/src/main/resources/codegen-resources/service-2.json b/services/mediatailor/src/main/resources/codegen-resources/service-2.json index f7fade28b139..fd0b025e85ca 100644 --- a/services/mediatailor/src/main/resources/codegen-resources/service-2.json +++ b/services/mediatailor/src/main/resources/codegen-resources/service-2.json @@ -587,6 +587,22 @@ "type":"list", "member":{"shape":"KeyValuePair"} }, + "AdBreakOpportunities":{ + "type":"list", + "member":{"shape":"AdBreakOpportunity"}, + "documentation":"

      The list of ad break opportunities detected within the VOD source.

      " + }, + "AdBreakOpportunity":{ + "type":"structure", + "required":["OffsetMillis"], + "members":{ + "OffsetMillis":{ + "shape":"__long", + "documentation":"

      The offset in milliseconds from the start of the VOD source at which an ad marker was detected.

      " + } + }, + "documentation":"

      A location at which a zero-duration ad marker was detected in a VOD source manifest.

      " + }, "AdMarkerPassthrough":{ "type":"structure", "members":{ @@ -1838,6 +1854,10 @@ "DescribeVodSourceResponse":{ "type":"structure", "members":{ + "AdBreakOpportunities":{ + "shape":"AdBreakOpportunities", + "documentation":"

      The ad break opportunities within the VOD source.

      " + }, "Arn":{ "shape":"__string", "documentation":"

      The ARN of the VOD source.

      " diff --git a/services/medicalimaging/pom.xml b/services/medicalimaging/pom.xml index 6f506ec3c0c5..3bc692b11705 100644 --- a/services/medicalimaging/pom.xml +++ b/services/medicalimaging/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT medicalimaging AWS Java SDK :: Services :: Medical Imaging diff --git a/services/medicalimaging/src/main/resources/codegen-resources/endpoint-tests.json b/services/medicalimaging/src/main/resources/codegen-resources/endpoint-tests.json index bbca79c2a27e..6ed7bab23a22 100644 --- a/services/medicalimaging/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/medicalimaging/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,53 +1,53 @@ { "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://medical-imaging-fips.us-gov-east-1.api.aws" + "url": "https://medical-imaging-fips.us-east-1.api.aws" } }, "params": { - "Region": "us-gov-east-1", + "Region": "us-east-1", "UseFIPS": true, "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://medical-imaging-fips.us-gov-east-1.amazonaws.com" + "url": "https://medical-imaging-fips.us-east-1.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", + "Region": "us-east-1", "UseFIPS": true, "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://medical-imaging.us-gov-east-1.api.aws" + "url": "https://medical-imaging.us-east-1.api.aws" } }, "params": { - "Region": "us-gov-east-1", + "Region": "us-east-1", "UseFIPS": false, "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://medical-imaging.us-gov-east-1.amazonaws.com" + "url": "https://medical-imaging.us-east-1.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": false } @@ -105,101 +105,101 @@ } }, { - "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://medical-imaging-fips.us-gov-east-1.api.aws" + } }, "params": { - "Region": "us-iso-east-1", + "Region": "us-gov-east-1", "UseFIPS": true, "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://medical-imaging-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://medical-imaging-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "us-iso-east-1", + "Region": "us-gov-east-1", "UseFIPS": true, "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://medical-imaging.us-gov-east-1.api.aws" + } }, "params": { - "Region": "us-iso-east-1", + "Region": "us-gov-east-1", "UseFIPS": false, "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://medical-imaging.us-iso-east-1.c2s.ic.gov" + "url": "https://medical-imaging.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "us-iso-east-1", + "Region": "us-gov-east-1", "UseFIPS": false, "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://medical-imaging-fips.us-east-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "Region": "us-east-1", + "Region": "us-iso-east-1", "UseFIPS": true, "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://medical-imaging-fips.us-east-1.amazonaws.com" + "url": "https://medical-imaging-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "us-east-1", + "Region": "us-iso-east-1", "UseFIPS": true, "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://medical-imaging.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "Region": "us-east-1", + "Region": "us-iso-east-1", "UseFIPS": false, "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://medical-imaging.us-east-1.amazonaws.com" + "url": "https://medical-imaging.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "us-east-1", + "Region": "us-iso-east-1", "UseFIPS": false, "UseDualStack": false } @@ -253,7 +253,7 @@ } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" @@ -266,6 +266,19 @@ "Endpoint": "https://example.com" } }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, { "documentation": "For custom endpoint with fips enabled and dualstack disabled", "expect": { @@ -289,6 +302,12 @@ "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/memorydb/pom.xml b/services/memorydb/pom.xml index d3cbdb09d220..78e8ccb7236b 100644 --- a/services/memorydb/pom.xml +++ b/services/memorydb/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT memorydb AWS Java SDK :: Services :: Memory DB diff --git a/services/memorydb/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/memorydb/src/main/resources/codegen-resources/endpoint-rule-set.json index 4a448006958c..5f23b68af4cb 100644 --- a/services/memorydb/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/memorydb/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,251 +140,202 @@ { "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://memory-db-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://memory-db-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://memory-db-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://memory-db-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://memory-db.{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": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "fips" - ] - } - ], - "endpoint": { - "url": "https://memory-db-fips.us-west-1.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "memorydb", - "signingRegion": "us-west-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, { "conditions": [], "endpoint": { - "url": "https://memory-db.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://memory-db.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "fips" + ] + } + ], + "endpoint": { + "url": "https://memory-db-fips.us-west-1.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "memorydb", + "signingRegion": "us-west-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://memory-db.{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/services/mgn/pom.xml b/services/mgn/pom.xml index c67b3baa02b3..a9fe4f939534 100644 --- a/services/mgn/pom.xml +++ b/services/mgn/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT mgn AWS Java SDK :: Services :: Mgn diff --git a/services/mgn/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/mgn/src/main/resources/codegen-resources/endpoint-rule-set.json index 33f645d40edf..7bb164165370 100644 --- a/services/mgn/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/mgn/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://mgn-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://mgn-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://mgn-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://mgn-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://mgn.{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://mgn.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://mgn.{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://mgn.{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/services/mgn/src/main/resources/codegen-resources/paginators-1.json b/services/mgn/src/main/resources/codegen-resources/paginators-1.json index 98a0fb771d46..fba9d3c19d67 100644 --- a/services/mgn/src/main/resources/codegen-resources/paginators-1.json +++ b/services/mgn/src/main/resources/codegen-resources/paginators-1.json @@ -42,6 +42,12 @@ "limit_key": "maxResults", "result_key": "items" }, + "ListConnectors": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "items" + }, "ListExportErrors": { "input_token": "nextToken", "output_token": "nextToken", diff --git a/services/mgn/src/main/resources/codegen-resources/service-2.json b/services/mgn/src/main/resources/codegen-resources/service-2.json index c5b77936da68..740f3c92c200 100644 --- a/services/mgn/src/main/resources/codegen-resources/service-2.json +++ b/services/mgn/src/main/resources/codegen-resources/service-2.json @@ -117,6 +117,22 @@ "documentation":"

      Create application.

      ", "idempotent":true }, + "CreateConnector":{ + "name":"CreateConnector", + "http":{ + "method":"POST", + "requestUri":"/CreateConnector", + "responseCode":201 + }, + "input":{"shape":"CreateConnectorRequest"}, + "output":{"shape":"Connector"}, + "errors":[ + {"shape":"UninitializedAccountException"}, + {"shape":"ValidationException"} + ], + "documentation":"

      Create Connector.

      ", + "idempotent":true + }, "CreateLaunchConfigurationTemplate":{ "name":"CreateLaunchConfigurationTemplate", "http":{ @@ -183,6 +199,22 @@ "documentation":"

      Delete application.

      ", "idempotent":true }, + "DeleteConnector":{ + "name":"DeleteConnector", + "http":{ + "method":"POST", + "requestUri":"/DeleteConnector", + "responseCode":204 + }, + "input":{"shape":"DeleteConnectorRequest"}, + "errors":[ + {"shape":"UninitializedAccountException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

      Delete Connector.

      ", + "idempotent":true + }, "DeleteJob":{ "name":"DeleteJob", "http":{ @@ -503,6 +535,21 @@ ], "documentation":"

      Retrieves all applications or multiple applications by ID.

      " }, + "ListConnectors":{ + "name":"ListConnectors", + "http":{ + "method":"POST", + "requestUri":"/ListConnectors", + "responseCode":200 + }, + "input":{"shape":"ListConnectorsRequest"}, + "output":{"shape":"ListConnectorsResponse"}, + "errors":[ + {"shape":"UninitializedAccountException"}, + {"shape":"ValidationException"} + ], + "documentation":"

      List Connectors.

      " + }, "ListExportErrors":{ "name":"ListExportErrors", "http":{ @@ -976,6 +1023,23 @@ "documentation":"

      Update application.

      ", "idempotent":true }, + "UpdateConnector":{ + "name":"UpdateConnector", + "http":{ + "method":"POST", + "requestUri":"/UpdateConnector", + "responseCode":200 + }, + "input":{"shape":"UpdateConnectorRequest"}, + "output":{"shape":"Connector"}, + "errors":[ + {"shape":"UninitializedAccountException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

      Update Connector.

      ", + "idempotent":true + }, "UpdateLaunchConfiguration":{ "name":"UpdateLaunchConfiguration", "http":{ @@ -1047,6 +1111,23 @@ ], "documentation":"

      Updates multiple ReplicationConfigurationTemplates by ID.

      " }, + "UpdateSourceServer":{ + "name":"UpdateSourceServer", + "http":{ + "method":"POST", + "requestUri":"/UpdateSourceServer", + "responseCode":200 + }, + "input":{"shape":"UpdateSourceServerRequest"}, + "output":{"shape":"SourceServer"}, + "errors":[ + {"shape":"UninitializedAccountException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"} + ], + "documentation":"

      Update Source Server.

      ", + "idempotent":true + }, "UpdateSourceServerReplicationType":{ "name":"UpdateSourceServerReplicationType", "http":{ @@ -1464,6 +1545,89 @@ "type":"list", "member":{"shape":"ErrorDetails"} }, + "Connector":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"ARN", + "documentation":"

      Connector arn.

      " + }, + "connectorID":{ + "shape":"ConnectorID", + "documentation":"

      Connector ID.

      " + }, + "name":{ + "shape":"ConnectorName", + "documentation":"

      Connector name.

      " + }, + "ssmCommandConfig":{ + "shape":"ConnectorSsmCommandConfig", + "documentation":"

      Connector SSM command config.

      " + }, + "ssmInstanceID":{ + "shape":"SsmInstanceID", + "documentation":"

      Connector SSM instance ID.

      " + }, + "tags":{ + "shape":"TagsMap", + "documentation":"

      Connector tags.

      " + } + } + }, + "ConnectorArn":{ + "type":"string", + "max":100, + "min":27, + "pattern":"^arn:[\\w-]+:mgn:([a-z]{2}-(gov-)?[a-z]+-\\d{1})?:(\\d{12})?:connector\\/(connector-[0-9a-zA-Z]{17})$" + }, + "ConnectorID":{ + "type":"string", + "max":27, + "min":27, + "pattern":"^connector-[0-9a-zA-Z]{17}$" + }, + "ConnectorIDsFilter":{ + "type":"list", + "member":{"shape":"ConnectorID"}, + "max":20, + "min":0 + }, + "ConnectorName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^[A-Za-z0-9_-]+$" + }, + "ConnectorSsmCommandConfig":{ + "type":"structure", + "required":[ + "cloudWatchOutputEnabled", + "s3OutputEnabled" + ], + "members":{ + "cloudWatchLogGroupName":{ + "shape":"CloudWatchLogGroupName", + "documentation":"

      Connector SSM command config CloudWatch log group name.

      " + }, + "cloudWatchOutputEnabled":{ + "shape":"Boolean", + "documentation":"

      Connector SSM command config CloudWatch output enabled.

      " + }, + "outputS3BucketName":{ + "shape":"S3BucketName", + "documentation":"

      Connector SSM command config output S3 bucket name.

      " + }, + "s3OutputEnabled":{ + "shape":"Boolean", + "documentation":"

      Connector SSM command config S3 output enabled.

      " + } + }, + "documentation":"

      Connector SSM command config.

      " + }, + "ConnectorsList":{ + "type":"list", + "member":{"shape":"Connector"} + }, "Cpus":{ "type":"list", "member":{"shape":"CPU"}, @@ -1492,6 +1656,31 @@ } } }, + "CreateConnectorRequest":{ + "type":"structure", + "required":[ + "name", + "ssmInstanceID" + ], + "members":{ + "name":{ + "shape":"ConnectorName", + "documentation":"

      Create Connector request name.

      " + }, + "ssmCommandConfig":{ + "shape":"ConnectorSsmCommandConfig", + "documentation":"

      Create Connector request SSM command config.

      " + }, + "ssmInstanceID":{ + "shape":"SsmInstanceID", + "documentation":"

      Create Connector request SSM instance ID.

      " + }, + "tags":{ + "shape":"TagsMap", + "documentation":"

      Create Connector request tags.

      " + } + } + }, "CreateLaunchConfigurationTemplateRequest":{ "type":"structure", "members":{ @@ -1845,6 +2034,16 @@ "members":{ } }, + "DeleteConnectorRequest":{ + "type":"structure", + "required":["connectorID"], + "members":{ + "connectorID":{ + "shape":"ConnectorID", + "documentation":"

      Delete Connector request connector ID.

      " + } + } + }, "DeleteJobRequest":{ "type":"structure", "required":["jobID"], @@ -3341,6 +3540,46 @@ } } }, + "ListConnectorsRequest":{ + "type":"structure", + "members":{ + "filters":{ + "shape":"ListConnectorsRequestFilters", + "documentation":"

      List Connectors Request filters.

      " + }, + "maxResults":{ + "shape":"MaxResultsType", + "documentation":"

      List Connectors Request max results.

      " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      List Connectors Request next token.

      " + } + } + }, + "ListConnectorsRequestFilters":{ + "type":"structure", + "members":{ + "connectorIDs":{ + "shape":"ConnectorIDsFilter", + "documentation":"

      List Connectors Request Filters connector IDs.

      " + } + }, + "documentation":"

      List Connectors Request Filters.

      " + }, + "ListConnectorsResponse":{ + "type":"structure", + "members":{ + "items":{ + "shape":"ConnectorsList", + "documentation":"

      List connectors response items.

      " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

      List connectors response next token.

      " + } + } + }, "ListExportErrorsRequest":{ "type":"structure", "required":["exportID"], @@ -4363,6 +4602,12 @@ "max":63, "min":3 }, + "SecretArn":{ + "type":"string", + "max":100, + "min":20, + "pattern":"^arn:[\\w-]+:secretsmanager:([a-z]{2}-(gov-)?[a-z]+-\\d{1})?:(\\d{12})?:secret:(.+)$" + }, "SecurityGroupID":{ "type":"string", "max":255, @@ -4456,6 +4701,10 @@ "shape":"ARN", "documentation":"

      Source server ARN.

      " }, + "connectorAction":{ + "shape":"SourceServerConnectorAction", + "documentation":"

      Source Server connector action.

      " + }, "dataReplicationInfo":{ "shape":"DataReplicationInfo", "documentation":"

      Source server data replication info.

      " @@ -4571,6 +4820,20 @@ }, "documentation":"

      Source server post migration custom action filters.

      " }, + "SourceServerConnectorAction":{ + "type":"structure", + "members":{ + "connectorArn":{ + "shape":"ConnectorArn", + "documentation":"

      Source Server connector action connector arn.

      " + }, + "credentialsSecretArn":{ + "shape":"SecretArn", + "documentation":"

      Source Server connector action credentials secret arn.

      " + } + }, + "documentation":"

      Source Server connector action.

      " + }, "SourceServerID":{ "type":"string", "max":19, @@ -4665,6 +4928,12 @@ "documentation":"

      AWS Systems Manager Document external parameter.

      ", "union":true }, + "SsmInstanceID":{ + "type":"string", + "max":20, + "min":19, + "pattern":"(^i-[0-9a-zA-Z]{17}$)|(^mi-[0-9a-zA-Z]{17}$)" + }, "SsmParameterStoreParameter":{ "type":"structure", "required":[ @@ -5132,6 +5401,24 @@ } } }, + "UpdateConnectorRequest":{ + "type":"structure", + "required":["connectorID"], + "members":{ + "connectorID":{ + "shape":"ConnectorID", + "documentation":"

      Update Connector request connector ID.

      " + }, + "name":{ + "shape":"ConnectorName", + "documentation":"

      Update Connector request name.

      " + }, + "ssmCommandConfig":{ + "shape":"ConnectorSsmCommandConfig", + "documentation":"

      Update Connector request SSM command config.

      " + } + } + }, "UpdateLaunchConfigurationRequest":{ "type":"structure", "required":["sourceServerID"], @@ -5403,6 +5690,24 @@ } } }, + "UpdateSourceServerRequest":{ + "type":"structure", + "required":["sourceServerID"], + "members":{ + "accountID":{ + "shape":"AccountID", + "documentation":"

      Update Source Server request account ID.

      " + }, + "connectorAction":{ + "shape":"SourceServerConnectorAction", + "documentation":"

      Update Source Server request connector action.

      " + }, + "sourceServerID":{ + "shape":"SourceServerID", + "documentation":"

      Update Source Server request source server ID.

      " + } + } + }, "UpdateWaveRequest":{ "type":"structure", "required":["waveID"], diff --git a/services/migrationhub/pom.xml b/services/migrationhub/pom.xml index ea6924dec27e..3a708bcf611b 100644 --- a/services/migrationhub/pom.xml +++ b/services/migrationhub/pom.xml @@ -20,7 +20,7 @@ services software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 migrationhub diff --git a/services/migrationhub/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/migrationhub/src/main/resources/codegen-resources/endpoint-rule-set.json index 0881bf26b598..abc09650aa32 100644 --- a/services/migrationhub/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/migrationhub/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://mgh-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://mgh-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://mgh.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://mgh.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://mgh.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://mgh.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/migrationhub/src/main/resources/codegen-resources/endpoint-tests.json b/services/migrationhub/src/main/resources/codegen-resources/endpoint-tests.json index fbcd92fe1e5f..3f011972998b 100644 --- a/services/migrationhub/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/migrationhub/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,42 +1,29 @@ { "testCases": [ { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://mgh-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mgh-fips.eu-central-1.amazonaws.com" + "url": "https://mgh.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mgh.eu-central-1.api.aws" + "url": "https://mgh.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -47,48 +34,48 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-central-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mgh-fips.us-west-2.api.aws" + "url": "https://mgh.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mgh-fips.us-west-2.amazonaws.com" + "url": "https://mgh.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mgh.us-west-2.api.aws" + "url": "https://mgh.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -99,282 +86,274 @@ } }, "params": { - "UseDualStack": false, "Region": "us-west-2", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://mgh-fips.eu-west-2.api.aws" + "url": "https://mgh-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mgh-fips.eu-west-2.amazonaws.com" + "url": "https://mgh-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://mgh.eu-west-2.api.aws" + "url": "https://mgh.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://mgh.eu-west-2.amazonaws.com" + "url": "https://mgh-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mgh-fips.eu-west-1.api.aws" + "url": "https://mgh-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://mgh-fips.eu-west-1.amazonaws.com" + "url": "https://mgh.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mgh.eu-west-1.api.aws" + "url": "https://mgh.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://mgh.eu-west-1.amazonaws.com" + "url": "https://mgh-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mgh-fips.ap-northeast-1.api.aws" + "url": "https://mgh-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://mgh-fips.ap-northeast-1.amazonaws.com" + "url": "https://mgh.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mgh.ap-northeast-1.api.aws" + "url": "https://mgh.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://mgh.ap-northeast-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mgh-fips.ap-southeast-2.api.aws" + "url": "https://mgh-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://mgh-fips.ap-southeast-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mgh.ap-southeast-2.api.aws" + "url": "https://mgh.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://mgh.ap-southeast-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mgh-fips.us-east-1.api.aws" + "url": "https://mgh-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://mgh-fips.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://mgh.us-east-1.api.aws" + "url": "https://mgh.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://mgh.us-east-1.amazonaws.com" + "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -384,9 +363,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -396,11 +375,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/migrationhubconfig/pom.xml b/services/migrationhubconfig/pom.xml index ca38b92237d5..3c3cedebe0b1 100644 --- a/services/migrationhubconfig/pom.xml +++ b/services/migrationhubconfig/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT migrationhubconfig AWS Java SDK :: Services :: MigrationHub Config diff --git a/services/migrationhubconfig/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/migrationhubconfig/src/main/resources/codegen-resources/endpoint-rule-set.json index 48cf4a43a404..adf660801560 100644 --- a/services/migrationhubconfig/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/migrationhubconfig/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "parseURL", + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,221 +140,175 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://migrationhub-config-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] }, { "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] - }, + } + ], + "type": "tree", + "rules": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://migrationhub-config-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://migrationhub-config-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://migrationhub-config-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://migrationhub-config.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://migrationhub-config.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://migrationhub-config.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://migrationhub-config.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/migrationhubconfig/src/main/resources/codegen-resources/endpoint-tests.json b/services/migrationhubconfig/src/main/resources/codegen-resources/endpoint-tests.json index 211ec39c3032..3cebde220544 100644 --- a/services/migrationhubconfig/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/migrationhubconfig/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,484 +1,281 @@ { "testCases": [ { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://migrationhub-config-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://migrationhub-config-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://migrationhub-config.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://migrationhub-config.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://migrationhub-config-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://migrationhub-config-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://migrationhub-config.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://migrationhub-config.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://migrationhub-config-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://migrationhub-config-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://migrationhub-config.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://migrationhub-config.eu-west-2.amazonaws.com" + "url": "https://migrationhub-config-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://migrationhub-config-fips.eu-west-1.api.aws" + "url": "https://migrationhub-config-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://migrationhub-config-fips.eu-west-1.amazonaws.com" + "url": "https://migrationhub-config.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://migrationhub-config.eu-west-1.api.aws" + "url": "https://migrationhub-config.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://migrationhub-config.eu-west-1.amazonaws.com" + "url": "https://migrationhub-config-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://migrationhub-config-fips.ap-northeast-2.api.aws" + "url": "https://migrationhub-config-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://migrationhub-config-fips.ap-northeast-2.amazonaws.com" + "url": "https://migrationhub-config.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://migrationhub-config.ap-northeast-2.api.aws" + "url": "https://migrationhub-config.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://migrationhub-config.ap-northeast-2.amazonaws.com" + "url": "https://migrationhub-config-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://migrationhub-config-fips.ap-northeast-1.api.aws" + "url": "https://migrationhub-config-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://migrationhub-config-fips.ap-northeast-1.amazonaws.com" + "url": "https://migrationhub-config.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://migrationhub-config.ap-northeast-1.api.aws" + "url": "https://migrationhub-config.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://migrationhub-config.ap-northeast-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://migrationhub-config-fips.ap-southeast-2.api.aws" + "url": "https://migrationhub-config-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://migrationhub-config-fips.ap-southeast-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://migrationhub-config.ap-southeast-2.api.aws" + "url": "https://migrationhub-config.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://migrationhub-config.ap-southeast-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://migrationhub-config-fips.us-east-1.api.aws" + "url": "https://migrationhub-config-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://migrationhub-config-fips.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://migrationhub-config.us-east-1.api.aws" + "url": "https://migrationhub-config.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://migrationhub-config.us-east-1.amazonaws.com" + "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://migrationhub-config-fips.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://migrationhub-config-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://migrationhub-config.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://migrationhub-config.us-east-2.amazonaws.com" - } - }, - "params": { + "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -488,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -500,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/migrationhuborchestrator/pom.xml b/services/migrationhuborchestrator/pom.xml index f0081ca3db96..d5be6f10c3c8 100644 --- a/services/migrationhuborchestrator/pom.xml +++ b/services/migrationhuborchestrator/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT migrationhuborchestrator AWS Java SDK :: Services :: Migration Hub Orchestrator diff --git a/services/migrationhuborchestrator/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/migrationhuborchestrator/src/main/resources/codegen-resources/endpoint-rule-set.json index 5362472b9e0d..6f809520383f 100644 --- a/services/migrationhuborchestrator/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/migrationhuborchestrator/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,23 +45,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -71,67 +67,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -140,168 +111,238 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + }, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://migrationhub-orchestrator-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" + } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://migrationhub-orchestrator-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://migrationhub-orchestrator-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://migrationhub-orchestrator-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://migrationhub-orchestrator.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://migrationhub-orchestrator.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://migrationhub-orchestrator.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } ] }, { "conditions": [], - "endpoint": { - "url": "https://migrationhub-orchestrator.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } diff --git a/services/migrationhuborchestrator/src/main/resources/codegen-resources/endpoint-tests.json b/services/migrationhuborchestrator/src/main/resources/codegen-resources/endpoint-tests.json index f5681ed7c80e..2f56d882d3c0 100644 --- a/services/migrationhuborchestrator/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/migrationhuborchestrator/src/main/resources/codegen-resources/endpoint-tests.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://migrationhub-orchestrator-fips.us-gov-east-1.api.aws" + "url": "https://migrationhub-orchestrator-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "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://migrationhub-orchestrator-fips.us-gov-east-1.amazonaws.com" + "url": "https://migrationhub-orchestrator-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "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://migrationhub-orchestrator.us-gov-east-1.api.aws" + "url": "https://migrationhub-orchestrator.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "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://migrationhub-orchestrator.us-gov-east-1.amazonaws.com" + "url": "https://migrationhub-orchestrator.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -60,9 +60,9 @@ } }, "params": { - "UseDualStack": true, "Region": "cn-north-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -73,9 +73,9 @@ } }, "params": { - "UseDualStack": false, "Region": "cn-north-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -86,9 +86,9 @@ } }, "params": { - "UseDualStack": true, "Region": "cn-north-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -99,109 +99,109 @@ } }, "params": { - "UseDualStack": false, "Region": "cn-north-1", - "UseFIPS": false + "UseFIPS": false, + "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://migrationhub-orchestrator-fips.us-gov-east-1.api.aws" + } }, "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "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://migrationhub-orchestrator-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://migrationhub-orchestrator-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "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://migrationhub-orchestrator.us-gov-east-1.api.aws" + } }, "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "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://migrationhub-orchestrator.us-iso-east-1.c2s.ic.gov" + "url": "https://migrationhub-orchestrator.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "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://migrationhub-orchestrator-fips.us-east-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "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://migrationhub-orchestrator-fips.us-east-1.amazonaws.com" + "url": "https://migrationhub-orchestrator-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "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://migrationhub-orchestrator.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "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://migrationhub-orchestrator.us-east-1.amazonaws.com" + "url": "https://migrationhub-orchestrator.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -210,9 +210,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -223,9 +223,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -234,9 +234,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -247,22 +247,35 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -272,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -284,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/migrationhubrefactorspaces/pom.xml b/services/migrationhubrefactorspaces/pom.xml index f6260ccd3348..cd41299d20b8 100644 --- a/services/migrationhubrefactorspaces/pom.xml +++ b/services/migrationhubrefactorspaces/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT migrationhubrefactorspaces AWS Java SDK :: Services :: Migration Hub Refactor Spaces diff --git a/services/migrationhubrefactorspaces/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/migrationhubrefactorspaces/src/main/resources/codegen-resources/endpoint-rule-set.json index e427bc786dd4..17988d4c3756 100644 --- a/services/migrationhubrefactorspaces/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/migrationhubrefactorspaces/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://refactor-spaces-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://refactor-spaces-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "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://refactor-spaces-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://refactor-spaces-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "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://refactor-spaces.{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://refactor-spaces.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://refactor-spaces.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://refactor-spaces.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "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/services/migrationhubstrategy/pom.xml b/services/migrationhubstrategy/pom.xml index 74bdfd9f8d39..71523190e8bb 100644 --- a/services/migrationhubstrategy/pom.xml +++ b/services/migrationhubstrategy/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT migrationhubstrategy AWS Java SDK :: Services :: Migration Hub Strategy diff --git a/services/migrationhubstrategy/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/migrationhubstrategy/src/main/resources/codegen-resources/endpoint-rule-set.json index 8a244599f52c..7464dde140b9 100644 --- a/services/migrationhubstrategy/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/migrationhubstrategy/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://migrationhub-strategy-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://migrationhub-strategy-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://migrationhub-strategy-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://migrationhub-strategy-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://migrationhub-strategy.{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://migrationhub-strategy.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://migrationhub-strategy.{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://migrationhub-strategy.{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/services/migrationhubstrategy/src/main/resources/codegen-resources/endpoint-tests.json b/services/migrationhubstrategy/src/main/resources/codegen-resources/endpoint-tests.json index bca07ef21bd9..77e63bb113eb 100644 --- a/services/migrationhubstrategy/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/migrationhubstrategy/src/main/resources/codegen-resources/endpoint-tests.json @@ -234,6 +234,17 @@ "UseDualStack": false } }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, { "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { @@ -247,6 +258,17 @@ "UseDualStack": false } }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, { "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { @@ -260,6 +282,17 @@ "UseDualStack": false } }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, { "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { @@ -273,6 +306,17 @@ "UseDualStack": false } }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, { "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { @@ -336,6 +380,12 @@ "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/mobile/pom.xml b/services/mobile/pom.xml index 9dca3950fd34..c957fde65cfb 100644 --- a/services/mobile/pom.xml +++ b/services/mobile/pom.xml @@ -20,7 +20,7 @@ services software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 mobile diff --git a/services/mobile/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/mobile/src/main/resources/codegen-resources/endpoint-rule-set.json index 3ba41bb62ffc..0941f3c23960 100644 --- a/services/mobile/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/mobile/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "parseURL", + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,221 +140,175 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://mobile-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] }, { "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] - }, + } + ], + "type": "tree", + "rules": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://mobile-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://mobile-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://mobile-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://mobile.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://mobile.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://mobile.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://mobile.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/mobile/src/main/resources/codegen-resources/endpoint-tests.json b/services/mobile/src/main/resources/codegen-resources/endpoint-tests.json index 91c92af29cd0..8008ab4d0f1d 100644 --- a/services/mobile/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/mobile/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,16 +1,281 @@ { "testCases": [ { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mobile-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mobile-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mobile.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mobile.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mobile-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mobile-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mobile.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mobile.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mobile-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mobile-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mobile.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mobile.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mobile-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mobile.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mobile-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mobile.us-isob-east-1.sc2s.sgov.gov" + } + }, + "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": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -20,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -32,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/mq/pom.xml b/services/mq/pom.xml index 2c54a8b650a7..1fd86bff1f91 100644 --- a/services/mq/pom.xml +++ b/services/mq/pom.xml @@ -20,7 +20,7 @@ services software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 mq diff --git a/services/mq/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/mq/src/main/resources/codegen-resources/endpoint-rule-set.json index d18215d80030..a5581b009484 100644 --- a/services/mq/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/mq/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://mq-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://mq-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://mq-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://mq-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://mq.{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://mq.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://mq.{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://mq.{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/services/mturk/pom.xml b/services/mturk/pom.xml index c83be8f43513..9db1762f40cb 100644 --- a/services/mturk/pom.xml +++ b/services/mturk/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT mturk AWS Java SDK :: Services :: Amazon Mechanical Turk Requester diff --git a/services/mturk/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/mturk/src/main/resources/codegen-resources/endpoint-rule-set.json index 64ae809beb51..38395960b83e 100644 --- a/services/mturk/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/mturk/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://mturk-requester-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://mturk-requester-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,72 +232,66 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://mturk-requester.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://mturk-requester.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ] - }, - { - "conditions": [], - "type": "tree", - "rules": [ { "conditions": [ { @@ -335,6 +323,11 @@ ] } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/mturk/src/main/resources/codegen-resources/endpoint-tests.json b/services/mturk/src/main/resources/codegen-resources/endpoint-tests.json index 57632d07b4fb..10bb29fdfa5c 100644 --- a/services/mturk/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/mturk/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,5 +1,31 @@ { "testCases": [ + { + "documentation": "For region sandbox with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mturk-requester-sandbox.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "sandbox", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mturk-requester.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, { "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { @@ -8,9 +34,9 @@ } }, "params": { - "UseDualStack": true, "Region": "us-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -21,9 +47,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -34,35 +60,235 @@ } }, "params": { - "UseDualStack": true, "Region": "us-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://mturk-requester.us-east-1.amazonaws.com" + "url": "https://mturk-requester-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mturk-requester-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mturk-requester.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mturk-requester.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mturk-requester-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mturk-requester-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://mturk-requester.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mturk-requester.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mturk-requester-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mturk-requester.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mturk-requester-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://mturk-requester.us-isob-east-1.sc2s.sgov.gov" + } + }, + "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": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -72,9 +298,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -84,11 +310,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/mwaa/pom.xml b/services/mwaa/pom.xml index d4b5c41fa65f..b78ff9e4ed19 100644 --- a/services/mwaa/pom.xml +++ b/services/mwaa/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT mwaa AWS Java SDK :: Services :: MWAA diff --git a/services/mwaa/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/mwaa/src/main/resources/codegen-resources/endpoint-rule-set.json index 685842c616d6..8348bd301082 100644 --- a/services/mwaa/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/mwaa/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://airflow-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://airflow-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://airflow-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://airflow-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://airflow.{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://airflow.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://airflow.{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://airflow.{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/services/neptune/pom.xml b/services/neptune/pom.xml index a46dabd16fb4..c91dee034f42 100644 --- a/services/neptune/pom.xml +++ b/services/neptune/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT neptune AWS Java SDK :: Services :: Neptune diff --git a/services/neptune/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/neptune/src/main/resources/codegen-resources/endpoint-rule-set.json index b9aff9f06c88..00bd15c36104 100644 --- a/services/neptune/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/neptune/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,92 +140,83 @@ { "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://rds-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://rds-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 + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], @@ -221,155 +225,115 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, + "aws-us-gov", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] } ] } ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - "aws-us-gov", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://rds.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://rds-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] + "endpoint": { + "url": "https://rds.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://rds-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://rds.{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://rds.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://rds.{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://rds.{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/services/neptune/src/main/resources/codegen-resources/endpoint-tests.json b/services/neptune/src/main/resources/codegen-resources/endpoint-tests.json index 6e70aeeabc70..8b0bc663a10f 100644 --- a/services/neptune/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/neptune/src/main/resources/codegen-resources/endpoint-tests.json @@ -546,6 +546,17 @@ "UseDualStack": false } }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, { "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { @@ -559,6 +570,17 @@ "UseDualStack": false } }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, { "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { @@ -572,6 +594,17 @@ "UseDualStack": false } }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, { "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { @@ -585,6 +618,17 @@ "UseDualStack": false } }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, { "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { @@ -635,6 +679,12 @@ "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/neptunedata/pom.xml b/services/neptunedata/pom.xml index 3ced44ab92d3..7c24cf90840c 100644 --- a/services/neptunedata/pom.xml +++ b/services/neptunedata/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT neptunedata AWS Java SDK :: Services :: Neptunedata diff --git a/services/networkfirewall/pom.xml b/services/networkfirewall/pom.xml index 33b46d51825f..de9324ac61ea 100644 --- a/services/networkfirewall/pom.xml +++ b/services/networkfirewall/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT networkfirewall AWS Java SDK :: Services :: Network Firewall diff --git a/services/networkmanager/pom.xml b/services/networkmanager/pom.xml index d79a618c29d4..e3be00acd608 100644 --- a/services/networkmanager/pom.xml +++ b/services/networkmanager/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT networkmanager AWS Java SDK :: Services :: NetworkManager diff --git a/services/networkmanager/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/networkmanager/src/main/resources/codegen-resources/endpoint-rule-set.json index 6cbba0f7080f..95088c9c93a8 100644 --- a/services/networkmanager/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/networkmanager/src/main/resources/codegen-resources/endpoint-rule-set.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,449 +115,168 @@ { "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": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "endpoint": { + "url": "https://networkmanager.us-west-2.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "networkmanager", + "signingRegion": "us-west-2" } - ], - "type": "tree", - "rules": [ + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ + "fn": "getAttr", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://networkmanager-fips.{Region}.api.aws", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "ref": "PartitionResult" }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } + "name" ] }, + "aws-us-gov" + ] + }, + { + "fn": "booleanEquals", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://networkmanager-fips.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] + "ref": "UseFIPS" }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://networkmanager.{Region}.api.aws", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ] + "ref": "UseDualStack" }, + false + ] + } + ], + "endpoint": { + "url": "https://networkmanager.us-gov-west-1.amazonaws.com", + "properties": { + "authSchemes": [ { - "conditions": [], - "endpoint": { - "url": "https://networkmanager.us-west-2.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "networkmanager", - "signingRegion": "us-west-2" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + "name": "sigv4", + "signingName": "networkmanager", + "signingRegion": "us-gov-west-1" } ] }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "stringEquals", + "fn": "booleanEquals", "argv": [ + true, { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "name" - ] - }, - "aws-us-gov" - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://networkmanager-fips.{Region}.api.aws", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "supportsFIPS" ] - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" } ] }, { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://networkmanager-fips.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ + "fn": "booleanEquals", + "argv": [ + true, { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ { - "ref": "UseDualStack" + "ref": "PartitionResult" }, - true + "supportsDualStack" ] } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://networkmanager.{Region}.api.aws", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } ] - }, + } + ], + "type": "tree", + "rules": [ { "conditions": [], "endpoint": { - "url": "https://networkmanager.us-gov-west-1.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "networkmanager", - "signingRegion": "us-gov-west-1" - } - ] - }, + "url": "https://networkmanager-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, "headers": {} }, "type": "endpoint" @@ -561,282 +284,133 @@ ] }, { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://networkmanager-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] + "ref": "UseFIPS" }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } + 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://networkmanager-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsFIPS" ] } ] - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] } ], "type": "tree", "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://networkmanager.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://networkmanager-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] }, { "conditions": [], - "type": "tree", - "rules": [ + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://networkmanager.us-west-2.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "networkmanager", - "signingRegion": "us-west-2" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + "ref": "UseDualStack" }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ + true, { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ { - "ref": "Region" + "ref": "PartitionResult" }, - "aws-us-gov-global" + "supportsDualStack" ] } - ], - "endpoint": { - "url": "https://networkmanager.us-gov-west-1.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "networkmanager", - "signingRegion": "us-gov-west-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, + ] + } + ], + "type": "tree", + "rules": [ { "conditions": [], "endpoint": { - "url": "https://networkmanager.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://networkmanager.{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://networkmanager.{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/services/networkmanager/src/main/resources/codegen-resources/endpoint-tests.json b/services/networkmanager/src/main/resources/codegen-resources/endpoint-tests.json index b182162fd65e..06545870edf2 100644 --- a/services/networkmanager/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/networkmanager/src/main/resources/codegen-resources/endpoint-tests.json @@ -17,9 +17,9 @@ } }, "params": { + "Region": "aws-global", "UseFIPS": false, - "UseDualStack": false, - "Region": "aws-global" + "UseDualStack": false } }, { @@ -30,9 +30,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -43,9 +43,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -56,9 +56,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -78,9 +78,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -91,9 +91,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -104,9 +104,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -117,9 +117,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -130,9 +130,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -152,9 +152,9 @@ } }, "params": { + "Region": "aws-us-gov-global", "UseFIPS": false, - "UseDualStack": false, - "Region": "aws-us-gov-global" + "UseDualStack": false } }, { @@ -165,9 +165,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -178,9 +178,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -191,9 +191,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -213,9 +213,20 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -226,9 +237,20 @@ } }, "params": { + "Region": "us-iso-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", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -239,9 +261,20 @@ } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -252,9 +285,20 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -265,9 +309,9 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -278,9 +322,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -303,9 +347,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" } }, @@ -315,11 +359,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/services/nimble/pom.xml b/services/nimble/pom.xml index 8b0d5ec040c0..220538f242be 100644 --- a/services/nimble/pom.xml +++ b/services/nimble/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT nimble AWS Java SDK :: Services :: Nimble diff --git a/services/nimble/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/nimble/src/main/resources/codegen-resources/endpoint-rule-set.json index 3c0729cbaedf..2b9b00a4cc32 100644 --- a/services/nimble/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/nimble/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,64 +45,17 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "ref": "UseFIPS" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + true ] } - ] + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" }, { "conditions": [ @@ -111,19 +63,51 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "booleanEquals", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "UseDualStack" - }, - true - ] + "ref": "Region" + } + ], + "assign": "PartitionResult" } ], "type": "tree", @@ -133,90 +117,109 @@ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] }, { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://nimble-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://nimble-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -229,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://nimble.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://nimble.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://nimble.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://nimble.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/nimble/src/main/resources/codegen-resources/endpoint-tests.json b/services/nimble/src/main/resources/codegen-resources/endpoint-tests.json index 00900e22e660..1b24bf5aa7cd 100644 --- a/services/nimble/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/nimble/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,328 +1,346 @@ { "testCases": [ { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://nimble-fips.ca-central-1.api.aws" + "url": "https://nimble.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://nimble-fips.ca-central-1.amazonaws.com" + "url": "https://nimble.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://nimble.ca-central-1.api.aws" + "url": "https://nimble.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, "Region": "ca-central-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://nimble.ca-central-1.amazonaws.com" + "url": "https://nimble.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": false + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://nimble-fips.us-west-2.api.aws" + "url": "https://nimble.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://nimble-fips.us-west-2.amazonaws.com" + "url": "https://nimble.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, "Region": "us-west-2", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://nimble.us-west-2.api.aws" + "url": "https://nimble-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://nimble.us-west-2.amazonaws.com" + "url": "https://nimble-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://nimble-fips.eu-west-2.api.aws" + "url": "https://nimble.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://nimble-fips.eu-west-2.amazonaws.com" + "url": "https://nimble-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://nimble.eu-west-2.api.aws" + "url": "https://nimble-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://nimble.eu-west-2.amazonaws.com" + "url": "https://nimble.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://nimble-fips.ap-northeast-1.api.aws" + "url": "https://nimble.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://nimble-fips.ap-northeast-1.amazonaws.com" + "url": "https://nimble-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://nimble.ap-northeast-1.api.aws" + "url": "https://nimble-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://nimble.ap-northeast-1.amazonaws.com" + "url": "https://nimble.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://nimble-fips.ap-southeast-2.api.aws" + "url": "https://nimble.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://nimble-fips.ap-southeast-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://nimble.ap-southeast-2.api.aws" + "url": "https://nimble-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://nimble.ap-southeast-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://nimble-fips.us-east-1.api.aws" + "url": "https://nimble.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://nimble-fips.us-east-1.amazonaws.com" + "url": "https://nimble-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://nimble.us-east-1.api.aws" + "url": "https://nimble.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://nimble.us-east-1.amazonaws.com" + "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false, + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -332,9 +350,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -344,11 +362,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/oam/pom.xml b/services/oam/pom.xml index c6333209d6fa..6791cb4b4d91 100644 --- a/services/oam/pom.xml +++ b/services/oam/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT oam AWS Java SDK :: Services :: OAM diff --git a/services/oam/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/oam/src/main/resources/codegen-resources/endpoint-rule-set.json index 252a9968283b..8e08eb2b3f96 100644 --- a/services/oam/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/oam/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,23 +45,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -71,67 +67,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -140,168 +111,238 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + }, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] }, - "supportsDualStack" + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://oam-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" } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://oam-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://oam-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://oam-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://oam.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://oam.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://oam.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } ] }, { "conditions": [], - "endpoint": { - "url": "https://oam.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } diff --git a/services/oam/src/main/resources/codegen-resources/endpoint-tests.json b/services/oam/src/main/resources/codegen-resources/endpoint-tests.json index a7d45517cb73..ba42a2d0256c 100644 --- a/services/oam/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/oam/src/main/resources/codegen-resources/endpoint-tests.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://oam-fips.us-gov-east-1.api.aws" + "url": "https://oam-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "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://oam-fips.us-gov-east-1.amazonaws.com" + "url": "https://oam-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "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://oam.us-gov-east-1.api.aws" + "url": "https://oam.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "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://oam.us-gov-east-1.amazonaws.com" + "url": "https://oam.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -60,9 +60,9 @@ } }, "params": { - "UseDualStack": true, "Region": "cn-north-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -73,9 +73,9 @@ } }, "params": { - "UseDualStack": false, "Region": "cn-north-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -86,9 +86,9 @@ } }, "params": { - "UseDualStack": true, "Region": "cn-north-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -99,109 +99,109 @@ } }, "params": { - "UseDualStack": false, "Region": "cn-north-1", - "UseFIPS": false + "UseFIPS": false, + "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://oam-fips.us-gov-east-1.api.aws" + } }, "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "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://oam-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://oam-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "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://oam.us-gov-east-1.api.aws" + } }, "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "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://oam.us-iso-east-1.c2s.ic.gov" + "url": "https://oam.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "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://oam-fips.us-east-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "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://oam-fips.us-east-1.amazonaws.com" + "url": "https://oam-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "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://oam.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "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://oam.us-east-1.amazonaws.com" + "url": "https://oam.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -210,9 +210,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -223,9 +223,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -234,9 +234,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -247,22 +247,35 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -272,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -284,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/oam/src/main/resources/codegen-resources/service-2.json b/services/oam/src/main/resources/codegen-resources/service-2.json index 38c078d5880c..e8d53a61e72d 100644 --- a/services/oam/src/main/resources/codegen-resources/service-2.json +++ b/services/oam/src/main/resources/codegen-resources/service-2.json @@ -213,7 +213,7 @@ {"shape":"InvalidParameterException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

      Creates or updates the resource policy that grants permissions to source accounts to link to the monitoring account sink. When you create a sink policy, you can grant permissions to all accounts in an organization or to individual accounts.

      You can also use a sink policy to limit the types of data that is shared. The three types that you can allow or deny are:

      • Metrics - Specify with AWS::CloudWatch::Metric

      • Log groups - Specify with AWS::Logs::LogGroup

      • Traces - Specify with AWS::XRay::Trace

      See the examples in this section to see how to specify permitted source accounts and data types.

      " + "documentation":"

      Creates or updates the resource policy that grants permissions to source accounts to link to the monitoring account sink. When you create a sink policy, you can grant permissions to all accounts in an organization or to individual accounts.

      You can also use a sink policy to limit the types of data that is shared. The three types that you can allow or deny are:

      • Metrics - Specify with AWS::CloudWatch::Metric

      • Log groups - Specify with AWS::Logs::LogGroup

      • Traces - Specify with AWS::XRay::Trace

      • Application Insights - Applications - Specify with AWS::ApplicationInsights::Application

      See the examples in this section to see how to specify permitted source accounts and data types.

      " }, "TagResource":{ "name":"TagResource", @@ -830,7 +830,8 @@ "enum":[ "AWS::CloudWatch::Metric", "AWS::Logs::LogGroup", - "AWS::XRay::Trace" + "AWS::XRay::Trace", + "AWS::ApplicationInsights::Application" ] }, "ResourceTypesInput":{ @@ -1018,5 +1019,5 @@ "exception":true } }, - "documentation":"

      Use Amazon CloudWatch Observability Access Manager to create and manage links between source accounts and monitoring accounts by using CloudWatch cross-account observability. With CloudWatch cross-account observability, you can monitor and troubleshoot applications that span multiple accounts within a Region. Seamlessly search, visualize, and analyze your metrics, logs, and traces in any of the linked accounts without account boundaries.

       <p>Set up one or more Amazon Web Services accounts as <i>monitoring accounts</i> and link them with multiple <i>source accounts</i>. A monitoring account is a central Amazon Web Services account that can view and interact with observability data generated from source accounts. A source account is an individual Amazon Web Services account that generates observability data for the resources that reside in it. Source accounts share their observability data with the monitoring account. The shared observability data can include metrics in Amazon CloudWatch, logs in Amazon CloudWatch Logs, and traces in X-Ray.</p> 
      " + "documentation":"

      Use Amazon CloudWatch Observability Access Manager to create and manage links between source accounts and monitoring accounts by using CloudWatch cross-account observability. With CloudWatch cross-account observability, you can monitor and troubleshoot applications that span multiple accounts within a Region. Seamlessly search, visualize, and analyze your metrics, logs, traces, and Application Insights applications in any of the linked accounts without account boundaries.

      Set up one or more Amazon Web Services accounts as monitoring accounts and link them with multiple source accounts. A monitoring account is a central Amazon Web Services account that can view and interact with observability data generated from source accounts. A source account is an individual Amazon Web Services account that generates observability data for the resources that reside in it. Source accounts share their observability data with the monitoring account. The shared observability data can include metrics in Amazon CloudWatch, logs in Amazon CloudWatch Logs, traces in X-Ray, and applications in Amazon CloudWatch Application Insights.

      " } diff --git a/services/omics/pom.xml b/services/omics/pom.xml index 31c579134609..ea7173eea9c1 100644 --- a/services/omics/pom.xml +++ b/services/omics/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT omics AWS Java SDK :: Services :: Omics diff --git a/services/omics/src/main/resources/codegen-resources/service-2.json b/services/omics/src/main/resources/codegen-resources/service-2.json index ce387de2ec31..256a8fabe810 100644 --- a/services/omics/src/main/resources/codegen-resources/service-2.json +++ b/services/omics/src/main/resources/codegen-resources/service-2.json @@ -32,7 +32,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Stops a multipart upload.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"control-storage-"} }, "AcceptShare":{ @@ -54,7 +53,6 @@ {"shape":"AccessDeniedException"} ], "documentation":"

      Accepts a share for an analytics store.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"analytics-"} }, "BatchDeleteReadSet":{ @@ -75,7 +73,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Deletes one or more read sets.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"control-storage-"}, "idempotent":true }, @@ -96,7 +93,6 @@ {"shape":"AccessDeniedException"} ], "documentation":"

      Cancels an annotation import job.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"analytics-"}, "idempotent":true }, @@ -119,7 +115,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Cancels a run.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"workflows-"} }, "CancelVariantImportJob":{ @@ -139,7 +134,6 @@ {"shape":"AccessDeniedException"} ], "documentation":"

      Cancels a variant import job.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"analytics-"}, "idempotent":true }, @@ -163,7 +157,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Concludes a multipart upload once you have uploaded all the components.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"storage-"} }, "CreateAnnotationStore":{ @@ -185,7 +178,6 @@ {"shape":"AccessDeniedException"} ], "documentation":"

      Creates an annotation store.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"analytics-"} }, "CreateAnnotationStoreVersion":{ @@ -207,7 +199,6 @@ {"shape":"AccessDeniedException"} ], "documentation":"

      Creates a new version of an annotation store.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"analytics-"} }, "CreateMultipartReadSetUpload":{ @@ -230,7 +221,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Begins a multipart read set upload.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"control-storage-"} }, "CreateReferenceStore":{ @@ -251,7 +241,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Creates a reference store.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"control-storage-"} }, "CreateRunGroup":{ @@ -274,7 +263,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Creates a run group.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"workflows-"} }, "CreateSequenceStore":{ @@ -295,7 +283,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Creates a sequence store.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"control-storage-"} }, "CreateShare":{ @@ -317,7 +304,6 @@ {"shape":"AccessDeniedException"} ], "documentation":"

      Creates a share offer that can be accepted outside the account by a subscriber. The share is created by the owner and accepted by the principal subscriber.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"analytics-"} }, "CreateVariantStore":{ @@ -339,7 +325,6 @@ {"shape":"AccessDeniedException"} ], "documentation":"

      Creates a variant store.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"analytics-"} }, "CreateWorkflow":{ @@ -362,7 +347,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Creates a workflow.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"workflows-"} }, "DeleteAnnotationStore":{ @@ -383,7 +367,6 @@ {"shape":"AccessDeniedException"} ], "documentation":"

      Deletes an annotation store.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"analytics-"}, "idempotent":true }, @@ -405,7 +388,6 @@ {"shape":"AccessDeniedException"} ], "documentation":"

      Deletes one or multiple versions of an annotation store.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"analytics-"}, "idempotent":true }, @@ -428,7 +410,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Deletes a genome reference.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"control-storage-"}, "idempotent":true }, @@ -451,7 +432,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Deletes a genome reference store.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"control-storage-"}, "idempotent":true }, @@ -474,7 +454,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Deletes a workflow run.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"workflows-"}, "idempotent":true }, @@ -497,7 +476,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Deletes a workflow run group.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"workflows-"}, "idempotent":true }, @@ -520,7 +498,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Deletes a sequence store.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"control-storage-"}, "idempotent":true }, @@ -543,7 +520,6 @@ {"shape":"AccessDeniedException"} ], "documentation":"

      Deletes a share of an analytics store.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"analytics-"}, "idempotent":true }, @@ -565,7 +541,6 @@ {"shape":"AccessDeniedException"} ], "documentation":"

      Deletes a variant store.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"analytics-"}, "idempotent":true }, @@ -588,7 +563,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Deletes a workflow.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"workflows-"}, "idempotent":true }, @@ -609,7 +583,6 @@ {"shape":"AccessDeniedException"} ], "documentation":"

      Gets information about an annotation import job.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"analytics-"} }, "GetAnnotationStore":{ @@ -629,7 +602,6 @@ {"shape":"AccessDeniedException"} ], "documentation":"

      Gets information about an annotation store.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"analytics-"} }, "GetAnnotationStoreVersion":{ @@ -649,7 +621,6 @@ {"shape":"AccessDeniedException"} ], "documentation":"

      Retrieves the metadata for an annotation store version.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"analytics-"} }, "GetReadSet":{ @@ -672,7 +643,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Gets a file from a read set.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"storage-"} }, "GetReadSetActivationJob":{ @@ -693,7 +663,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Gets information about a read set activation job.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"control-storage-"} }, "GetReadSetExportJob":{ @@ -714,7 +683,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Gets information about a read set export job.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"control-storage-"} }, "GetReadSetImportJob":{ @@ -735,7 +703,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Gets information about a read set import job.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"control-storage-"} }, "GetReadSetMetadata":{ @@ -756,7 +723,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Gets details about a read set.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"control-storage-"} }, "GetReference":{ @@ -778,7 +744,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Gets a reference file.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"storage-"} }, "GetReferenceImportJob":{ @@ -799,7 +764,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Gets information about a reference import job.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"control-storage-"} }, "GetReferenceMetadata":{ @@ -820,7 +784,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Gets information about a genome reference's metadata.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"control-storage-"} }, "GetReferenceStore":{ @@ -841,7 +804,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Gets information about a reference store.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"control-storage-"} }, "GetRun":{ @@ -864,7 +826,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Gets information about a workflow run.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"workflows-"} }, "GetRunGroup":{ @@ -887,7 +848,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Gets information about a workflow run group.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"workflows-"} }, "GetRunTask":{ @@ -910,7 +870,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Gets information about a workflow run task.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"workflows-"} }, "GetSequenceStore":{ @@ -931,7 +890,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Gets information about a sequence store.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"control-storage-"} }, "GetShare":{ @@ -953,7 +911,6 @@ {"shape":"AccessDeniedException"} ], "documentation":"

      Retrieves the metadata for a share.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"analytics-"} }, "GetVariantImportJob":{ @@ -973,7 +930,6 @@ {"shape":"AccessDeniedException"} ], "documentation":"

      Gets information about a variant import job.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"analytics-"} }, "GetVariantStore":{ @@ -993,7 +949,6 @@ {"shape":"AccessDeniedException"} ], "documentation":"

      Gets information about a variant store.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"analytics-"} }, "GetWorkflow":{ @@ -1016,7 +971,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Gets information about a workflow.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"workflows-"} }, "ListAnnotationImportJobs":{ @@ -1036,7 +990,6 @@ {"shape":"AccessDeniedException"} ], "documentation":"

      Retrieves a list of annotation import jobs.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"analytics-"} }, "ListAnnotationStoreVersions":{ @@ -1056,7 +1009,6 @@ {"shape":"AccessDeniedException"} ], "documentation":"

      Lists the versions of an annotation store.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"analytics-"} }, "ListAnnotationStores":{ @@ -1076,7 +1028,6 @@ {"shape":"AccessDeniedException"} ], "documentation":"

      Retrieves a list of annotation stores.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"analytics-"} }, "ListMultipartReadSetUploads":{ @@ -1099,7 +1050,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Lists all multipart read set uploads and their statuses.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"control-storage-"} }, "ListReadSetActivationJobs":{ @@ -1120,7 +1070,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Retrieves a list of read set activation jobs.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"control-storage-"} }, "ListReadSetExportJobs":{ @@ -1141,7 +1090,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Retrieves a list of read set export jobs.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"control-storage-"} }, "ListReadSetImportJobs":{ @@ -1162,7 +1110,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Retrieves a list of read set import jobs.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"control-storage-"} }, "ListReadSetUploadParts":{ @@ -1185,7 +1132,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      This operation will list all parts in a requested multipart upload for a sequence store.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"control-storage-"} }, "ListReadSets":{ @@ -1206,7 +1152,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Retrieves a list of read sets.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"control-storage-"} }, "ListReferenceImportJobs":{ @@ -1227,7 +1172,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Retrieves a list of reference import jobs.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"control-storage-"} }, "ListReferenceStores":{ @@ -1247,7 +1191,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Retrieves a list of reference stores.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"control-storage-"} }, "ListReferences":{ @@ -1268,7 +1211,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Retrieves a list of references.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"control-storage-"} }, "ListRunGroups":{ @@ -1291,7 +1233,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Retrieves a list of run groups.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"workflows-"} }, "ListRunTasks":{ @@ -1314,7 +1255,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Retrieves a list of tasks for a run.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"workflows-"} }, "ListRuns":{ @@ -1337,7 +1277,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Retrieves a list of runs.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"workflows-"} }, "ListSequenceStores":{ @@ -1357,7 +1296,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Retrieves a list of sequence stores.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"control-storage-"} }, "ListShares":{ @@ -1379,7 +1317,6 @@ {"shape":"AccessDeniedException"} ], "documentation":"

      Lists all shares associated with an account.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"analytics-"} }, "ListTagsForResource":{ @@ -1402,7 +1339,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Retrieves a list of tags for a resource.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"tags-"} }, "ListVariantImportJobs":{ @@ -1422,7 +1358,6 @@ {"shape":"AccessDeniedException"} ], "documentation":"

      Retrieves a list of variant import jobs.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"analytics-"} }, "ListVariantStores":{ @@ -1442,7 +1377,6 @@ {"shape":"AccessDeniedException"} ], "documentation":"

      Retrieves a list of variant stores.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"analytics-"} }, "ListWorkflows":{ @@ -1465,7 +1399,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Retrieves a list of workflows.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"workflows-"} }, "StartAnnotationImportJob":{ @@ -1486,7 +1419,6 @@ {"shape":"AccessDeniedException"} ], "documentation":"

      Starts an annotation import job.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"analytics-"} }, "StartReadSetActivationJob":{ @@ -1508,7 +1440,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Activates an archived read set. To reduce storage charges, Amazon Omics archives unused read sets after 30 days.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"control-storage-"} }, "StartReadSetExportJob":{ @@ -1530,7 +1461,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Exports a read set to Amazon S3.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"control-storage-"} }, "StartReadSetImportJob":{ @@ -1552,7 +1482,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Starts a read set import job.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"control-storage-"} }, "StartReferenceImportJob":{ @@ -1574,7 +1503,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Starts a reference import job.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"control-storage-"} }, "StartRun":{ @@ -1597,7 +1525,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Starts a workflow run. To duplicate a run, specify the run's ID and a role ARN. The remaining parameters are copied from the previous run.

      The total number of runs in your account is subject to a quota per Region. To avoid needing to delete runs manually, you can set the retention mode to REMOVE. Runs with this setting are deleted automatically when the run quoata is exceeded.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"workflows-"} }, "StartVariantImportJob":{ @@ -1618,7 +1545,6 @@ {"shape":"AccessDeniedException"} ], "documentation":"

      Starts a variant import job.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"analytics-"} }, "TagResource":{ @@ -1641,7 +1567,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Tags a resource.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"tags-"} }, "UntagResource":{ @@ -1664,7 +1589,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Removes tags from a resource.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"tags-"}, "idempotent":true }, @@ -1685,7 +1609,6 @@ {"shape":"AccessDeniedException"} ], "documentation":"

      Updates an annotation store.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"analytics-"} }, "UpdateAnnotationStoreVersion":{ @@ -1705,7 +1628,6 @@ {"shape":"AccessDeniedException"} ], "documentation":"

      Updates the description of an annotation store version.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"analytics-"} }, "UpdateRunGroup":{ @@ -1727,7 +1649,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Updates a run group.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"workflows-"} }, "UpdateVariantStore":{ @@ -1747,7 +1668,6 @@ {"shape":"AccessDeniedException"} ], "documentation":"

      Updates a variant store.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"analytics-"} }, "UpdateWorkflow":{ @@ -1769,7 +1689,6 @@ {"shape":"RequestTimeoutException"} ], "documentation":"

      Updates a workflow.

      ", - "authtype":"v4", "endpoint":{"hostPrefix":"workflows-"} }, "UploadReadSetPart":{ @@ -3269,6 +3188,32 @@ "max":500, "min":0 }, + "ETag":{ + "type":"structure", + "members":{ + "algorithm":{ + "shape":"ETagAlgorithm", + "documentation":"

      The algorithm used to calculate the read set’s ETag(s).

      " + }, + "source1":{ + "shape":"String", + "documentation":"

      The ETag hash calculated on Source1 of the read set.

      " + }, + "source2":{ + "shape":"String", + "documentation":"

      The ETag hash calculated on Source2 of the read set.

      " + } + }, + "documentation":"

      The entity tag (ETag) is a hash of the object representing its semantic content.

      " + }, + "ETagAlgorithm":{ + "type":"string", + "enum":[ + "FASTQ_MD5up", + "BAM_MD5up", + "CRAM_MD5up" + ] + }, "Encoding":{ "type":"string", "max":20, @@ -4032,6 +3977,10 @@ "creationType":{ "shape":"CreationType", "documentation":"

      The creation type of the read set.

      " + }, + "etag":{ + "shape":"ETag", + "documentation":"

      The entity tag (ETag) is a hash of the object meant to represent its semantic content.

      " } } }, @@ -6679,6 +6628,10 @@ "creationType":{ "shape":"CreationType", "documentation":"

      The creation type of the read set.

      " + }, + "etag":{ + "shape":"ETag", + "documentation":"

      The entity tag (ETag) is a hash of the object representing its semantic content.

      " } }, "documentation":"

      A read set.

      " diff --git a/services/opensearch/pom.xml b/services/opensearch/pom.xml index 6a46b59b1f4c..9e0d7b536793 100644 --- a/services/opensearch/pom.xml +++ b/services/opensearch/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT opensearch AWS Java SDK :: Services :: Open Search diff --git a/services/opensearch/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/opensearch/src/main/resources/codegen-resources/endpoint-rule-set.json index 07a7ff339617..4d07181f8629 100644 --- a/services/opensearch/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/opensearch/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://es-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://es-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://es-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://es-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://es.{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://es.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://es.{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://es.{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/services/opensearchserverless/pom.xml b/services/opensearchserverless/pom.xml index 0b8a240a3c46..cffa228698c1 100644 --- a/services/opensearchserverless/pom.xml +++ b/services/opensearchserverless/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT opensearchserverless AWS Java SDK :: Services :: Open Search Serverless diff --git a/services/opensearchserverless/src/main/resources/codegen-resources/endpoint-tests.json b/services/opensearchserverless/src/main/resources/codegen-resources/endpoint-tests.json index 394379dc69cb..944c804cc572 100644 --- a/services/opensearchserverless/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/opensearchserverless/src/main/resources/codegen-resources/endpoint-tests.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://aoss-fips.us-gov-east-1.api.aws" + "url": "https://aoss-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "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://aoss-fips.us-gov-east-1.amazonaws.com" + "url": "https://aoss-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "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://aoss.us-gov-east-1.api.aws" + "url": "https://aoss.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "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://aoss.us-gov-east-1.amazonaws.com" + "url": "https://aoss.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -60,9 +60,9 @@ } }, "params": { - "UseDualStack": true, "Region": "cn-north-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -73,9 +73,9 @@ } }, "params": { - "UseDualStack": false, "Region": "cn-north-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -86,9 +86,9 @@ } }, "params": { - "UseDualStack": true, "Region": "cn-north-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -99,109 +99,109 @@ } }, "params": { - "UseDualStack": false, "Region": "cn-north-1", - "UseFIPS": false + "UseFIPS": false, + "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://aoss-fips.us-gov-east-1.api.aws" + } }, "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "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://aoss-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://aoss-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "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://aoss.us-gov-east-1.api.aws" + } }, "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "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://aoss.us-iso-east-1.c2s.ic.gov" + "url": "https://aoss.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "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://aoss-fips.us-east-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "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://aoss-fips.us-east-1.amazonaws.com" + "url": "https://aoss-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "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://aoss.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "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://aoss.us-east-1.amazonaws.com" + "url": "https://aoss.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -210,9 +210,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -223,9 +223,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -234,9 +234,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -247,22 +247,35 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -272,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -284,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/opsworks/pom.xml b/services/opsworks/pom.xml index 4b88e6dcb81f..a4b5e9d07f09 100644 --- a/services/opsworks/pom.xml +++ b/services/opsworks/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT opsworks AWS Java SDK :: Services :: AWS OpsWorks diff --git a/services/opsworks/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/opsworks/src/main/resources/codegen-resources/endpoint-rule-set.json index 05df1b3e0d49..3c6f5315cdeb 100644 --- a/services/opsworks/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/opsworks/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://opsworks-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://opsworks-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://opsworks.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://opsworks.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://opsworks.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://opsworks.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/opsworks/src/main/resources/codegen-resources/endpoint-tests.json b/services/opsworks/src/main/resources/codegen-resources/endpoint-tests.json index 84403f4c3065..89c8cf197f0e 100644 --- a/services/opsworks/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/opsworks/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,42 +1,29 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://opsworks-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks-fips.ap-south-1.amazonaws.com" + "url": "https://opsworks.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks.ap-south-1.api.aws" + "url": "https://opsworks.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -47,48 +34,35 @@ } }, "params": { - "UseDualStack": false, "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://opsworks-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks-fips.ca-central-1.amazonaws.com" + "url": "https://opsworks.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks.ca-central-1.api.aws" + "url": "https://opsworks.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -99,100 +73,100 @@ } }, "params": { - "UseDualStack": false, "Region": "ca-central-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks-fips.eu-central-1.api.aws" + "url": "https://opsworks.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, "Region": "eu-central-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks-fips.eu-central-1.amazonaws.com" + "url": "https://opsworks.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks.eu-central-1.api.aws" + "url": "https://opsworks.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks.eu-central-1.amazonaws.com" + "url": "https://opsworks.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks-fips.us-west-1.api.aws" + "url": "https://opsworks.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks-fips.us-west-1.amazonaws.com" + "url": "https://opsworks.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks.us-west-1.api.aws" + "url": "https://opsworks.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -203,48 +177,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://opsworks-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://opsworks-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://opsworks.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -255,542 +190,274 @@ } }, "params": { - "UseDualStack": false, "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://opsworks-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://opsworks-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://opsworks.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://opsworks.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://opsworks-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://opsworks-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://opsworks.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://opsworks.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://opsworks-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://opsworks-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://opsworks.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://opsworks.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://opsworks-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://opsworks-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://opsworks.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://opsworks.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://opsworks-fips.ap-northeast-1.api.aws" + "url": "https://opsworks-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks-fips.ap-northeast-1.amazonaws.com" + "url": "https://opsworks-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://opsworks.ap-northeast-1.api.aws" + "url": "https://opsworks.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://opsworks.ap-northeast-1.amazonaws.com" + "url": "https://opsworks-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks-fips.sa-east-1.api.aws" + "url": "https://opsworks-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://opsworks-fips.sa-east-1.amazonaws.com" + "url": "https://opsworks.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks.sa-east-1.api.aws" + "url": "https://opsworks.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://opsworks.sa-east-1.amazonaws.com" + "url": "https://opsworks-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks-fips.ap-southeast-1.api.aws" + "url": "https://opsworks-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://opsworks-fips.ap-southeast-1.amazonaws.com" + "url": "https://opsworks.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks.ap-southeast-1.api.aws" + "url": "https://opsworks.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://opsworks.ap-southeast-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks-fips.ap-southeast-2.api.aws" + "url": "https://opsworks-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://opsworks-fips.ap-southeast-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks.ap-southeast-2.api.aws" + "url": "https://opsworks.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://opsworks.ap-southeast-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks-fips.us-east-1.api.aws" + "url": "https://opsworks-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://opsworks-fips.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks.us-east-1.api.aws" + "url": "https://opsworks.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://opsworks.us-east-1.amazonaws.com" + "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://opsworks-fips.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://opsworks-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://opsworks.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://opsworks.us-east-2.amazonaws.com" - } - }, - "params": { + "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -800,9 +467,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -812,11 +479,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/opsworkscm/pom.xml b/services/opsworkscm/pom.xml index 71e64188d940..5e584c621833 100644 --- a/services/opsworkscm/pom.xml +++ b/services/opsworkscm/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT opsworkscm AWS Java SDK :: Services :: AWS OpsWorks for Chef Automate diff --git a/services/opsworkscm/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/opsworkscm/src/main/resources/codegen-resources/endpoint-rule-set.json index eb5f87be1a38..eca7ecb5e19b 100644 --- a/services/opsworkscm/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/opsworkscm/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://opsworks-cm-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://opsworks-cm-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://opsworks-cm.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://opsworks-cm.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://opsworks-cm.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://opsworks-cm.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/opsworkscm/src/main/resources/codegen-resources/endpoint-tests.json b/services/opsworkscm/src/main/resources/codegen-resources/endpoint-tests.json index 5dc8403f1e69..bdc8f8ed5d05 100644 --- a/services/opsworkscm/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/opsworkscm/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,42 +1,42 @@ { "testCases": [ { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks-cm-fips.eu-central-1.api.aws" + "url": "https://opsworks-cm.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks-cm-fips.eu-central-1.amazonaws.com" + "url": "https://opsworks-cm.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks-cm.eu-central-1.api.aws" + "url": "https://opsworks-cm.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -47,48 +47,48 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-central-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks-cm-fips.us-west-1.api.aws" + "url": "https://opsworks-cm.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks-cm-fips.us-west-1.amazonaws.com" + "url": "https://opsworks-cm.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks-cm.us-west-1.api.aws" + "url": "https://opsworks-cm.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -99,48 +99,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://opsworks-cm-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://opsworks-cm-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://opsworks-cm.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -151,334 +112,274 @@ } }, "params": { - "UseDualStack": false, "Region": "us-west-2", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://opsworks-cm-fips.eu-west-1.api.aws" + "url": "https://opsworks-cm-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks-cm-fips.eu-west-1.amazonaws.com" + "url": "https://opsworks-cm-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://opsworks-cm.eu-west-1.api.aws" + "url": "https://opsworks-cm.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://opsworks-cm.eu-west-1.amazonaws.com" + "url": "https://opsworks-cm-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks-cm-fips.ap-northeast-1.api.aws" + "url": "https://opsworks-cm-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://opsworks-cm-fips.ap-northeast-1.amazonaws.com" + "url": "https://opsworks-cm.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks-cm.ap-northeast-1.api.aws" + "url": "https://opsworks-cm.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://opsworks-cm.ap-northeast-1.amazonaws.com" + "url": "https://opsworks-cm-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks-cm-fips.ap-southeast-1.api.aws" + "url": "https://opsworks-cm-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://opsworks-cm-fips.ap-southeast-1.amazonaws.com" + "url": "https://opsworks-cm.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks-cm.ap-southeast-1.api.aws" + "url": "https://opsworks-cm.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://opsworks-cm.ap-southeast-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks-cm-fips.ap-southeast-2.api.aws" + "url": "https://opsworks-cm-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://opsworks-cm-fips.ap-southeast-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks-cm.ap-southeast-2.api.aws" + "url": "https://opsworks-cm.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://opsworks-cm.ap-southeast-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks-cm-fips.us-east-1.api.aws" + "url": "https://opsworks-cm-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://opsworks-cm-fips.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://opsworks-cm.us-east-1.api.aws" + "url": "https://opsworks-cm.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://opsworks-cm.us-east-1.amazonaws.com" + "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://opsworks-cm-fips.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://opsworks-cm-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://opsworks-cm.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://opsworks-cm.us-east-2.amazonaws.com" - } - }, - "params": { + "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -488,9 +389,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -500,11 +401,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/organizations/pom.xml b/services/organizations/pom.xml index 0397590f81c7..a0a066f7baea 100644 --- a/services/organizations/pom.xml +++ b/services/organizations/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT organizations AWS Java SDK :: Services :: AWS Organizations diff --git a/services/osis/pom.xml b/services/osis/pom.xml index 01851db435f3..d7cbfc53d195 100644 --- a/services/osis/pom.xml +++ b/services/osis/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT osis AWS Java SDK :: Services :: OSIS diff --git a/services/osis/src/main/resources/codegen-resources/endpoint-tests.json b/services/osis/src/main/resources/codegen-resources/endpoint-tests.json index b3c494841be7..b8c784e7978b 100644 --- a/services/osis/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/osis/src/main/resources/codegen-resources/endpoint-tests.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://osis-fips.us-gov-east-1.api.aws" + "url": "https://osis-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "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://osis-fips.us-gov-east-1.amazonaws.com" + "url": "https://osis-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "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://osis.us-gov-east-1.api.aws" + "url": "https://osis.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "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://osis.us-gov-east-1.amazonaws.com" + "url": "https://osis.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -60,9 +60,9 @@ } }, "params": { - "UseDualStack": true, "Region": "cn-north-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -73,9 +73,9 @@ } }, "params": { - "UseDualStack": false, "Region": "cn-north-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -86,9 +86,9 @@ } }, "params": { - "UseDualStack": true, "Region": "cn-north-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -99,109 +99,109 @@ } }, "params": { - "UseDualStack": false, "Region": "cn-north-1", - "UseFIPS": false + "UseFIPS": false, + "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://osis-fips.us-gov-east-1.api.aws" + } }, "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "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://osis-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://osis-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "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://osis.us-gov-east-1.api.aws" + } }, "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "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://osis.us-iso-east-1.c2s.ic.gov" + "url": "https://osis.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "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://osis-fips.us-east-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "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://osis-fips.us-east-1.amazonaws.com" + "url": "https://osis-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "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://osis.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "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://osis.us-east-1.amazonaws.com" + "url": "https://osis.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -210,9 +210,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -223,9 +223,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -234,9 +234,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -247,22 +247,35 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -272,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -284,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/outposts/pom.xml b/services/outposts/pom.xml index 2d596e04392b..b238fff0abf5 100644 --- a/services/outposts/pom.xml +++ b/services/outposts/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT outposts AWS Java SDK :: Services :: Outposts diff --git a/services/outposts/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/outposts/src/main/resources/codegen-resources/endpoint-rule-set.json index fb8b6059a983..bca1f55e1e5c 100644 --- a/services/outposts/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/outposts/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,92 +140,83 @@ { "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://outposts-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://outposts-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 + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], @@ -221,155 +225,115 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, + "aws-us-gov", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] } ] } ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - "aws-us-gov", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://outposts.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://outposts-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] + "endpoint": { + "url": "https://outposts.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://outposts-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://outposts.{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://outposts.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://outposts.{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://outposts.{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/services/outposts/src/main/resources/codegen-resources/service-2.json b/services/outposts/src/main/resources/codegen-resources/service-2.json index e5107dffb38e..f1aadf41456e 100644 --- a/services/outposts/src/main/resources/codegen-resources/service-2.json +++ b/services/outposts/src/main/resources/codegen-resources/service-2.json @@ -741,6 +741,10 @@ "State":{ "shape":"ComputeAssetState", "documentation":"

      The state.

      • ACTIVE - The asset is available and can provide capacity for new compute resources.

      • ISOLATED - The asset is undergoing maintenance and can't provide capacity for new compute resources. Existing compute resources on the asset are not affected.

      • RETIRING - The underlying hardware for the asset is degraded. Capacity for new compute resources is reduced. Amazon Web Services sends notifications for resources that must be stopped before the asset can be replaced.

      " + }, + "InstanceFamilies":{ + "shape":"InstanceFamilies", + "documentation":"

      A list of the names of instance families that are currently associated with a given asset.

      " } }, "documentation":"

      Information about compute hardware assets.

      " @@ -1191,6 +1195,16 @@ "member":{"shape":"HostId"} }, "ISO8601Timestamp":{"type":"timestamp"}, + "InstanceFamilies":{ + "type":"list", + "member":{"shape":"InstanceFamilyName"} + }, + "InstanceFamilyName":{ + "type":"string", + "max":200, + "min":1, + "pattern":"^(?:.{1,200}/)?(?:[a-z0-9-_A-Z])+$" + }, "InstanceType":{ "type":"string", "documentation":"

      The instance type.

      " @@ -1234,7 +1248,7 @@ "members":{ "CatalogItemId":{ "shape":"SkuCode", - "documentation":"

      The ID of the catalog item.

      " + "documentation":"

      The ID of the catalog item.

      " }, "LineItemId":{ "shape":"LineItemId", @@ -1262,7 +1276,7 @@ }, "PreviousOrderId":{ "shape":"OrderId", - "documentation":"

      The ID of the previous order item.

      " + "documentation":"

      The ID of the previous order.

      " } }, "documentation":"

      Information about a line item.

      " @@ -1659,7 +1673,7 @@ }, "OrderType":{ "shape":"OrderType", - "documentation":"

      Type of order.

      " + "documentation":"

      The type of order.

      " } }, "documentation":"

      Information about an order.

      " @@ -1698,7 +1712,7 @@ }, "OrderType":{ "shape":"OrderType", - "documentation":"

      The type of order.

      " + "documentation":"

      The type of order.

      " }, "Status":{ "shape":"OrderStatus", diff --git a/services/panorama/pom.xml b/services/panorama/pom.xml index bf5b28c3268d..f159759733f9 100644 --- a/services/panorama/pom.xml +++ b/services/panorama/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT panorama AWS Java SDK :: Services :: Panorama diff --git a/services/panorama/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/panorama/src/main/resources/codegen-resources/endpoint-rule-set.json index 6ec20d8240a6..54862e542516 100644 --- a/services/panorama/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/panorama/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,68 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] } ], - "assign": "PartitionResult" + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] } ], "type": "tree", @@ -46,12 +101,13 @@ { "conditions": [ { - "fn": "isSet", + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } - ] + ], + "assign": "PartitionResult" } ], "type": "tree", @@ -66,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -80,221 +140,175 @@ { "fn": "booleanEquals", "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://panorama-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] }, { "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] - }, + } + ], + "type": "tree", + "rules": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://panorama-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://panorama-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://panorama-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://panorama.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://panorama.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://panorama.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://panorama.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/panorama/src/main/resources/codegen-resources/endpoint-tests.json b/services/panorama/src/main/resources/codegen-resources/endpoint-tests.json index 91c92af29cd0..a671b73db90a 100644 --- a/services/panorama/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/panorama/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,16 +1,281 @@ { "testCases": [ { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://panorama-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://panorama-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://panorama.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://panorama.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://panorama-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://panorama-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://panorama.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://panorama.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://panorama-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://panorama-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://panorama.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://panorama.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://panorama-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://panorama.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://panorama-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://panorama.us-isob-east-1.sc2s.sgov.gov" + } + }, + "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": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -20,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -32,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/paymentcryptography/pom.xml b/services/paymentcryptography/pom.xml index a890ce40f4a3..8db448474a23 100644 --- a/services/paymentcryptography/pom.xml +++ b/services/paymentcryptography/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT paymentcryptography AWS Java SDK :: Services :: Payment Cryptography diff --git a/services/paymentcryptography/src/main/resources/codegen-resources/endpoint-tests.json b/services/paymentcryptography/src/main/resources/codegen-resources/endpoint-tests.json index 859cd0c52420..f1004e41dd72 100644 --- a/services/paymentcryptography/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/paymentcryptography/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,54 +1,54 @@ { "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://controlplane.payment-cryptography-fips.us-gov-east-1.api.aws" + "url": "https://controlplane.payment-cryptography-fips.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": 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://controlplane.payment-cryptography-fips.us-gov-east-1.amazonaws.com" + "url": "https://controlplane.payment-cryptography-fips.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "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://controlplane.payment-cryptography.us-gov-east-1.api.aws" + "url": "https://controlplane.payment-cryptography.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "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://controlplane.payment-cryptography.us-gov-east-1.amazonaws.com" + "url": "https://controlplane.payment-cryptography.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-gov-east-1", "UseDualStack": false } }, @@ -60,8 +60,8 @@ } }, "params": { - "UseFIPS": true, "Region": "cn-north-1", + "UseFIPS": true, "UseDualStack": true } }, @@ -73,8 +73,8 @@ } }, "params": { - "UseFIPS": true, "Region": "cn-north-1", + "UseFIPS": true, "UseDualStack": false } }, @@ -86,8 +86,8 @@ } }, "params": { - "UseFIPS": false, "Region": "cn-north-1", + "UseFIPS": false, "UseDualStack": true } }, @@ -99,108 +99,108 @@ } }, "params": { - "UseFIPS": false, "Region": "cn-north-1", + "UseFIPS": false, "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://controlplane.payment-cryptography-fips.us-gov-east-1.api.aws" + } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": 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://controlplane.payment-cryptography-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://controlplane.payment-cryptography-fips.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "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://controlplane.payment-cryptography.us-gov-east-1.api.aws" + } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "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://controlplane.payment-cryptography.us-iso-east-1.c2s.ic.gov" + "url": "https://controlplane.payment-cryptography.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": 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://controlplane.payment-cryptography-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, - "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://controlplane.payment-cryptography-fips.us-east-1.amazonaws.com" + "url": "https://controlplane.payment-cryptography-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "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://controlplane.payment-cryptography.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "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://controlplane.payment-cryptography.us-east-1.amazonaws.com" + "url": "https://controlplane.payment-cryptography.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "us-east-1", "UseDualStack": false } }, @@ -210,8 +210,8 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseFIPS": true, "Region": "us-isob-east-1", + "UseFIPS": true, "UseDualStack": true } }, @@ -223,8 +223,8 @@ } }, "params": { - "UseFIPS": true, "Region": "us-isob-east-1", + "UseFIPS": true, "UseDualStack": false } }, @@ -234,8 +234,8 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseFIPS": false, "Region": "us-isob-east-1", + "UseFIPS": false, "UseDualStack": true } }, @@ -247,21 +247,34 @@ } }, "params": { - "UseFIPS": false, "Region": "us-isob-east-1", + "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, "UseDualStack": false, "Endpoint": "https://example.com" } @@ -272,8 +285,8 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, "UseDualStack": false, "Endpoint": "https://example.com" } @@ -284,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/paymentcryptographydata/pom.xml b/services/paymentcryptographydata/pom.xml index a97d2630a849..e0cece5c1351 100644 --- a/services/paymentcryptographydata/pom.xml +++ b/services/paymentcryptographydata/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT paymentcryptographydata AWS Java SDK :: Services :: Payment Cryptography Data diff --git a/services/pcaconnectorad/pom.xml b/services/pcaconnectorad/pom.xml index 0b5c7c8daec0..c350a5911793 100644 --- a/services/pcaconnectorad/pom.xml +++ b/services/pcaconnectorad/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT pcaconnectorad AWS Java SDK :: Services :: Pca Connector Ad diff --git a/services/personalize/pom.xml b/services/personalize/pom.xml index 35a5dadc15c0..d12e5130f0b6 100644 --- a/services/personalize/pom.xml +++ b/services/personalize/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT personalize AWS Java SDK :: Services :: Personalize diff --git a/services/personalize/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/personalize/src/main/resources/codegen-resources/endpoint-rule-set.json index 0f0b99c1ae42..9f3400b9f79b 100644 --- a/services/personalize/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/personalize/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://personalize-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://personalize-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://personalize-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://personalize-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://personalize.{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://personalize.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://personalize.{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://personalize.{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/services/personalizeevents/pom.xml b/services/personalizeevents/pom.xml index 777cecd65bfa..2099f73d6f80 100644 --- a/services/personalizeevents/pom.xml +++ b/services/personalizeevents/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT personalizeevents AWS Java SDK :: Services :: Personalize Events diff --git a/services/personalizeevents/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/personalizeevents/src/main/resources/codegen-resources/endpoint-rule-set.json index 636e12c2b2e1..f25902a7af75 100644 --- a/services/personalizeevents/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/personalizeevents/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "parseURL", + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,221 +140,175 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://personalize-events-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] }, { "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] - }, + } + ], + "type": "tree", + "rules": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://personalize-events-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://personalize-events-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://personalize-events-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://personalize-events.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://personalize-events.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://personalize-events.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://personalize-events.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/personalizeevents/src/main/resources/codegen-resources/endpoint-tests.json b/services/personalizeevents/src/main/resources/codegen-resources/endpoint-tests.json index 0a11fb3a1c0f..434664e3bd38 100644 --- a/services/personalizeevents/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/personalizeevents/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,16 +1,281 @@ { "testCases": [ { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize-events-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-events-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize-events.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-events.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize-events-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-events-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize-events.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-events.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize-events-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-events-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize-events.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-events.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-events-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-events.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-events-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-events.us-isob-east-1.sc2s.sgov.gov" + } + }, + "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, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { "UseFIPS": false, - "Region": "us-east-1", + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -20,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -32,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/personalizeruntime/pom.xml b/services/personalizeruntime/pom.xml index 6b3706ca3172..f06e967f99c4 100644 --- a/services/personalizeruntime/pom.xml +++ b/services/personalizeruntime/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT personalizeruntime AWS Java SDK :: Services :: Personalize Runtime diff --git a/services/personalizeruntime/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/personalizeruntime/src/main/resources/codegen-resources/endpoint-rule-set.json index 0c90de7aa1b1..da8140298c4e 100644 --- a/services/personalizeruntime/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/personalizeruntime/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "parseURL", + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,221 +140,175 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://personalize-runtime-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] }, { "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] - }, + } + ], + "type": "tree", + "rules": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://personalize-runtime-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://personalize-runtime-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://personalize-runtime-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://personalize-runtime.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://personalize-runtime.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://personalize-runtime.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://personalize-runtime.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/personalizeruntime/src/main/resources/codegen-resources/endpoint-tests.json b/services/personalizeruntime/src/main/resources/codegen-resources/endpoint-tests.json index 91c92af29cd0..06165e2d9347 100644 --- a/services/personalizeruntime/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/personalizeruntime/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,16 +1,281 @@ { "testCases": [ { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize-runtime-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-runtime-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize-runtime.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-runtime.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize-runtime-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-runtime-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize-runtime.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-runtime.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize-runtime-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-runtime-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://personalize-runtime.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-runtime.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-runtime-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-runtime.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-runtime-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://personalize-runtime.us-isob-east-1.sc2s.sgov.gov" + } + }, + "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": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -20,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -32,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/pi/pom.xml b/services/pi/pom.xml index 843b7da112f8..704499b3d4bd 100644 --- a/services/pi/pom.xml +++ b/services/pi/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT pi AWS Java SDK :: Services :: PI diff --git a/services/pinpoint/pom.xml b/services/pinpoint/pom.xml index 3a841bb354b1..9a1e366ce2fe 100644 --- a/services/pinpoint/pom.xml +++ b/services/pinpoint/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT pinpoint AWS Java SDK :: Services :: Amazon Pinpoint diff --git a/services/pinpoint/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/pinpoint/src/main/resources/codegen-resources/endpoint-rule-set.json index 2f55d5222e71..0f212a69ff73 100644 --- a/services/pinpoint/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/pinpoint/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,331 +140,282 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://pinpoint-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsFIPS" ] } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "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://pinpoint-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, + } + ], + "type": "tree", + "rules": [ { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://pinpoint-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": "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://pinpoint.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsFIPS" ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } - ] - }, - { - "conditions": [], + ], "type": "tree", "rules": [ { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-east-1" - ] - } - ], + "conditions": [], "endpoint": { - "url": "https://pinpoint.us-east-1.amazonaws.com", + "url": "https://pinpoint-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": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ + true, { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ { - "ref": "Region" + "ref": "PartitionResult" }, - "us-west-2" + "supportsDualStack" ] } - ], + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], "endpoint": { - "url": "https://pinpoint.us-west-2.amazonaws.com", + "url": "https://pinpoint.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" }, + "us-east-1" + ] + } + ], + "endpoint": { + "url": "https://pinpoint.us-east-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-west-1" - ] - } - ], - "endpoint": { - "url": "https://pinpoint.us-gov-west-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "ref": "Region" }, + "us-west-2" + ] + } + ], + "endpoint": { + "url": "https://pinpoint.us-west-2.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - "aws", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://pinpoint.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "ref": "Region" }, + "us-gov-west-1" + ] + } + ], + "endpoint": { + "url": "https://pinpoint.us-gov-west-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws", { - "conditions": [ + "fn": "getAttr", + "argv": [ { - "fn": "stringEquals", - "argv": [ - "aws-us-gov", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://pinpoint.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://pinpoint.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws-us-gov", { - "conditions": [], - "endpoint": { - "url": "https://pinpoint.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] } ] } - ] + ], + "endpoint": { + "url": "https://pinpoint.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://pinpoint.{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/services/pinpoint/src/main/resources/codegen-resources/service-2.json b/services/pinpoint/src/main/resources/codegen-resources/service-2.json index d37440fc3373..5d8fb8f24e26 100644 --- a/services/pinpoint/src/main/resources/codegen-resources/service-2.json +++ b/services/pinpoint/src/main/resources/codegen-resources/service-2.json @@ -4165,7 +4165,7 @@ "documentation": "

      The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

      " } ], - "documentation": "

      Removes one or more attributes, of the same attribute type, from all the endpoints that are associated with an application.

      " + "documentation": "

      Removes one or more custom attributes, of the same attribute type, from the application. Existing endpoints still have the attributes but Amazon Pinpoint will stop capturing new or changed values for these attributes.

      " }, "SendMessages": { "name": "SendMessages", diff --git a/services/pinpointemail/pom.xml b/services/pinpointemail/pom.xml index c6f5cf2bd6c9..9b9645301f4d 100644 --- a/services/pinpointemail/pom.xml +++ b/services/pinpointemail/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT pinpointemail AWS Java SDK :: Services :: Pinpoint Email diff --git a/services/pinpointemail/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/pinpointemail/src/main/resources/codegen-resources/endpoint-rule-set.json index 103753b59b9d..900cfc973ee7 100644 --- a/services/pinpointemail/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/pinpointemail/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://email-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://email-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://email.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://email.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://email.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://email.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/pinpointemail/src/main/resources/codegen-resources/endpoint-tests.json b/services/pinpointemail/src/main/resources/codegen-resources/endpoint-tests.json index a2a048c63dc6..fa4feb98bdd2 100644 --- a/services/pinpointemail/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/pinpointemail/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,822 +1,198 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://email-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://email-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://email.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://email.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://email-fips.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://email-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://email.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://email.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://email-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://email-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://email.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://email.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://email-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://email-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://email.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://email.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://email-fips.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://email-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://email.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://email.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://email-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://email-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://email.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://email.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://email-fips.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://email-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://email.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://email.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://email-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://email-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://email.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://email.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://email-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://email-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://email.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://email.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://email-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://email-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://email.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://email.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://email-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://email-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://email.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://email.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://email-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://email-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://email.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://email.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://email-fips.ap-northeast-2.api.aws" + "url": "https://email.af-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "af-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://email-fips.ap-northeast-2.amazonaws.com" + "url": "https://email.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://email.ap-northeast-2.api.aws" + "url": "https://email.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, "Region": "ap-northeast-2", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://email.ap-northeast-2.amazonaws.com" + "url": "https://email.ap-northeast-3.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "ap-northeast-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://email-fips.ap-northeast-1.api.aws" + "url": "https://email.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://email-fips.ap-northeast-1.amazonaws.com" + "url": "https://email.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://email.ap-northeast-1.api.aws" + "url": "https://email.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://email.ap-northeast-1.amazonaws.com" + "url": "https://email.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://email-fips.me-south-1.api.aws" + "url": "https://email.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": true + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://email-fips.me-south-1.amazonaws.com" + "url": "https://email.eu-north-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": true + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://email.me-south-1.api.aws" + "url": "https://email.eu-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": false + "Region": "eu-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://email.me-south-1.amazonaws.com" + "url": "https://email.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": false + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://email-fips.sa-east-1.api.aws" + "url": "https://email.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": true + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://email-fips.sa-east-1.amazonaws.com" + "url": "https://email.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": true + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://email.sa-east-1.api.aws" + "url": "https://email.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": false + "Region": "me-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -827,386 +203,365 @@ } }, "params": { - "UseDualStack": false, "Region": "sa-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://email-fips.us-gov-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://email-fips.us-gov-west-1.amazonaws.com" + "url": "https://email.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://email.us-gov-west-1.api.aws" + "url": "https://email-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://email.us-gov-west-1.amazonaws.com" + "url": "https://email.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://email-fips.ap-southeast-1.api.aws" + "url": "https://email.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://email-fips.ap-southeast-1.amazonaws.com" + "url": "https://email.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://email.ap-southeast-1.api.aws" + "url": "https://email-fips.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://email.ap-southeast-1.amazonaws.com" + "url": "https://email-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://email-fips.ap-southeast-2.api.aws" + "url": "https://email.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://email-fips.ap-southeast-2.amazonaws.com" + "url": "https://email-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://email.ap-southeast-2.api.aws" + "url": "https://email-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://email.ap-southeast-2.amazonaws.com" + "url": "https://email.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://email-fips.ap-southeast-3.api.aws" + "url": "https://email.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-3", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://email-fips.ap-southeast-3.amazonaws.com" + "url": "https://email.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-3", - "UseFIPS": true + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://email.ap-southeast-3.api.aws" + "url": "https://email-fips.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-3", - "UseFIPS": false + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://email.ap-southeast-3.amazonaws.com" + "url": "https://email-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-3", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://email-fips.us-east-1.api.aws" + "url": "https://email-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://email-fips.us-east-1.amazonaws.com" + "url": "https://email.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://email.us-east-1.api.aws" + "url": "https://email.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://email.us-east-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://email-fips.us-east-2.api.aws" + "url": "https://email-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://email-fips.us-east-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://email.us-east-2.api.aws" + "url": "https://email.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://email.us-east-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://email-fips.cn-northwest-1.api.amazonwebservices.com.cn" + "url": "https://email-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://email-fips.cn-northwest-1.amazonaws.com.cn" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://email.cn-northwest-1.api.amazonwebservices.com.cn" + "url": "https://email.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://email.cn-northwest-1.amazonaws.com.cn" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1216,9 +571,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1228,11 +583,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/pinpointsmsvoice/pom.xml b/services/pinpointsmsvoice/pom.xml index d0d56e7ba031..3109fc55205a 100644 --- a/services/pinpointsmsvoice/pom.xml +++ b/services/pinpointsmsvoice/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT pinpointsmsvoice AWS Java SDK :: Services :: Pinpoint SMS Voice diff --git a/services/pinpointsmsvoice/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/pinpointsmsvoice/src/main/resources/codegen-resources/endpoint-rule-set.json index ac4860b43c1a..ed339ca29fb4 100644 --- a/services/pinpointsmsvoice/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/pinpointsmsvoice/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,23 +45,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -71,67 +67,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -140,168 +111,238 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + }, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://sms-voice.pinpoint-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" + } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://sms-voice.pinpoint-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://sms-voice.pinpoint-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://sms-voice.pinpoint-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://sms-voice.pinpoint.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://sms-voice.pinpoint.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://sms-voice.pinpoint.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } ] }, { "conditions": [], - "endpoint": { - "url": "https://sms-voice.pinpoint.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } diff --git a/services/pinpointsmsvoice/src/main/resources/codegen-resources/endpoint-tests.json b/services/pinpointsmsvoice/src/main/resources/codegen-resources/endpoint-tests.json index 78f2d59d00f1..4c5fee106f7f 100644 --- a/services/pinpointsmsvoice/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/pinpointsmsvoice/src/main/resources/codegen-resources/endpoint-tests.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://sms-voice.pinpoint-fips.us-gov-east-1.api.aws" + "url": "https://sms-voice.pinpoint-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "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://sms-voice.pinpoint-fips.us-gov-east-1.amazonaws.com" + "url": "https://sms-voice.pinpoint-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "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://sms-voice.pinpoint.us-gov-east-1.api.aws" + "url": "https://sms-voice.pinpoint.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "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://sms-voice.pinpoint.us-gov-east-1.amazonaws.com" + "url": "https://sms-voice.pinpoint.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -60,9 +60,9 @@ } }, "params": { - "UseDualStack": true, "Region": "cn-north-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -73,9 +73,9 @@ } }, "params": { - "UseDualStack": false, "Region": "cn-north-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -86,9 +86,9 @@ } }, "params": { - "UseDualStack": true, "Region": "cn-north-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -99,109 +99,109 @@ } }, "params": { - "UseDualStack": false, "Region": "cn-north-1", - "UseFIPS": false + "UseFIPS": false, + "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://sms-voice.pinpoint-fips.us-gov-east-1.api.aws" + } }, "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "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://sms-voice.pinpoint-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://sms-voice.pinpoint-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "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://sms-voice.pinpoint.us-gov-east-1.api.aws" + } }, "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "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://sms-voice.pinpoint.us-iso-east-1.c2s.ic.gov" + "url": "https://sms-voice.pinpoint.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "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://sms-voice.pinpoint-fips.us-east-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "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://sms-voice.pinpoint-fips.us-east-1.amazonaws.com" + "url": "https://sms-voice.pinpoint-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "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://sms-voice.pinpoint.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "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://sms-voice.pinpoint.us-east-1.amazonaws.com" + "url": "https://sms-voice.pinpoint.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -210,9 +210,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -223,9 +223,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -234,9 +234,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -247,22 +247,35 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -272,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -284,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/pinpointsmsvoicev2/pom.xml b/services/pinpointsmsvoicev2/pom.xml index 374be129cf57..cddc8a35180c 100644 --- a/services/pinpointsmsvoicev2/pom.xml +++ b/services/pinpointsmsvoicev2/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT pinpointsmsvoicev2 AWS Java SDK :: Services :: Pinpoint SMS Voice V2 diff --git a/services/pinpointsmsvoicev2/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/pinpointsmsvoicev2/src/main/resources/codegen-resources/endpoint-rule-set.json index 998784ea4b89..b225ec7e75de 100644 --- a/services/pinpointsmsvoicev2/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/pinpointsmsvoicev2/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://sms-voice-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://sms-voice-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://sms-voice.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://sms-voice.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://sms-voice.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://sms-voice.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/pinpointsmsvoicev2/src/main/resources/codegen-resources/endpoint-tests.json b/services/pinpointsmsvoicev2/src/main/resources/codegen-resources/endpoint-tests.json index da23e90f5446..8f3ac65e8761 100644 --- a/services/pinpointsmsvoicev2/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/pinpointsmsvoicev2/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,874 +1,224 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://sms-voice-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://sms-voice-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://sms-voice.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://sms-voice.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://sms-voice-fips.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://sms-voice-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://sms-voice.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://sms-voice.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://sms-voice-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://sms-voice-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://sms-voice.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://sms-voice.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://sms-voice-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://sms-voice-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://sms-voice.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://sms-voice.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://sms-voice-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://sms-voice-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://sms-voice.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://sms-voice.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://sms-voice-fips.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://sms-voice-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://sms-voice.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://sms-voice.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://sms-voice-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://sms-voice-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://sms-voice.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://sms-voice.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://sms-voice-fips.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://sms-voice-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://sms-voice.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://sms-voice.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://sms-voice-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://sms-voice-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://sms-voice.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://sms-voice.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://sms-voice-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://sms-voice-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://sms-voice.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://sms-voice.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://sms-voice-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://sms-voice-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://sms-voice.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://sms-voice.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://sms-voice-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://sms-voice-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://sms-voice.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://sms-voice.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://sms-voice-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://sms-voice-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sms-voice.ap-northeast-3.api.aws" + "url": "https://sms-voice.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": false + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sms-voice.ap-northeast-3.amazonaws.com" + "url": "https://sms-voice.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": false + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sms-voice-fips.ap-northeast-1.api.aws" + "url": "https://sms-voice.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sms-voice-fips.ap-northeast-1.amazonaws.com" + "url": "https://sms-voice.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sms-voice.ap-northeast-1.api.aws" + "url": "https://sms-voice.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sms-voice.ap-northeast-1.amazonaws.com" + "url": "https://sms-voice.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sms-voice-fips.me-south-1.api.aws" + "url": "https://sms-voice.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": true + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sms-voice-fips.me-south-1.amazonaws.com" + "url": "https://sms-voice.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": true + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sms-voice.me-south-1.api.aws" + "url": "https://sms-voice.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sms-voice.me-south-1.amazonaws.com" + "url": "https://sms-voice.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://sms-voice-fips.sa-east-1.api.aws" + "url": "https://sms-voice-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sms-voice-fips.sa-east-1.amazonaws.com" + "url": "https://sms-voice-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://sms-voice.sa-east-1.api.aws" + "url": "https://sms-voice.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://sms-voice.sa-east-1.amazonaws.com" + "url": "https://sms-voice-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sms-voice-fips.us-gov-west-1.api.aws" + "url": "https://sms-voice-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://sms-voice-fips.us-gov-west-1.amazonaws.com" + "url": "https://sms-voice.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sms-voice.us-gov-west-1.api.aws" + "url": "https://sms-voice.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -879,230 +229,183 @@ } }, "params": { - "UseDualStack": false, "Region": "us-gov-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://sms-voice-fips.ap-southeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://sms-voice-fips.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://sms-voice.ap-southeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://sms-voice.ap-southeast-1.amazonaws.com" + "url": "https://sms-voice-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sms-voice-fips.ap-southeast-2.api.aws" + "url": "https://sms-voice-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://sms-voice-fips.ap-southeast-2.amazonaws.com" + "url": "https://sms-voice.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sms-voice.ap-southeast-2.api.aws" + "url": "https://sms-voice.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://sms-voice.ap-southeast-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sms-voice-fips.us-east-1.api.aws" + "url": "https://sms-voice-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://sms-voice-fips.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sms-voice.us-east-1.api.aws" + "url": "https://sms-voice.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://sms-voice.us-east-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sms-voice-fips.us-east-2.api.aws" + "url": "https://sms-voice-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://sms-voice-fips.us-east-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sms-voice.us-east-2.api.aws" + "url": "https://sms-voice.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://sms-voice.us-east-2.amazonaws.com" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1112,9 +415,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1124,11 +427,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/pipes/pom.xml b/services/pipes/pom.xml index cdb1e2b895d5..e3827d7d220d 100644 --- a/services/pipes/pom.xml +++ b/services/pipes/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT pipes AWS Java SDK :: Services :: Pipes diff --git a/services/pipes/src/main/resources/codegen-resources/endpoint-tests.json b/services/pipes/src/main/resources/codegen-resources/endpoint-tests.json index a94a4fe7c642..95cdbb595d9a 100644 --- a/services/pipes/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/pipes/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,54 +1,54 @@ { "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://pipes-fips.us-gov-east-1.api.aws" + "url": "https://pipes-fips.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": 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://pipes-fips.us-gov-east-1.amazonaws.com" + "url": "https://pipes-fips.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "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://pipes.us-gov-east-1.api.aws" + "url": "https://pipes.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "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://pipes.us-gov-east-1.amazonaws.com" + "url": "https://pipes.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-gov-east-1", "UseDualStack": false } }, @@ -60,8 +60,8 @@ } }, "params": { - "UseFIPS": true, "Region": "cn-north-1", + "UseFIPS": true, "UseDualStack": true } }, @@ -73,8 +73,8 @@ } }, "params": { - "UseFIPS": true, "Region": "cn-north-1", + "UseFIPS": true, "UseDualStack": false } }, @@ -86,8 +86,8 @@ } }, "params": { - "UseFIPS": false, "Region": "cn-north-1", + "UseFIPS": false, "UseDualStack": true } }, @@ -99,108 +99,108 @@ } }, "params": { - "UseFIPS": false, "Region": "cn-north-1", + "UseFIPS": false, "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://pipes-fips.us-gov-east-1.api.aws" + } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": 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://pipes-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://pipes-fips.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "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://pipes.us-gov-east-1.api.aws" + } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "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://pipes.us-iso-east-1.c2s.ic.gov" + "url": "https://pipes.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": 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://pipes-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, - "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://pipes-fips.us-east-1.amazonaws.com" + "url": "https://pipes-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "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://pipes.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "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://pipes.us-east-1.amazonaws.com" + "url": "https://pipes.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "us-east-1", "UseDualStack": false } }, @@ -210,8 +210,8 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseFIPS": true, "Region": "us-isob-east-1", + "UseFIPS": true, "UseDualStack": true } }, @@ -223,8 +223,8 @@ } }, "params": { - "UseFIPS": true, "Region": "us-isob-east-1", + "UseFIPS": true, "UseDualStack": false } }, @@ -234,8 +234,8 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseFIPS": false, "Region": "us-isob-east-1", + "UseFIPS": false, "UseDualStack": true } }, @@ -247,21 +247,34 @@ } }, "params": { - "UseFIPS": false, "Region": "us-isob-east-1", + "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, "UseDualStack": false, "Endpoint": "https://example.com" } @@ -272,8 +285,8 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, "UseDualStack": false, "Endpoint": "https://example.com" } @@ -284,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/polly/pom.xml b/services/polly/pom.xml index f7155ae5656d..787cf1aa7cca 100644 --- a/services/polly/pom.xml +++ b/services/polly/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT polly AWS Java SDK :: Services :: Amazon Polly diff --git a/services/pom.xml b/services/pom.xml index 8b939765ea4d..a5f6238d6782 100644 --- a/services/pom.xml +++ b/services/pom.xml @@ -17,7 +17,7 @@ software.amazon.awssdk aws-sdk-java-pom - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT services AWS Java SDK :: Services @@ -375,6 +375,9 @@ managedblockchainquery pcaconnectorad neptunedata + bedrockruntime + bedrock + datazone The AWS Java SDK services https://aws.amazon.com/sdkforjava diff --git a/services/pricing/pom.xml b/services/pricing/pom.xml index 02fd9253c951..c84f4d54a83a 100644 --- a/services/pricing/pom.xml +++ b/services/pricing/pom.xml @@ -20,7 +20,7 @@ services software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 pricing diff --git a/services/pricing/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/pricing/src/main/resources/codegen-resources/endpoint-rule-set.json index 4d15779673a7..a87f285e6f48 100644 --- a/services/pricing/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/pricing/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,249 +140,200 @@ { "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://api.pricing-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://api.pricing-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://api.pricing-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://api.pricing-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://api.pricing.{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": [ - { - "fn": "stringEquals", - "argv": [ - "aws", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://api.pricing.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, { "conditions": [], "endpoint": { - "url": "https://api.pricing.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://api.pricing.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://api.pricing.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://api.pricing.{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/services/privatenetworks/pom.xml b/services/privatenetworks/pom.xml index 0498a5b9ced9..8c572706e2b3 100644 --- a/services/privatenetworks/pom.xml +++ b/services/privatenetworks/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT privatenetworks AWS Java SDK :: Services :: Private Networks diff --git a/services/privatenetworks/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/privatenetworks/src/main/resources/codegen-resources/endpoint-rule-set.json index ea9a97d1fd47..13a5a5820511 100644 --- a/services/privatenetworks/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/privatenetworks/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://private-networks-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://private-networks-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://private-networks-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://private-networks-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://private-networks.{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://private-networks.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://private-networks.{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://private-networks.{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/services/proton/pom.xml b/services/proton/pom.xml index c8a1718a39b5..e6446db96b1e 100644 --- a/services/proton/pom.xml +++ b/services/proton/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT proton AWS Java SDK :: Services :: Proton diff --git a/services/proton/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/proton/src/main/resources/codegen-resources/endpoint-rule-set.json index ddd3a046e583..4783f8e9b800 100644 --- a/services/proton/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/proton/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://proton-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://proton-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://proton-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://proton-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://proton.{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://proton.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://proton.{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://proton.{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/services/qldb/pom.xml b/services/qldb/pom.xml index c3332ed7aec2..30697b06b46a 100644 --- a/services/qldb/pom.xml +++ b/services/qldb/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT qldb AWS Java SDK :: Services :: QLDB diff --git a/services/qldb/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/qldb/src/main/resources/codegen-resources/endpoint-rule-set.json index 5782369086d8..e340028309df 100644 --- a/services/qldb/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/qldb/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://qldb-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://qldb-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://qldb-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://qldb-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://qldb.{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://qldb.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://qldb.{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://qldb.{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/services/qldbsession/pom.xml b/services/qldbsession/pom.xml index f77fd5dad57b..c9f31247db4d 100644 --- a/services/qldbsession/pom.xml +++ b/services/qldbsession/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT qldbsession AWS Java SDK :: Services :: QLDB Session diff --git a/services/qldbsession/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/qldbsession/src/main/resources/codegen-resources/endpoint-rule-set.json index 958822495643..503cf05d3602 100644 --- a/services/qldbsession/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/qldbsession/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://session.qldb-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://session.qldb-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://session.qldb.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://session.qldb.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://session.qldb.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://session.qldb.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/qldbsession/src/main/resources/codegen-resources/endpoint-tests.json b/services/qldbsession/src/main/resources/codegen-resources/endpoint-tests.json index 6a624143dd68..3497fde86814 100644 --- a/services/qldbsession/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/qldbsession/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,94 +1,68 @@ { "testCases": [ { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://session.qldb-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb.ca-central-1.api.aws" + "url": "https://session.qldb.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb.ca-central-1.amazonaws.com" + "url": "https://session.qldb.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": false + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb-fips.eu-central-1.api.aws" + "url": "https://session.qldb.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb-fips.eu-central-1.amazonaws.com" + "url": "https://session.qldb.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb.eu-central-1.api.aws" + "url": "https://session.qldb.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -99,100 +73,22 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://session.qldb-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://session.qldb.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://session.qldb-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb.eu-west-2.api.aws" + "url": "https://session.qldb.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -203,386 +99,339 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://session.qldb-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://session.qldb.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb.eu-west-1.amazonaws.com" + "url": "https://session.qldb.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb-fips.ap-northeast-2.api.aws" + "url": "https://session.qldb-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb-fips.ap-northeast-2.amazonaws.com" + "url": "https://session.qldb.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb.ap-northeast-2.api.aws" + "url": "https://session.qldb-fips.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb.ap-northeast-2.amazonaws.com" + "url": "https://session.qldb.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb-fips.ap-northeast-1.api.aws" + "url": "https://session.qldb-fips.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-west-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://session.qldb-fips.ap-northeast-1.amazonaws.com" + "url": "https://session.qldb-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://session.qldb.ap-northeast-1.api.aws" + "url": "https://session.qldb.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://session.qldb.ap-northeast-1.amazonaws.com" + "url": "https://session.qldb-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb-fips.ap-southeast-1.api.aws" + "url": "https://session.qldb-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://session.qldb-fips.ap-southeast-1.amazonaws.com" + "url": "https://session.qldb.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb.ap-southeast-1.api.aws" + "url": "https://session.qldb.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://session.qldb.ap-southeast-1.amazonaws.com" + "url": "https://session.qldb-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb-fips.ap-southeast-2.api.aws" + "url": "https://session.qldb-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://session.qldb-fips.ap-southeast-2.amazonaws.com" + "url": "https://session.qldb.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb.ap-southeast-2.api.aws" + "url": "https://session.qldb.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://session.qldb.ap-southeast-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb-fips.us-east-1.api.aws" + "url": "https://session.qldb-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://session.qldb-fips.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb.us-east-1.api.aws" + "url": "https://session.qldb.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://session.qldb.us-east-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb-fips.us-east-2.api.aws" + "url": "https://session.qldb-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://session.qldb-fips.us-east-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://session.qldb.us-east-2.api.aws" + "url": "https://session.qldb.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://session.qldb.us-east-2.amazonaws.com" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -592,9 +441,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -604,11 +453,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/quicksight/pom.xml b/services/quicksight/pom.xml index 51ac2f43f236..187c2e3b9711 100644 --- a/services/quicksight/pom.xml +++ b/services/quicksight/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT quicksight AWS Java SDK :: Services :: QuickSight diff --git a/services/quicksight/src/main/resources/codegen-resources/service-2.json b/services/quicksight/src/main/resources/codegen-resources/service-2.json index c30dad216b44..5320bae1c68f 100644 --- a/services/quicksight/src/main/resources/codegen-resources/service-2.json +++ b/services/quicksight/src/main/resources/codegen-resources/service-2.json @@ -2462,7 +2462,7 @@ {"shape":"ThrottlingException"}, {"shape":"InternalFailureException"} ], - "documentation":"

      Assigns one or more tags (key-value pairs) to the specified Amazon QuickSight resource.

      Tags can help you organize and categorize your resources. You can also use them to scope user permissions, by granting a user permission to access or change only resources with certain tag values. You can use the TagResource operation with a resource that already has tags. If you specify a new tag key for the resource, this tag is appended to the list of tags associated with the resource. If you specify a tag key that is already associated with the resource, the new tag value that you specify replaces the previous value for that tag.

      You can associate as many as 50 tags with a resource. Amazon QuickSight supports tagging on data set, data source, dashboard, template, and topic.

      Tagging for Amazon QuickSight works in a similar way to tagging for other Amazon Web Services services, except for the following:

      • You can't use tags to track costs for Amazon QuickSight. This isn't possible because you can't tag the resources that Amazon QuickSight costs are based on, for example Amazon QuickSight storage capacity (SPICE), number of users, type of users, and usage metrics.

      • Amazon QuickSight doesn't currently support the tag editor for Resource Groups.

      " + "documentation":"

      Assigns one or more tags (key-value pairs) to the specified Amazon QuickSight resource.

      Tags can help you organize and categorize your resources. You can also use them to scope user permissions, by granting a user permission to access or change only resources with certain tag values. You can use the TagResource operation with a resource that already has tags. If you specify a new tag key for the resource, this tag is appended to the list of tags associated with the resource. If you specify a tag key that is already associated with the resource, the new tag value that you specify replaces the previous value for that tag.

      You can associate as many as 50 tags with a resource. Amazon QuickSight supports tagging on data set, data source, dashboard, template, topic, and user.

      Tagging for Amazon QuickSight works in a similar way to tagging for other Amazon Web Services services, except for the following:

      • Tags are used to track costs for users in Amazon QuickSight. You can't tag other resources that Amazon QuickSight costs are based on, such as storage capacoty (SPICE), session usage, alert consumption, or reporting units.

      • Amazon QuickSight doesn't currently support the tag editor for Resource Groups.

      " }, "UntagResource":{ "name":"UntagResource", @@ -3130,7 +3130,7 @@ "ActionList":{ "type":"list", "member":{"shape":"String"}, - "max":16, + "max":20, "min":1 }, "ActiveIAMPolicyAssignment":{ @@ -6584,6 +6584,10 @@ "Definition":{ "shape":"AnalysisDefinition", "documentation":"

      The definition of an analysis.

      A definition is the data model of all features in a Dashboard, Template, or Analysis.

      Either a SourceEntity or a Definition must be provided in order for the request to be valid.

      " + }, + "ValidationStrategy":{ + "shape":"ValidationStrategy", + "documentation":"

      The option to relax the validation needed to create an analysis with definition objects. This skips the validation step for specific errors.

      " } } }, @@ -6679,6 +6683,10 @@ "Definition":{ "shape":"DashboardVersionDefinition", "documentation":"

      The definition of a dashboard.

      A definition is the data model of all features in a Dashboard, Template, or Analysis.

      Either a SourceEntity or a Definition must be provided in order for the request to be valid.

      " + }, + "ValidationStrategy":{ + "shape":"ValidationStrategy", + "documentation":"

      The option to relax the validation needed to create a dashboard with definition objects. This option skips the validation step for specific errors.

      " } } }, @@ -7448,6 +7456,10 @@ "Definition":{ "shape":"TemplateVersionDefinition", "documentation":"

      The definition of a template.

      A definition is the data model of all features in a Dashboard, Template, or Analysis.

      Either a SourceEntity or a Definition must be provided in order for the request to be valid.

      " + }, + "ValidationStrategy":{ + "shape":"ValidationStrategy", + "documentation":"

      TThe option to relax the validation needed to create a template with definition objects. This skips the validation step for specific errors.

      " } } }, @@ -9476,6 +9488,22 @@ "max":128, "min":1 }, + "DatabaseGroup":{ + "type":"string", + "max":64, + "min":1 + }, + "DatabaseGroupList":{ + "type":"list", + "member":{"shape":"DatabaseGroup"}, + "max":50, + "min":1 + }, + "DatabaseUser":{ + "type":"string", + "max":64, + "min":1 + }, "DatabricksParameters":{ "type":"structure", "required":[ @@ -14195,6 +14223,10 @@ "SelectAllOptions":{ "shape":"CategoryFilterSelectAllOptions", "documentation":"

      Select all of the values. Null is not the assigned value of select all.

      • FILTER_ALL_VALUES

      " + }, + "NullOption":{ + "shape":"FilterNullOption", + "documentation":"

      This option determines how null values should be treated when filtering data.

      • ALL_VALUES: Include null values in filtered results.

      • NULLS_ONLY: Only include null values in filtered results.

      • NON_NULLS_ONLY: Exclude null values from filtered results.

      " } }, "documentation":"

      A list of filter configurations.

      " @@ -17006,6 +17038,34 @@ "RIGHT" ] }, + "KPIActualValueConditionalFormatting":{ + "type":"structure", + "members":{ + "TextColor":{ + "shape":"ConditionalFormattingColor", + "documentation":"

      The conditional formatting of the actual value's text color.

      " + }, + "Icon":{ + "shape":"ConditionalFormattingIcon", + "documentation":"

      The conditional formatting of the actual value's icon.

      " + } + }, + "documentation":"

      The conditional formatting for the actual value of a KPI visual.

      " + }, + "KPIComparisonValueConditionalFormatting":{ + "type":"structure", + "members":{ + "TextColor":{ + "shape":"ConditionalFormattingColor", + "documentation":"

      The conditional formatting of the comparison value's text color.

      " + }, + "Icon":{ + "shape":"ConditionalFormattingIcon", + "documentation":"

      The conditional formatting of the comparison value's icon.

      " + } + }, + "documentation":"

      The conditional formatting for the comparison value of a KPI visual.

      " + }, "KPIConditionalFormatting":{ "type":"structure", "members":{ @@ -17026,6 +17086,14 @@ "ProgressBar":{ "shape":"KPIProgressBarConditionalFormatting", "documentation":"

      The conditional formatting for the progress bar of a KPI visual.

      " + }, + "ActualValue":{ + "shape":"KPIActualValueConditionalFormatting", + "documentation":"

      The conditional formatting for the actual value of a KPI visual.

      " + }, + "ComparisonValue":{ + "shape":"KPIComparisonValueConditionalFormatting", + "documentation":"

      The conditional formatting for the comparison value of a KPI visual.

      " } }, "documentation":"

      The conditional formatting options of a KPI visual.

      " @@ -17101,6 +17169,14 @@ "SecondaryValueFontConfiguration":{ "shape":"FontConfiguration", "documentation":"

      The options that determine the secondary value font configuration.

      " + }, + "Sparkline":{ + "shape":"KPISparklineOptions", + "documentation":"

      The options that determine the visibility, color, type, and tooltip visibility of the sparkline of a KPI visual.

      " + }, + "VisualLayoutOptions":{ + "shape":"KPIVisualLayoutOptions", + "documentation":"

      The options that determine the layout a KPI visual.

      " } }, "documentation":"

      The options that determine the presentation of a KPI visual.

      " @@ -17139,6 +17215,36 @@ }, "documentation":"

      The sort configuration of a KPI visual.

      " }, + "KPISparklineOptions":{ + "type":"structure", + "required":["Type"], + "members":{ + "Visibility":{ + "shape":"Visibility", + "documentation":"

      The visibility of the sparkline.

      " + }, + "Type":{ + "shape":"KPISparklineType", + "documentation":"

      The type of the sparkline.

      " + }, + "Color":{ + "shape":"HexColor", + "documentation":"

      The color of the sparkline.

      " + }, + "TooltipVisibility":{ + "shape":"Visibility", + "documentation":"

      The tooltip visibility of the sparkline.

      " + } + }, + "documentation":"

      The options that determine the visibility, color, type, and tooltip visibility of the sparkline of a KPI visual.

      " + }, + "KPISparklineType":{ + "type":"string", + "enum":[ + "LINE", + "AREA" + ] + }, "KPIVisual":{ "type":"structure", "required":["VisualId"], @@ -17174,6 +17280,34 @@ }, "documentation":"

      A key performance indicator (KPI).

      For more information, see Using KPIs in the Amazon QuickSight User Guide.

      " }, + "KPIVisualLayoutOptions":{ + "type":"structure", + "members":{ + "StandardLayout":{ + "shape":"KPIVisualStandardLayout", + "documentation":"

      The standard layout of the KPI visual.

      " + } + }, + "documentation":"

      The options that determine the layout a KPI visual.

      " + }, + "KPIVisualStandardLayout":{ + "type":"structure", + "required":["Type"], + "members":{ + "Type":{ + "shape":"KPIVisualStandardLayoutType", + "documentation":"

      The standard layout type.

      " + } + }, + "documentation":"

      The standard layout of the KPI visual.

      " + }, + "KPIVisualStandardLayoutType":{ + "type":"string", + "enum":[ + "CLASSIC", + "VERTICAL" + ] + }, "LabelOptions":{ "type":"structure", "members":{ @@ -19412,7 +19546,9 @@ "enum":[ "DASHBOARD", "ANALYSIS", - "DATASET" + "DATASET", + "DATASOURCE", + "TOPIC" ] }, "MetricComparisonComputation":{ @@ -21922,6 +22058,32 @@ "max":30, "min":7 }, + "RedshiftIAMParameters":{ + "type":"structure", + "required":[ + "RoleArn", + "DatabaseUser" + ], + "members":{ + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

      Use the RoleArn structure to allow Amazon QuickSight to call redshift:GetClusterCredentials on your cluster. The calling principal must have iam:PassRole access to pass the role to Amazon QuickSight. The role's trust policy must allow the Amazon QuickSight service principal to assume the role.

      " + }, + "DatabaseUser":{ + "shape":"DatabaseUser", + "documentation":"

      The user whose permissions and group memberships will be used by Amazon QuickSight to access the cluster. If this user already exists in your database, Amazon QuickSight is granted the same permissions that the user has. If the user doesn't exist, set the value of AutoCreateDatabaseUser to True to create a new user with PUBLIC permissions.

      " + }, + "DatabaseGroups":{ + "shape":"DatabaseGroupList", + "documentation":"

      A list of groups whose permissions will be granted to Amazon QuickSight to access the cluster. These permissions are combined with the permissions granted to Amazon QuickSight by the DatabaseUser. If you choose to include this parameter, the RoleArn must grant access to redshift:JoinGroup.

      " + }, + "AutoCreateDatabaseUser":{ + "shape":"Boolean", + "documentation":"

      Automatically creates a database user. If your database doesn't have a DatabaseUser, set this parameter to True. If there is no DatabaseUser, Amazon QuickSight can't connect to your cluster. The RoleArn that you use for this operation must grant access to redshift:CreateClusterUser to successfully create the user.

      " + } + }, + "documentation":"

      A structure that grants Amazon QuickSight access to your cluster and make a call to the redshift:GetClusterCredentials API. For more information on the redshift:GetClusterCredentials API, see GetClusterCredentials .

      " + }, "RedshiftParameters":{ "type":"structure", "required":["Database"], @@ -21941,6 +22103,10 @@ "ClusterId":{ "shape":"ClusterId", "documentation":"

      Cluster ID. This field can be blank if the Host and Port are provided.

      " + }, + "IAMParameters":{ + "shape":"RedshiftIAMParameters", + "documentation":"

      An optional parameter that uses IAM authentication to grant Amazon QuickSight access to your cluster. This parameter can be used instead of DataSourceCredentials.

      " } }, "documentation":"

      The parameters for Amazon Redshift. The ClusterId field can be blank if Host and Port are both set. The Host and Port fields can be blank if the ClusterId field is set.

      " @@ -22267,6 +22433,10 @@ "ExternalLoginId":{ "shape":"String", "documentation":"

      The identity ID for a user in the external login provider.

      " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

      The tags to associate with the user.

      " } } }, @@ -22425,12 +22595,12 @@ }, "RelationalTableName":{ "type":"string", - "max":64, + "max":256, "min":1 }, "RelationalTableSchema":{ "type":"string", - "max":64 + "max":256 }, "RelativeDateTimeControlDisplayOptions":{ "type":"structure", @@ -25678,7 +25848,8 @@ "type":"string", "enum":[ "START", - "END" + "END", + "AUTO" ] }, "TableTotalsScrollStatus":{ @@ -28054,6 +28225,10 @@ "Definition":{ "shape":"AnalysisDefinition", "documentation":"

      The definition of an analysis.

      A definition is the data model of all features in a Dashboard, Template, or Analysis.

      " + }, + "ValidationStrategy":{ + "shape":"ValidationStrategy", + "documentation":"

      The option to relax the validation needed to update an analysis with definition objects. This skips the validation step for specific errors.

      " } } }, @@ -28247,6 +28422,10 @@ "Definition":{ "shape":"DashboardVersionDefinition", "documentation":"

      The definition of a dashboard.

      A definition is the data model of all features in a Dashboard, Template, or Analysis.

      " + }, + "ValidationStrategy":{ + "shape":"ValidationStrategy", + "documentation":"

      The option to relax the validation needed to update a dashboard with definition objects. This skips the validation step for specific errors.

      " } } }, @@ -29036,6 +29215,10 @@ "Definition":{ "shape":"TemplateVersionDefinition", "documentation":"

      The definition of a template.

      A definition is the data model of all features in a Dashboard, Template, or Analysis.

      " + }, + "ValidationStrategy":{ + "shape":"ValidationStrategy", + "documentation":"

      The option to relax the validation needed to update a template with definition objects. This skips the validation step for specific errors.

      " } } }, @@ -29802,6 +29985,24 @@ "type":"list", "member":{"shape":"VPCConnectionSummary"} }, + "ValidationStrategy":{ + "type":"structure", + "required":["Mode"], + "members":{ + "Mode":{ + "shape":"ValidationStrategyMode", + "documentation":"

      The mode of validation for the asset to be creaed or updated. When you set this value to STRICT, strict validation for every error is enforced. When you set this value to LENIENT, validation is skipped for specific UI errors.

      " + } + }, + "documentation":"

      The option to relax the validation that is required to create and update analyses, dashboards, and templates with definition objects. When you set this value to LENIENT, validation is skipped for specific errors.

      " + }, + "ValidationStrategyMode":{ + "type":"string", + "enum":[ + "STRICT", + "LENIENT" + ] + }, "ValueWhenUnsetOption":{ "type":"string", "enum":[ diff --git a/services/ram/pom.xml b/services/ram/pom.xml index 255588bed207..ca6c5ad909a0 100644 --- a/services/ram/pom.xml +++ b/services/ram/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ram AWS Java SDK :: Services :: RAM diff --git a/services/ram/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/ram/src/main/resources/codegen-resources/endpoint-rule-set.json index a5e436f21bfa..91c3f84d1206 100644 --- a/services/ram/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/ram/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,92 +140,83 @@ { "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://ram-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://ram-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 + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], @@ -221,155 +225,115 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, + "aws-us-gov", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] } ] } ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - "aws-us-gov", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://ram.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://ram-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] + "endpoint": { + "url": "https://ram.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://ram-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://ram.{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://ram.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://ram.{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://ram.{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/services/rbin/pom.xml b/services/rbin/pom.xml index e46be3440b7a..152cbf9944ef 100644 --- a/services/rbin/pom.xml +++ b/services/rbin/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT rbin AWS Java SDK :: Services :: Rbin diff --git a/services/rbin/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/rbin/src/main/resources/codegen-resources/endpoint-rule-set.json index 840204cdf887..096c5cb4fb0c 100644 --- a/services/rbin/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/rbin/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://rbin-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://rbin-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://rbin.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://rbin.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://rbin.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://rbin.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/rbin/src/main/resources/codegen-resources/endpoint-tests.json b/services/rbin/src/main/resources/codegen-resources/endpoint-tests.json index 28b11282600f..807fbef5e61d 100644 --- a/services/rbin/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/rbin/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,1574 +1,539 @@ { "testCases": [ { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.ap-south-2.api.aws" - } - }, - "params": { - "Region": "ap-south-2", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.ap-south-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-south-2", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin.ap-south-2.api.aws" - } - }, - "params": { - "Region": "ap-south-2", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin.ap-south-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-south-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.ap-south-1.api.aws" - } - }, - "params": { - "Region": "ap-south-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-south-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin.ap-south-1.api.aws" - } - }, - "params": { - "Region": "ap-south-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin.ap-south-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-south-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.eu-south-1.api.aws" - } - }, - "params": { - "Region": "eu-south-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-south-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin.eu-south-1.api.aws" - } - }, - "params": { - "Region": "eu-south-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin.eu-south-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-south-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.eu-south-2.api.aws" - } - }, - "params": { - "Region": "eu-south-2", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.eu-south-2.amazonaws.com" - } - }, - "params": { - "Region": "eu-south-2", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin.eu-south-2.api.aws" - } - }, - "params": { - "Region": "eu-south-2", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin.eu-south-2.amazonaws.com" - } - }, - "params": { - "Region": "eu-south-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin.us-gov-east-1.api.aws" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.me-central-1.api.aws" - } - }, - "params": { - "Region": "me-central-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.me-central-1.amazonaws.com" - } - }, - "params": { - "Region": "me-central-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin.me-central-1.api.aws" - } - }, - "params": { - "Region": "me-central-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin.me-central-1.amazonaws.com" - } - }, - "params": { - "Region": "me-central-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.ca-central-1.api.aws" - } - }, - "params": { - "Region": "ca-central-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "Region": "ca-central-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin.ca-central-1.api.aws" - } - }, - "params": { - "Region": "ca-central-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin.ca-central-1.amazonaws.com" - } - }, - "params": { - "Region": "ca-central-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.eu-central-1.api.aws" - } - }, - "params": { - "Region": "eu-central-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-central-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin.eu-central-1.api.aws" - } - }, - "params": { - "Region": "eu-central-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin.eu-central-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-central-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.eu-central-2.api.aws" - } - }, - "params": { - "Region": "eu-central-2", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.eu-central-2.amazonaws.com" - } - }, - "params": { - "Region": "eu-central-2", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin.eu-central-2.api.aws" - } - }, - "params": { - "Region": "eu-central-2", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin.eu-central-2.amazonaws.com" - } - }, - "params": { - "Region": "eu-central-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.us-west-1.api.aws" - } - }, - "params": { - "Region": "us-west-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "Region": "us-west-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin.us-west-1.api.aws" - } - }, - "params": { - "Region": "us-west-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin.us-west-1.amazonaws.com" - } - }, - "params": { - "Region": "us-west-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.us-west-2.api.aws" - } - }, - "params": { - "Region": "us-west-2", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "Region": "us-west-2", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin.us-west-2.api.aws" - } - }, - "params": { - "Region": "us-west-2", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin.us-west-2.amazonaws.com" - } - }, - "params": { - "Region": "us-west-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.af-south-1.api.aws" - } - }, - "params": { - "Region": "af-south-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "Region": "af-south-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin.af-south-1.api.aws" - } - }, - "params": { - "Region": "af-south-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin.af-south-1.amazonaws.com" - } - }, - "params": { - "Region": "af-south-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.eu-north-1.api.aws" - } - }, - "params": { - "Region": "eu-north-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-north-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin.eu-north-1.api.aws" - } - }, - "params": { - "Region": "eu-north-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin.eu-north-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-north-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.eu-west-3.api.aws" - } - }, - "params": { - "Region": "eu-west-3", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-3", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin.eu-west-3.api.aws" - } - }, - "params": { - "Region": "eu-west-3", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin.eu-west-3.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-3", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.eu-west-2.api.aws" - } - }, - "params": { - "Region": "eu-west-2", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-2", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin.eu-west-2.api.aws" - } - }, - "params": { - "Region": "eu-west-2", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin.eu-west-2.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.eu-west-1.api.aws" - } - }, - "params": { - "Region": "eu-west-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin.eu-west-1.api.aws" - } - }, - "params": { - "Region": "eu-west-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin.eu-west-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "Region": "ap-northeast-3", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-3", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin.ap-northeast-3.api.aws" - } - }, - "params": { - "Region": "ap-northeast-3", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-3", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin.ap-northeast-2.api.aws" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin.ap-northeast-1.api.aws" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rbin.ap-northeast-1.amazonaws.com" + "url": "https://rbin.af-south-1.amazonaws.com" } }, "params": { - "Region": "ap-northeast-1", + "Region": "af-south-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rbin-fips.me-south-1.api.aws" + "url": "https://rbin.ap-east-1.amazonaws.com" } }, "params": { - "Region": "me-south-1", - "UseFIPS": true, - "UseDualStack": true + "Region": "ap-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rbin-fips.me-south-1.amazonaws.com" + "url": "https://rbin.ap-northeast-1.amazonaws.com" } }, "params": { - "Region": "me-south-1", - "UseFIPS": true, + "Region": "ap-northeast-1", + "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rbin.me-south-1.api.aws" + "url": "https://rbin.ap-northeast-2.amazonaws.com" } }, "params": { - "Region": "me-south-1", + "Region": "ap-northeast-2", "UseFIPS": false, - "UseDualStack": true + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rbin.me-south-1.amazonaws.com" + "url": "https://rbin.ap-northeast-3.amazonaws.com" } }, "params": { - "Region": "me-south-1", + "Region": "ap-northeast-3", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rbin-fips.sa-east-1.api.aws" + "url": "https://rbin.ap-south-1.amazonaws.com" } }, "params": { - "Region": "sa-east-1", - "UseFIPS": true, - "UseDualStack": true + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rbin-fips.sa-east-1.amazonaws.com" + "url": "https://rbin.ap-southeast-1.amazonaws.com" } }, "params": { - "Region": "sa-east-1", - "UseFIPS": true, + "Region": "ap-southeast-1", + "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rbin.sa-east-1.api.aws" + "url": "https://rbin.ap-southeast-2.amazonaws.com" } }, "params": { - "Region": "sa-east-1", + "Region": "ap-southeast-2", "UseFIPS": false, - "UseDualStack": true + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rbin.sa-east-1.amazonaws.com" + "url": "https://rbin.ca-central-1.amazonaws.com" } }, "params": { - "Region": "sa-east-1", + "Region": "ca-central-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rbin-fips.ap-east-1.api.aws" + "url": "https://rbin.eu-central-1.amazonaws.com" } }, "params": { - "Region": "ap-east-1", - "UseFIPS": true, - "UseDualStack": true + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rbin-fips.ap-east-1.amazonaws.com" + "url": "https://rbin.eu-north-1.amazonaws.com" } }, "params": { - "Region": "ap-east-1", - "UseFIPS": true, + "Region": "eu-north-1", + "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rbin.ap-east-1.api.aws" + "url": "https://rbin.eu-south-1.amazonaws.com" } }, "params": { - "Region": "ap-east-1", + "Region": "eu-south-1", "UseFIPS": false, - "UseDualStack": true + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rbin.ap-east-1.amazonaws.com" + "url": "https://rbin.eu-west-1.amazonaws.com" } }, "params": { - "Region": "ap-east-1", + "Region": "eu-west-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rbin-fips.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://rbin.eu-west-2.amazonaws.com" } }, "params": { - "Region": "cn-north-1", - "UseFIPS": true, - "UseDualStack": true + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rbin-fips.cn-north-1.amazonaws.com.cn" + "url": "https://rbin.eu-west-3.amazonaws.com" } }, "params": { - "Region": "cn-north-1", - "UseFIPS": true, + "Region": "eu-west-3", + "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rbin.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://rbin.me-south-1.amazonaws.com" } }, "params": { - "Region": "cn-north-1", + "Region": "me-south-1", "UseFIPS": false, - "UseDualStack": true + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rbin.cn-north-1.amazonaws.com.cn" + "url": "https://rbin.sa-east-1.amazonaws.com" } }, "params": { - "Region": "cn-north-1", + "Region": "sa-east-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rbin-fips.us-gov-west-1.api.aws" + "url": "https://rbin.us-east-1.amazonaws.com" } }, "params": { - "Region": "us-gov-west-1", - "UseFIPS": true, - "UseDualStack": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rbin-fips.us-gov-west-1.amazonaws.com" + "url": "https://rbin.us-east-2.amazonaws.com" } }, "params": { - "Region": "us-gov-west-1", - "UseFIPS": true, + "Region": "us-east-2", + "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rbin.us-gov-west-1.api.aws" + "url": "https://rbin.us-west-1.amazonaws.com" } }, "params": { - "Region": "us-gov-west-1", + "Region": "us-west-1", "UseFIPS": false, - "UseDualStack": true + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rbin.us-gov-west-1.amazonaws.com" + "url": "https://rbin.us-west-2.amazonaws.com" } }, "params": { - "Region": "us-gov-west-1", + "Region": "us-west-2", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://rbin-fips.ap-southeast-1.api.aws" + "url": "https://rbin-fips.us-east-1.api.aws" } }, "params": { - "Region": "ap-southeast-1", + "Region": "us-east-1", "UseFIPS": true, "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rbin-fips.ap-southeast-1.amazonaws.com" + "url": "https://rbin-fips.us-east-1.amazonaws.com" } }, "params": { - "Region": "ap-southeast-1", + "Region": "us-east-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://rbin.ap-southeast-1.api.aws" + "url": "https://rbin.us-east-1.api.aws" } }, "params": { - "Region": "ap-southeast-1", + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://rbin-fips.ap-southeast-2.api.aws" + "url": "https://rbin-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "ap-southeast-2", + "Region": "cn-north-1", "UseFIPS": true, "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rbin-fips.ap-southeast-2.amazonaws.com" + "url": "https://rbin-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "Region": "ap-southeast-2", + "Region": "cn-north-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://rbin.ap-southeast-2.api.aws" + "url": "https://rbin.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "ap-southeast-2", + "Region": "cn-north-1", "UseFIPS": false, "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rbin.ap-southeast-2.amazonaws.com" + "url": "https://rbin.cn-north-1.amazonaws.com.cn" } }, "params": { - "Region": "ap-southeast-2", + "Region": "cn-north-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://rbin-fips.ap-southeast-3.api.aws" + "url": "https://rbin-fips.us-gov-east-1.api.aws" } }, "params": { - "Region": "ap-southeast-3", + "Region": "us-gov-east-1", "UseFIPS": true, "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rbin-fips.ap-southeast-3.amazonaws.com" + "url": "https://rbin-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "ap-southeast-3", + "Region": "us-gov-east-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://rbin.ap-southeast-3.api.aws" + "url": "https://rbin.us-gov-east-1.api.aws" } }, "params": { - "Region": "ap-southeast-3", + "Region": "us-gov-east-1", "UseFIPS": false, "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rbin.ap-southeast-3.amazonaws.com" + "url": "https://rbin.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "ap-southeast-3", + "Region": "us-gov-east-1", "UseFIPS": false, "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://rbin-fips.us-east-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "Region": "us-east-1", + "Region": "us-iso-east-1", "UseFIPS": true, "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://rbin-fips.us-east-1.amazonaws.com" + "url": "https://rbin-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "us-east-1", + "Region": "us-iso-east-1", "UseFIPS": true, "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://rbin.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "Region": "us-east-1", + "Region": "us-iso-east-1", "UseFIPS": false, "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://rbin.us-east-1.amazonaws.com" + "url": "https://rbin.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "us-east-1", + "Region": "us-iso-east-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://rbin-fips.us-east-2.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "Region": "us-east-2", + "Region": "us-isob-east-1", "UseFIPS": true, "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rbin-fips.us-east-2.amazonaws.com" + "url": "https://rbin-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "Region": "us-east-2", + "Region": "us-isob-east-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://rbin.us-east-2.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "Region": "us-east-2", + "Region": "us-isob-east-1", "UseFIPS": false, "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rbin.us-east-2.amazonaws.com" + "url": "https://rbin.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "Region": "us-east-2", + "Region": "us-isob-east-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.cn-northwest-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-northwest-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rbin-fips.cn-northwest-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-northwest-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rbin.cn-northwest-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-northwest-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://rbin.cn-northwest-1.amazonaws.com.cn" + "url": "https://example.com" } }, "params": { - "Region": "cn-northwest-1", + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false + "UseDualStack": false, + "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" } }, "params": { - "Region": "us-east-1", "UseFIPS": false, "UseDualStack": false, "Endpoint": "https://example.com" @@ -1597,6 +562,12 @@ "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/rds/pom.xml b/services/rds/pom.xml index 89d3ef09d169..57fbcca3969b 100644 --- a/services/rds/pom.xml +++ b/services/rds/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT rds AWS Java SDK :: Services :: Amazon RDS diff --git a/services/rds/src/main/resources/codegen-resources/service-2.json b/services/rds/src/main/resources/codegen-resources/service-2.json index 6de8ab8e1bb7..f8e6baa9c401 100644 --- a/services/rds/src/main/resources/codegen-resources/service-2.json +++ b/services/rds/src/main/resources/codegen-resources/service-2.json @@ -451,7 +451,7 @@ {"shape":"DomainNotFoundFault"}, {"shape":"NetworkTypeNotSupported"} ], - "documentation":"

      Creates a new DB instance that acts as a read replica for an existing source DB instance or Multi-AZ DB cluster. You can create a read replica for a DB instance running MySQL, MariaDB, Oracle, PostgreSQL, or SQL Server. You can create a read replica for a Multi-AZ DB cluster running MySQL or PostgreSQL. For more information, see Working with read replicas and Migrating from a Multi-AZ DB cluster to a DB instance using a read replica in the Amazon RDS User Guide.

      Amazon Aurora doesn't support this operation. Call the CreateDBInstance operation to create a DB instance for an Aurora DB cluster.

      All read replica DB instances are created with backups disabled. All other attributes (including DB security groups and DB parameter groups) are inherited from the source DB instance or cluster, except as specified.

      Your source DB instance or cluster must have backup retention enabled.

      " + "documentation":"

      Creates a new DB instance that acts as a read replica for an existing source DB instance or Multi-AZ DB cluster. You can create a read replica for a DB instance running MySQL, MariaDB, Oracle, PostgreSQL, or SQL Server. You can create a read replica for a Multi-AZ DB cluster running MySQL or PostgreSQL. For more information, see Working with read replicas and Migrating from a Multi-AZ DB cluster to a DB instance using a read replica in the Amazon RDS User Guide.

      Amazon Aurora doesn't support this operation. To create a DB instance for an Aurora DB cluster, use the CreateDBInstance operation.

      All read replica DB instances are created with backups disabled. All other attributes (including DB security groups and DB parameter groups) are inherited from the source DB instance or cluster, except as specified.

      Your source DB instance or cluster must have backup retention enabled.

      " }, "CreateDBParameterGroup":{ "name":"CreateDBParameterGroup", @@ -762,7 +762,7 @@ {"shape":"InvalidDBClusterStateFault"}, {"shape":"DBInstanceAutomatedBackupQuotaExceededFault"} ], - "documentation":"

      The DeleteDBInstance action deletes a previously provisioned DB instance. When you delete a DB instance, all automated backups for that instance are deleted and can't be recovered. Manual DB snapshots of the DB instance to be deleted by DeleteDBInstance are not deleted.

      If you request a final DB snapshot the status of the Amazon RDS DB instance is deleting until the DB snapshot is created. The API action DescribeDBInstance is used to monitor the status of this operation. The action can't be canceled or reverted once submitted.

      When a DB instance is in a failure state and has a status of failed, incompatible-restore, or incompatible-network, you can only delete it when you skip creation of the final snapshot with the SkipFinalSnapshot parameter.

      If the specified DB instance is part of an Amazon Aurora DB cluster, you can't delete the DB instance if both of the following conditions are true:

      • The DB cluster is a read replica of another Amazon Aurora DB cluster.

      • The DB instance is the only instance in the DB cluster.

      To delete a DB instance in this case, first call the PromoteReadReplicaDBCluster API action to promote the DB cluster so it's no longer a read replica. After the promotion completes, then call the DeleteDBInstance API action to delete the final instance in the DB cluster.

      " + "documentation":"

      Deletes a previously provisioned DB instance. When you delete a DB instance, all automated backups for that instance are deleted and can't be recovered. However, manual DB snapshots of the DB instance aren't deleted.

      If you request a final DB snapshot, the status of the Amazon RDS DB instance is deleting until the DB snapshot is created. This operation can't be canceled or reverted after it begins. To monitor the status of this operation, use DescribeDBInstance.

      When a DB instance is in a failure state and has a status of failed, incompatible-restore, or incompatible-network, you can only delete it when you skip creation of the final snapshot with the SkipFinalSnapshot parameter.

      If the specified DB instance is part of an Amazon Aurora DB cluster, you can't delete the DB instance if both of the following conditions are true:

      • The DB cluster is a read replica of another Amazon Aurora DB cluster.

      • The DB instance is the only instance in the DB cluster.

      To delete a DB instance in this case, first use the PromoteReadReplicaDBCluster operation to promote the DB cluster so that it's no longer a read replica. After the promotion completes, use the DeleteDBInstance operation to delete the final instance in the DB cluster.

      For RDS Custom DB instances, deleting the DB instance permanently deletes the EC2 instance and the associated EBS volumes. Make sure that you don't terminate or delete these resources before you delete the DB instance. Otherwise, deleting the DB instance and creation of the final snapshot might fail.

      " }, "DeleteDBInstanceAutomatedBackup":{ "name":"DeleteDBInstanceAutomatedBackup", @@ -981,7 +981,7 @@ "errors":[ {"shape":"CertificateNotFoundFault"} ], - "documentation":"

      Lists the set of CA certificates provided by Amazon RDS for this Amazon Web Services account.

      For more information, see Using SSL/TLS to encrypt a connection to a DB instance in the Amazon RDS User Guide and Using SSL/TLS to encrypt a connection to a DB cluster in the Amazon Aurora User Guide.

      " + "documentation":"

      Lists the set of certificate authority (CA) certificates provided by Amazon RDS for this Amazon Web Services account.

      For more information, see Using SSL/TLS to encrypt a connection to a DB instance in the Amazon RDS User Guide and Using SSL/TLS to encrypt a connection to a DB cluster in the Amazon Aurora User Guide.

      " }, "DescribeDBClusterAutomatedBackups":{ "name":"DescribeDBClusterAutomatedBackups", @@ -1123,7 +1123,7 @@ "shape":"DBEngineVersionMessage", "resultWrapper":"DescribeDBEngineVersionsResult" }, - "documentation":"

      Returns a list of the available DB engines.

      " + "documentation":"

      Describes the properties of specific versions of DB engines.

      " }, "DescribeDBInstanceAutomatedBackups":{ "name":"DescribeDBInstanceAutomatedBackups", @@ -2436,7 +2436,7 @@ {"shape":"DBInstanceAutomatedBackupNotFoundFault"}, {"shape":"NetworkTypeNotSupported"} ], - "documentation":"

      Restores a DB instance to an arbitrary point in time. You can restore to any point in time before the time identified by the LatestRestorableTime property. You can restore to a point up to the number of days specified by the BackupRetentionPeriod property.

      The target database is created with most of the original configuration, but in a system-selected Availability Zone, with the default security group, the default subnet group, and the default DB parameter group. By default, the new DB instance is created as a single-AZ deployment except when the instance is a SQL Server instance that has an option group that is associated with mirroring; in this case, the instance becomes a mirrored deployment and not a single-AZ deployment.

      This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora, use RestoreDBClusterToPointInTime.

      " + "documentation":"

      Restores a DB instance to an arbitrary point in time. You can restore to any point in time before the time identified by the LatestRestorableTime property. You can restore to a point up to the number of days specified by the BackupRetentionPeriod property.

      The target database is created with most of the original configuration, but in a system-selected Availability Zone, with the default security group, the default subnet group, and the default DB parameter group. By default, the new DB instance is created as a single-AZ deployment except when the instance is a SQL Server instance that has an option group that is associated with mirroring; in this case, the instance becomes a mirrored deployment and not a single-AZ deployment.

      This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora, use RestoreDBClusterToPointInTime.

      " }, "RevokeDBSecurityGroupIngress":{ "name":"RevokeDBSecurityGroupIngress", @@ -2867,11 +2867,11 @@ }, "ApplyAction":{ "shape":"String", - "documentation":"

      The pending maintenance action to apply to this resource.

      Valid values: system-update, db-upgrade, hardware-maintenance, ca-certificate-rotation

      " + "documentation":"

      The pending maintenance action to apply to this resource.

      Valid Values: system-update, db-upgrade, hardware-maintenance, ca-certificate-rotation

      " }, "OptInType":{ "shape":"String", - "documentation":"

      A value that specifies the type of opt-in request, or undoes an opt-in request. An opt-in request of type immediate can't be undone.

      Valid values:

      • immediate - Apply the maintenance action immediately.

      • next-maintenance - Apply the maintenance action during the next maintenance window for the resource.

      • undo-opt-in - Cancel any existing next-maintenance opt-in requests.

      " + "documentation":"

      A value that specifies the type of opt-in request, or undoes an opt-in request. An opt-in request of type immediate can't be undone.

      Valid Values:

      • immediate - Apply the maintenance action immediately.

      • next-maintenance - Apply the maintenance action during the next maintenance window for the resource.

      • undo-opt-in - Cancel any existing next-maintenance opt-in requests.

      " } }, "documentation":"

      " @@ -3049,11 +3049,11 @@ }, "Force":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether to force the DB cluster to backtrack when binary logging is enabled. Otherwise, an error occurs when binary logging is enabled.

      " + "documentation":"

      Specifies whether to force the DB cluster to backtrack when binary logging is enabled. Otherwise, an error occurs when binary logging is enabled.

      " }, "UseEarliestTimeOnPointInTimeUnavailable":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether to backtrack the DB cluster to the earliest possible backtrack time when BacktrackTo is set to a timestamp earlier than the earliest backtrack time. When this parameter is disabled and BacktrackTo is set to a timestamp earlier than the earliest backtrack time, an error occurs.

      " + "documentation":"

      Specifies whether to backtrack the DB cluster to the earliest possible backtrack time when BacktrackTo is set to a timestamp earlier than the earliest backtrack time. When this parameter is disabled and BacktrackTo is set to a timestamp earlier than the earliest backtrack time, an error occurs.

      " } }, "documentation":"

      " @@ -3231,7 +3231,7 @@ }, "CustomerOverride":{ "shape":"BooleanOptional", - "documentation":"

      Whether there is an override for the default certificate identifier.

      " + "documentation":"

      Indicates whether there is an override for the default certificate identifier.

      " }, "CustomerOverrideValidTill":{ "shape":"TStamp", @@ -3265,6 +3265,10 @@ "CertificateMessage":{ "type":"structure", "members":{ + "DefaultCertificateForNewLaunches":{ + "shape":"String", + "documentation":"

      The default root CA for new databases created by your Amazon Web Services account. This is either the root CA override set on your Amazon Web Services account or the system default CA for the Region if no override exists. To override the default CA, use the ModifyCertificates operation.

      " + }, "Certificates":{ "shape":"CertificateList", "documentation":"

      The list of Certificate objects for the Amazon Web Services account.

      " @@ -3339,7 +3343,7 @@ }, "IAMDatabaseAuthenticationEnabled":{ "shape":"BooleanOptional", - "documentation":"

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

      " + "documentation":"

      Indicates whether mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts is enabled.

      " }, "EngineVersion":{ "shape":"String", @@ -3369,15 +3373,15 @@ "members":{ "MaxConnectionsPercent":{ "shape":"IntegerOptional", - "documentation":"

      The maximum size of the connection pool for each target in a target group. The value is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.

      If you specify MaxIdleConnectionsPercent, then you must also include a value for this parameter.

      Default: 10 for RDS for Microsoft SQL Server, and 100 for all other engines

      Constraints: Must be between 1 and 100.

      " + "documentation":"

      The maximum size of the connection pool for each target in a target group. The value is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.

      If you specify MaxIdleConnectionsPercent, then you must also include a value for this parameter.

      Default: 10 for RDS for Microsoft SQL Server, and 100 for all other engines

      Constraints:

      • Must be between 1 and 100.

      " }, "MaxIdleConnectionsPercent":{ "shape":"IntegerOptional", - "documentation":"

      Controls how actively the proxy closes idle database connections in the connection pool. The value is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group. With a high value, the proxy leaves a high percentage of idle database connections open. A low value causes the proxy to close more idle connections and return them to the database.

      If you specify this parameter, then you must also include a value for MaxConnectionsPercent.

      Default: The default value is half of the value of MaxConnectionsPercent. For example, if MaxConnectionsPercent is 80, then the default value of MaxIdleConnectionsPercent is 40. If the value of MaxConnectionsPercent isn't specified, then for SQL Server, MaxIdleConnectionsPercent is 5, and for all other engines, the default is 50.

      Constraints: Must be between 0 and the value of MaxConnectionsPercent.

      " + "documentation":"

      A value that controls how actively the proxy closes idle database connections in the connection pool. The value is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group. With a high value, the proxy leaves a high percentage of idle database connections open. A low value causes the proxy to close more idle connections and return them to the database.

      If you specify this parameter, then you must also include a value for MaxConnectionsPercent.

      Default: The default value is half of the value of MaxConnectionsPercent. For example, if MaxConnectionsPercent is 80, then the default value of MaxIdleConnectionsPercent is 40. If the value of MaxConnectionsPercent isn't specified, then for SQL Server, MaxIdleConnectionsPercent is 5, and for all other engines, the default is 50.

      Constraints:

      • Must be between 0 and the value of MaxConnectionsPercent.

      " }, "ConnectionBorrowTimeout":{ "shape":"IntegerOptional", - "documentation":"

      The number of seconds for a proxy to wait for a connection to become available in the connection pool. Only applies when the proxy has opened its maximum number of connections and all connections are busy with client sessions.

      Default: 120

      Constraints: between 1 and 3600, or 0 representing unlimited

      " + "documentation":"

      The number of seconds for a proxy to wait for a connection to become available in the connection pool. This setting only applies when the proxy has opened its maximum number of connections and all connections are busy with client sessions. For an unlimited wait time, specify 0.

      Default: 120

      Constraints:

      • Must be between 0 and 3600.

      " }, "SessionPinningFilters":{ "shape":"StringList", @@ -3470,7 +3474,7 @@ }, "CopyTags":{ "shape":"BooleanOptional", - "documentation":"

      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.

      " + "documentation":"

      Specifies whether to copy all tags from the source DB cluster snapshot to the target DB cluster snapshot. By default, tags are not copied.

      " }, "Tags":{"shape":"TagList"} }, @@ -3534,7 +3538,7 @@ "Tags":{"shape":"TagList"}, "CopyTags":{ "shape":"BooleanOptional", - "documentation":"

      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.

      " + "documentation":"

      Specifies whether to copy all tags from the source DB snapshot to the target DB snapshot. By default, tags aren't copied.

      " }, "PreSignedUrl":{ "shape":"String", @@ -3550,7 +3554,7 @@ }, "CopyOptionGroup":{ "shape":"BooleanOptional", - "documentation":"

      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.

      " + "documentation":"

      Specifies 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.

      " } }, "documentation":"

      " @@ -4034,7 +4038,7 @@ }, "MasterUserPassword":{ "shape":"String", - "documentation":"

      The password for the master user.

      This setting doesn't apply to Amazon Aurora DB instances. The password for the master user is managed by the DB cluster.

      Constraints:

      • Can't be specified if ManageMasterUserPassword is turned on.

      • Can include any printable ASCII character except \"/\", \"\"\", or \"@\".

      Length Constraints:

      • RDS for MariaDB - Must contain from 8 to 41 characters.

      • RDS for Microsoft SQL Server - Must contain from 8 to 128 characters.

      • RDS for MySQL - Must contain from 8 to 41 characters.

      • RDS for Oracle - Must contain from 8 to 30 characters.

      • RDS for PostgreSQL - Must contain from 8 to 128 characters.

      " + "documentation":"

      The password for the master user.

      This setting doesn't apply to Amazon Aurora DB instances. The password for the master user is managed by the DB cluster.

      Constraints:

      • Can't be specified if ManageMasterUserPassword is turned on.

      • Can include any printable ASCII character except \"/\", \"\"\", or \"@\". For RDS for Oracle, can't include the \"&\" (ampersand) or the \"'\" (single quotes) character.

      Length Constraints:

      • RDS for MariaDB - Must contain from 8 to 41 characters.

      • RDS for Microsoft SQL Server - Must contain from 8 to 128 characters.

      • RDS for MySQL - Must contain from 8 to 41 characters.

      • RDS for Oracle - Must contain from 8 to 30 characters.

      • RDS for PostgreSQL - Must contain from 8 to 128 characters.

      " }, "DBSecurityGroups":{ "shape":"DBSecurityGroupNameList", @@ -4265,7 +4269,7 @@ }, "DBInstanceClass":{ "shape":"String", - "documentation":"

      The compute and memory capacity of the read replica, for example db.m4.large. Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

      Default: Inherits from the source DB instance.

      " + "documentation":"

      The compute and memory capacity of the read replica, for example db.m4.large. Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

      Default: Inherits the value from the source DB instance.

      " }, "AvailabilityZone":{ "shape":"String", @@ -4273,56 +4277,56 @@ }, "Port":{ "shape":"IntegerOptional", - "documentation":"

      The port number that the DB instance uses for connections.

      Default: Inherits from the source DB instance

      Valid Values: 1150-65535

      " + "documentation":"

      The port number that the DB instance uses for connections.

      Valid Values: 1150-65535

      Default: Inherits the value from the source DB instance.

      " }, "MultiAZ":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether the read replica is in a Multi-AZ deployment.

      You can create a read replica as a Multi-AZ DB instance. RDS creates a standby of your replica in another Availability Zone for failover support for the replica. Creating your read replica as a Multi-AZ DB instance is independent of whether the source is a Multi-AZ DB instance or a Multi-AZ DB cluster.

      This setting doesn't apply to RDS Custom.

      " + "documentation":"

      Specifies whether the read replica is in a Multi-AZ deployment.

      You can create a read replica as a Multi-AZ DB instance. RDS creates a standby of your replica in another Availability Zone for failover support for the replica. Creating your read replica as a Multi-AZ DB instance is independent of whether the source is a Multi-AZ DB instance or a Multi-AZ DB cluster.

      This setting doesn't apply to RDS Custom DB instances.

      " }, "AutoMinorVersionUpgrade":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether minor engine upgrades are applied automatically to the read replica during the maintenance window.

      This setting doesn't apply to RDS Custom.

      Default: Inherits from the source DB instance

      " + "documentation":"

      Specifies whether to automatically apply minor engine upgrades to the read replica during the maintenance window.

      This setting doesn't apply to RDS Custom DB instances.

      Default: Inherits the value from the source DB instance.

      " }, "Iops":{ "shape":"IntegerOptional", - "documentation":"

      The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.

      " + "documentation":"

      The amount of Provisioned IOPS (input/output operations per second) to initially allocate for the DB instance.

      " }, "OptionGroupName":{ "shape":"String", - "documentation":"

      The option group the DB instance is associated with. If omitted, the option group associated with the source instance or cluster is used.

      For SQL Server, you must use the option group associated with the source.

      This setting doesn't apply to RDS Custom.

      " + "documentation":"

      The option group to associate the DB instance with. If not specified, RDS uses the option group associated with the source DB instance or cluster.

      For SQL Server, you must use the option group associated with the source.

      This setting doesn't apply to RDS Custom DB instances.

      " }, "DBParameterGroupName":{ "shape":"String", - "documentation":"

      The name of the DB parameter group to associate with this DB instance.

      If you do not specify a value for DBParameterGroupName, then Amazon RDS uses the DBParameterGroup of source DB instance for a same Region read replica, or the default DBParameterGroup for the specified DB engine for a cross-Region read replica.

      Specifying a parameter group for this operation is only supported for MySQL and Oracle DB instances. It isn't supported for RDS Custom.

      Constraints:

      • Must be 1 to 255 letters, numbers, or hyphens.

      • First character must be a letter

      • Can't end with a hyphen or contain two consecutive hyphens

      " + "documentation":"

      The name of the DB parameter group to associate with this DB instance.

      If you don't specify a value for DBParameterGroupName, then Amazon RDS uses the DBParameterGroup of the source DB instance for a same Region read replica, or the default DBParameterGroup for the specified DB engine for a cross-Region read replica.

      Specifying a parameter group for this operation is only supported for MySQL DB instances for cross-Region read replicas and for Oracle DB instances. It isn't supported for MySQL DB instances for same Region read replicas or for RDS Custom.

      Constraints:

      • Must be 1 to 255 letters, numbers, or hyphens.

      • First character must be a letter.

      • Can't end with a hyphen or contain two consecutive hyphens.

      " }, "PubliclyAccessible":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether the DB instance is publicly accessible.

      When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

      When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

      For more information, see CreateDBInstance.

      " + "documentation":"

      Specifies whether the DB instance is publicly accessible.

      When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

      When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

      For more information, see CreateDBInstance.

      " }, "Tags":{"shape":"TagList"}, "DBSubnetGroupName":{ "shape":"String", - "documentation":"

      Specifies a DB subnet group for the DB instance. The new DB instance is created in the VPC associated with the DB subnet group. If no DB subnet group is specified, then the new DB instance isn't created in a VPC.

      Constraints:

      • If supplied, must match the name of an existing DBSubnetGroup.

      • The specified DB subnet group must be in the same Amazon Web Services Region in which the operation is running.

      • All read replicas in one Amazon Web Services Region that are created from the same source DB instance must either:>

        • Specify DB subnet groups from the same VPC. All these read replicas are created in the same VPC.

        • Not specify a DB subnet group. All these read replicas are created outside of any VPC.

      Example: mydbsubnetgroup

      " + "documentation":"

      A DB subnet group for the DB instance. The new DB instance is created in the VPC associated with the DB subnet group. If no DB subnet group is specified, then the new DB instance isn't created in a VPC.

      Constraints:

      • If supplied, must match the name of an existing DB subnet group.

      • The specified DB subnet group must be in the same Amazon Web Services Region in which the operation is running.

      • All read replicas in one Amazon Web Services Region that are created from the same source DB instance must either:

        • Specify DB subnet groups from the same VPC. All these read replicas are created in the same VPC.

        • Not specify a DB subnet group. All these read replicas are created outside of any VPC.

      Example: mydbsubnetgroup

      " }, "VpcSecurityGroupIds":{ "shape":"VpcSecurityGroupIdList", - "documentation":"

      A list of Amazon EC2 VPC security groups to associate with the read replica.

      This setting doesn't apply to RDS Custom.

      Default: The default EC2 VPC security group for the DB subnet group's VPC.

      " + "documentation":"

      A list of Amazon EC2 VPC security groups to associate with the read replica.

      This setting doesn't apply to RDS Custom DB instances.

      Default: The default EC2 VPC security group for the DB subnet group's VPC.

      " }, "StorageType":{ "shape":"String", - "documentation":"

      Specifies the storage type to be associated with the read replica.

      Valid values: gp2 | gp3 | io1 | standard

      If you specify io1 or gp3, you must also include a value for the Iops parameter.

      Default: io1 if the Iops parameter is specified, otherwise gp2

      " + "documentation":"

      The storage type to associate with the read replica.

      If you specify io1 or gp3, you must also include a value for the Iops parameter.

      Valid Values: gp2 | gp3 | io1 | standard

      Default: io1 if the Iops parameter is specified. Otherwise, gp2.

      " }, "CopyTagsToSnapshot":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether to copy all tags from the read replica to snapshots of the read replica. By default, tags are not copied.

      " + "documentation":"

      Specifies whether to copy all tags from the read replica to snapshots of the read replica. By default, tags aren't copied.

      " }, "MonitoringInterval":{ "shape":"IntegerOptional", - "documentation":"

      The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the read replica. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.

      If MonitoringRoleArn is specified, then you must also set MonitoringInterval to a value other than 0.

      This setting doesn't apply to RDS Custom.

      Valid Values: 0, 1, 5, 10, 15, 30, 60

      " + "documentation":"

      The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the read replica. To disable collection of Enhanced Monitoring metrics, specify 0. The default is 0.

      If MonitoringRoleArn is specified, then you must set MonitoringInterval to a value other than 0.

      This setting doesn't apply to RDS Custom DB instances.

      Valid Values: 0, 1, 5, 10, 15, 30, 60

      Default: 0

      " }, "MonitoringRoleArn":{ "shape":"String", - "documentation":"

      The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, go to To create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide.

      If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

      This setting doesn't apply to RDS Custom.

      " + "documentation":"

      The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, go to To create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide.

      If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

      This setting doesn't apply to RDS Custom DB instances.

      " }, "KmsKeyId":{ "shape":"String", @@ -4330,47 +4334,47 @@ }, "PreSignedUrl":{ "shape":"String", - "documentation":"

      When you are creating a read replica from one Amazon Web Services GovCloud (US) Region to another or from one China Amazon Web Services Region to another, the URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica API operation in the source Amazon Web Services Region that contains the source DB instance.

      This setting applies only to Amazon Web Services GovCloud (US) Regions and China Amazon Web Services Regions. It's ignored in other Amazon Web Services Regions.

      This setting applies only when replicating from a source DB instance. Source DB clusters aren't supported in Amazon Web Services GovCloud (US) Regions and China Amazon Web Services Regions.

      You must specify this parameter when you create an encrypted read replica from another Amazon Web Services Region by using the Amazon RDS API. Don't specify PreSignedUrl when you are creating an encrypted read replica in the same Amazon Web Services Region.

      The presigned URL must be a valid request for the CreateDBInstanceReadReplica API operation that can run in the source Amazon Web Services Region that contains the encrypted source DB instance. The presigned URL request must contain the following parameter values:

      • DestinationRegion - The Amazon Web Services Region that the encrypted read replica is created in. This Amazon Web Services Region is the same one where the CreateDBInstanceReadReplica operation is called that contains this presigned URL.

        For example, if you create an encrypted DB instance in the us-west-1 Amazon Web Services Region, from a source DB instance in the us-east-2 Amazon Web Services Region, then you call the CreateDBInstanceReadReplica operation in the us-east-1 Amazon Web Services Region and provide a presigned URL that contains a call to the CreateDBInstanceReadReplica operation in the us-west-2 Amazon Web Services Region. For this example, the DestinationRegion in the presigned URL must be set to the us-east-1 Amazon Web Services Region.

      • KmsKeyId - The KMS key identifier for the key to use to encrypt the read replica in the destination Amazon Web Services Region. This is the same identifier for both the CreateDBInstanceReadReplica operation that is called in the destination Amazon Web Services Region, and the operation contained in the presigned URL.

      • SourceDBInstanceIdentifier - The DB instance identifier for the encrypted DB instance to be replicated. This identifier must be in the Amazon Resource Name (ARN) format for the source Amazon Web Services Region. For example, if you are creating an encrypted read replica from a DB instance in the us-west-2 Amazon Web Services Region, then your SourceDBInstanceIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115.

      To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (Amazon Web Services Signature Version 4) and Signature Version 4 Signing Process.

      If you are using an Amazon Web Services SDK tool or the CLI, you can specify SourceRegion (or --source-region for the CLI) instead of specifying PreSignedUrl manually. Specifying SourceRegion autogenerates a presigned URL that is a valid request for the operation that can run in the source Amazon Web Services Region.

      SourceRegion isn't supported for SQL Server, because Amazon RDS for SQL Server doesn't support cross-Region read replicas.

      This setting doesn't apply to RDS Custom.

      " + "documentation":"

      When you are creating a read replica from one Amazon Web Services GovCloud (US) Region to another or from one China Amazon Web Services Region to another, the URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica API operation in the source Amazon Web Services Region that contains the source DB instance.

      This setting applies only to Amazon Web Services GovCloud (US) Regions and China Amazon Web Services Regions. It's ignored in other Amazon Web Services Regions.

      This setting applies only when replicating from a source DB instance. Source DB clusters aren't supported in Amazon Web Services GovCloud (US) Regions and China Amazon Web Services Regions.

      You must specify this parameter when you create an encrypted read replica from another Amazon Web Services Region by using the Amazon RDS API. Don't specify PreSignedUrl when you are creating an encrypted read replica in the same Amazon Web Services Region.

      The presigned URL must be a valid request for the CreateDBInstanceReadReplica API operation that can run in the source Amazon Web Services Region that contains the encrypted source DB instance. The presigned URL request must contain the following parameter values:

      • DestinationRegion - The Amazon Web Services Region that the encrypted read replica is created in. This Amazon Web Services Region is the same one where the CreateDBInstanceReadReplica operation is called that contains this presigned URL.

        For example, if you create an encrypted DB instance in the us-west-1 Amazon Web Services Region, from a source DB instance in the us-east-2 Amazon Web Services Region, then you call the CreateDBInstanceReadReplica operation in the us-east-1 Amazon Web Services Region and provide a presigned URL that contains a call to the CreateDBInstanceReadReplica operation in the us-west-2 Amazon Web Services Region. For this example, the DestinationRegion in the presigned URL must be set to the us-east-1 Amazon Web Services Region.

      • KmsKeyId - The KMS key identifier for the key to use to encrypt the read replica in the destination Amazon Web Services Region. This is the same identifier for both the CreateDBInstanceReadReplica operation that is called in the destination Amazon Web Services Region, and the operation contained in the presigned URL.

      • SourceDBInstanceIdentifier - The DB instance identifier for the encrypted DB instance to be replicated. This identifier must be in the Amazon Resource Name (ARN) format for the source Amazon Web Services Region. For example, if you are creating an encrypted read replica from a DB instance in the us-west-2 Amazon Web Services Region, then your SourceDBInstanceIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115.

      To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (Amazon Web Services Signature Version 4) and Signature Version 4 Signing Process.

      If you are using an Amazon Web Services SDK tool or the CLI, you can specify SourceRegion (or --source-region for the CLI) instead of specifying PreSignedUrl manually. Specifying SourceRegion autogenerates a presigned URL that is a valid request for the operation that can run in the source Amazon Web Services Region.

      SourceRegion isn't supported for SQL Server, because Amazon RDS for SQL Server doesn't support cross-Region read replicas.

      This setting doesn't apply to RDS Custom DB instances.

      " }, "EnableIAMDatabaseAuthentication":{ "shape":"BooleanOptional", - "documentation":"

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

      For more information about IAM database authentication, see IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.

      This setting doesn't apply to RDS Custom.

      " + "documentation":"

      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 about IAM database authentication, see IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.

      This setting doesn't apply to RDS Custom DB instances.

      " }, "EnablePerformanceInsights":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether to enable Performance Insights for the read replica.

      For more information, see Using Amazon Performance Insights in the Amazon RDS User Guide.

      This setting doesn't apply to RDS Custom.

      " + "documentation":"

      Specifies whether to enable Performance Insights for the read replica.

      For more information, see Using Amazon Performance Insights in the Amazon RDS User Guide.

      This setting doesn't apply to RDS Custom DB instances.

      " }, "PerformanceInsightsKMSKeyId":{ "shape":"String", - "documentation":"

      The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

      The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

      If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS uses your default KMS key. There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.

      This setting doesn't apply to RDS Custom.

      " + "documentation":"

      The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

      The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

      If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS uses your default KMS key. There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.

      This setting doesn't apply to RDS Custom DB instances.

      " }, "PerformanceInsightsRetentionPeriod":{ "shape":"IntegerOptional", - "documentation":"

      The number of days to retain Performance Insights data. The default is 7 days. The following values are valid:

      • 7

      • month * 31, where month is a number of months from 1-23

      • 731

      For example, the following values are valid:

      • 93 (3 months * 31)

      • 341 (11 months * 31)

      • 589 (19 months * 31)

      • 731

      If you specify a retention period such as 94, which isn't a valid value, RDS issues an error.

      This setting doesn't apply to RDS Custom.

      " + "documentation":"

      The number of days to retain Performance Insights data.

      This setting doesn't apply to RDS Custom DB instances.

      Valid Values:

      • 7

      • month * 31, where month is a number of months from 1-23. Examples: 93 (3 months * 31), 341 (11 months * 31), 589 (19 months * 31)

      • 731

      Default: 7 days

      If you specify a retention period that isn't valid, such as 94, Amazon RDS returns an error.

      " }, "EnableCloudwatchLogsExports":{ "shape":"LogTypeList", - "documentation":"

      The list of logs that the new DB instance is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

      This setting doesn't apply to RDS Custom.

      " + "documentation":"

      The list of logs that the new DB instance is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

      This setting doesn't apply to RDS Custom DB instances.

      " }, "ProcessorFeatures":{ "shape":"ProcessorFeatureList", - "documentation":"

      The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

      This setting doesn't apply to RDS Custom.

      " + "documentation":"

      The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

      This setting doesn't apply to RDS Custom DB instances.

      " }, "UseDefaultProcessorFeatures":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether the DB instance class of the DB instance uses its default processor features.

      This setting doesn't apply to RDS Custom.

      " + "documentation":"

      Specifies whether the DB instance class of the DB instance uses its default processor features.

      This setting doesn't apply to RDS Custom DB instances.

      " }, "DeletionProtection":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection isn't enabled. For more information, see Deleting a DB Instance.

      " + "documentation":"

      Specifies whether to enable deletion protection for the DB instance. The database can't be deleted when deletion protection is enabled. By default, deletion protection isn't enabled. For more information, see Deleting a DB Instance.

      " }, "Domain":{ "shape":"String", - "documentation":"

      The Active Directory directory ID to create the DB instance in. Currently, only MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

      For more information, see Kerberos Authentication in the Amazon RDS User Guide.

      This setting doesn't apply to RDS Custom.

      " + "documentation":"

      The Active Directory directory ID to create the DB instance in. Currently, only MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

      For more information, see Kerberos Authentication in the Amazon RDS User Guide.

      This setting doesn't apply to RDS Custom DB instances.

      " }, "DomainIAMRoleName":{ "shape":"String", - "documentation":"

      The name of the IAM role to be used when making API calls to the Directory Service.

      This setting doesn't apply to RDS Custom.

      " + "documentation":"

      The name of the IAM role to use when making API calls to the Directory Service.

      This setting doesn't apply to RDS Custom DB instances.

      " }, "DomainFqdn":{ "shape":"String", @@ -4398,19 +4402,19 @@ }, "CustomIamInstanceProfile":{ "shape":"String", - "documentation":"

      The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance. The instance profile must meet the following requirements:

      • The profile must exist in your account.

      • The profile must have an IAM role that Amazon EC2 has permissions to assume.

      • The instance profile name and the associated IAM role name must start with the prefix AWSRDSCustom.

      For the list of permissions required for the IAM role, see Configure IAM and your VPC in the Amazon RDS User Guide.

      This setting is required for RDS Custom.

      " + "documentation":"

      The instance profile associated with the underlying Amazon EC2 instance of an RDS Custom DB instance. The instance profile must meet the following requirements:

      • The profile must exist in your account.

      • The profile must have an IAM role that Amazon EC2 has permissions to assume.

      • The instance profile name and the associated IAM role name must start with the prefix AWSRDSCustom.

      For the list of permissions required for the IAM role, see Configure IAM and your VPC in the Amazon RDS User Guide.

      This setting is required for RDS Custom DB instances.

      " }, "NetworkType":{ "shape":"String", - "documentation":"

      The network type of the DB instance.

      Valid values:

      • IPV4

      • DUAL

      The network type is determined by the DBSubnetGroup specified for read replica. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL).

      For more information, see Working with a DB instance in a VPC in the Amazon RDS User Guide.

      " + "documentation":"

      The network type of the DB instance.

      Valid Values:

      • IPV4

      • DUAL

      The network type is determined by the DBSubnetGroup specified for read replica. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL).

      For more information, see Working with a DB instance in a VPC in the Amazon RDS User Guide.

      " }, "StorageThroughput":{ "shape":"IntegerOptional", - "documentation":"

      Specifies the storage throughput value for the read replica.

      This setting doesn't apply to RDS Custom or Amazon Aurora.

      " + "documentation":"

      Specifies the storage throughput value for the read replica.

      This setting doesn't apply to RDS Custom or Amazon Aurora DB instances.

      " }, "EnableCustomerOwnedIp":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts read replica.

      A CoIP provides local or external connectivity to resources in your Outpost subnets through your on-premises network. For some use cases, a CoIP can provide lower latency for connections to the read replica from outside of its virtual private cloud (VPC) on your local network.

      For more information about RDS on Outposts, see Working with Amazon RDS on Amazon Web Services Outposts in the Amazon RDS User Guide.

      For more information about CoIPs, see Customer-owned IP addresses in the Amazon Web Services Outposts User Guide.

      " + "documentation":"

      Specifies whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts read replica.

      A CoIP provides local or external connectivity to resources in your Outpost subnets through your on-premises network. For some use cases, a CoIP can provide lower latency for connections to the read replica from outside of its virtual private cloud (VPC) on your local network.

      For more information about RDS on Outposts, see Working with Amazon RDS on Amazon Web Services Outposts in the Amazon RDS User Guide.

      For more information about CoIPs, see Customer-owned IP addresses in the Amazon Web Services Outposts User Guide.

      " }, "AllocatedStorage":{ "shape":"IntegerOptional", @@ -4493,7 +4497,7 @@ }, "TargetRole":{ "shape":"DBProxyEndpointTargetRole", - "documentation":"

      A value that indicates whether the DB proxy endpoint can be used for read/write or read-only operations. The default is READ_WRITE. The only role that proxies for RDS for Microsoft SQL Server support is READ_WRITE.

      " + "documentation":"

      The role of the DB proxy endpoint. The role determines whether the endpoint can be used for read/write or only read operations. The default is READ_WRITE. The only role that proxies for RDS for Microsoft SQL Server support is READ_WRITE.

      " }, "Tags":{"shape":"TagList"} } @@ -4543,7 +4547,7 @@ }, "RequireTLS":{ "shape":"Boolean", - "documentation":"

      A Boolean parameter that specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. By enabling this setting, you can enforce encrypted TLS connections to the proxy.

      " + "documentation":"

      Specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. By enabling this setting, you can enforce encrypted TLS connections to the proxy.

      " }, "IdleClientTimeout":{ "shape":"IntegerOptional", @@ -4551,7 +4555,7 @@ }, "DebugLogging":{ "shape":"Boolean", - "documentation":"

      Whether the proxy includes detailed information about SQL statements in its logs. This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. The debug information includes the text of SQL statements that you submit through the proxy. Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive information that appears in the logs.

      " + "documentation":"

      Specifies whether the proxy includes detailed information about SQL statements in its logs. This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. The debug information includes the text of SQL statements that you submit through the proxy. Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive information that appears in the logs.

      " }, "Tags":{ "shape":"TagList", @@ -4671,7 +4675,7 @@ }, "SourceType":{ "shape":"String", - "documentation":"

      The type of source that is generating the events. For example, if you want to be notified of events generated by a DB instance, you set this parameter to db-instance. For RDS Proxy events, specify db-proxy. If this value isn't specified, all events are returned.

      Valid values: db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot | db-proxy

      " + "documentation":"

      The type of source that is generating the events. For example, if you want to be notified of events generated by a DB instance, you set this parameter to db-instance. For RDS Proxy events, specify db-proxy. If this value isn't specified, all events are returned.

      Valid Values: db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot | db-proxy

      " }, "EventCategories":{ "shape":"EventCategoriesList", @@ -4683,7 +4687,7 @@ }, "Enabled":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether to activate the subscription. If the event notification subscription isn't activated, the subscription is created but not active.

      " + "documentation":"

      Specifies whether to activate the subscription. If the event notification subscription isn't activated, the subscription is created but not active.

      " }, "Tags":{"shape":"TagList"} }, @@ -5079,7 +5083,7 @@ }, "GlobalWriteForwardingRequested":{ "shape":"BooleanOptional", - "documentation":"

      Specifies whether write forwarding is enabled for a secondary cluster in an Aurora global database. Because write forwarding takes time to enable, check the value of GlobalWriteForwardingStatus to confirm that the request has completed before using the write forwarding feature for this cluster.

      " + "documentation":"

      Indicates whether write forwarding is enabled for a secondary cluster in an Aurora global database. Because write forwarding takes time to enable, check the value of GlobalWriteForwardingStatus to confirm that the request has completed before using the write forwarding feature for this cluster.

      " }, "PendingModifiedValues":{ "shape":"ClusterPendingModifiedValues", @@ -5144,7 +5148,7 @@ }, "LocalWriteForwardingStatus":{ "shape":"LocalWriteForwardingStatus", - "documentation":"

      Specifies whether an Aurora DB cluster has in-cluster write forwarding enabled, not enabled, requested, or is in the process of enabling it.

      " + "documentation":"

      Indicates whether an Aurora DB cluster has in-cluster write forwarding enabled, not enabled, requested, or is in the process of enabling it.

      " }, "AwsBackupRecoveryPointArn":{ "shape":"String", @@ -5208,7 +5212,7 @@ }, "IAMDatabaseAuthenticationEnabled":{ "shape":"Boolean", - "documentation":"

      True if mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

      " + "documentation":"

      Indicates whether mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts is enabled.

      " }, "ClusterCreateTime":{ "shape":"TStamp", @@ -5216,7 +5220,7 @@ }, "StorageEncrypted":{ "shape":"Boolean", - "documentation":"

      Specifies whether the source DB cluster is encrypted.

      " + "documentation":"

      Indicates whether the source DB cluster is encrypted.

      " }, "AllocatedStorage":{ "shape":"Integer", @@ -5522,7 +5526,7 @@ }, "IsClusterWriter":{ "shape":"Boolean", - "documentation":"

      Value that is true if the cluster member is the primary instance for the DB cluster and false otherwise.

      " + "documentation":"

      Indicates whether the cluster member is the primary DB instance for the DB cluster.

      " }, "DBClusterParameterGroupStatus":{ "shape":"String", @@ -5748,71 +5752,71 @@ "members":{ "AvailabilityZones":{ "shape":"AvailabilityZones", - "documentation":"

      Provides the list of Availability Zones (AZs) where instances in the DB cluster snapshot can be restored.

      " + "documentation":"

      The list of Availability Zones (AZs) where instances in the DB cluster snapshot can be restored.

      " }, "DBClusterSnapshotIdentifier":{ "shape":"String", - "documentation":"

      Specifies the identifier for the DB cluster snapshot.

      " + "documentation":"

      The identifier for the DB cluster snapshot.

      " }, "DBClusterIdentifier":{ "shape":"String", - "documentation":"

      Specifies the DB cluster identifier of the DB cluster that this DB cluster snapshot was created from.

      " + "documentation":"

      The DB cluster identifier of the DB cluster that this DB cluster snapshot was created from.

      " }, "SnapshotCreateTime":{ "shape":"TStamp", - "documentation":"

      Provides the time when the snapshot was taken, in Universal Coordinated Time (UTC).

      " + "documentation":"

      The time when the snapshot was taken, in Universal Coordinated Time (UTC).

      " }, "Engine":{ "shape":"String", - "documentation":"

      Specifies the name of the database engine for this DB cluster snapshot.

      " + "documentation":"

      The name of the database engine for this DB cluster snapshot.

      " }, "EngineMode":{ "shape":"String", - "documentation":"

      Provides the engine mode of the database engine for this DB cluster snapshot.

      " + "documentation":"

      The engine mode of the database engine for this DB cluster snapshot.

      " }, "AllocatedStorage":{ "shape":"Integer", - "documentation":"

      Specifies the allocated storage size in gibibytes (GiB).

      " + "documentation":"

      The allocated storage size of the DB cluster snapshot in gibibytes (GiB).

      " }, "Status":{ "shape":"String", - "documentation":"

      Specifies the status of this DB cluster snapshot. Valid statuses are the following:

      • available

      • copying

      • creating

      " + "documentation":"

      The status of this DB cluster snapshot. Valid statuses are the following:

      • available

      • copying

      • creating

      " }, "Port":{ "shape":"Integer", - "documentation":"

      Specifies the port that the DB cluster was listening on at the time of the snapshot.

      " + "documentation":"

      The port that the DB cluster was listening on at the time of the snapshot.

      " }, "VpcId":{ "shape":"String", - "documentation":"

      Provides the VPC ID associated with the DB cluster snapshot.

      " + "documentation":"

      The VPC ID associated with the DB cluster snapshot.

      " }, "ClusterCreateTime":{ "shape":"TStamp", - "documentation":"

      Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC).

      " + "documentation":"

      The time when the DB cluster was created, in Universal Coordinated Time (UTC).

      " }, "MasterUsername":{ "shape":"String", - "documentation":"

      Provides the master username for this DB cluster snapshot.

      " + "documentation":"

      The master username for this DB cluster snapshot.

      " }, "EngineVersion":{ "shape":"String", - "documentation":"

      Provides the version of the database engine for this DB cluster snapshot.

      " + "documentation":"

      The version of the database engine for this DB cluster snapshot.

      " }, "LicenseModel":{ "shape":"String", - "documentation":"

      Provides the license model information for this DB cluster snapshot.

      " + "documentation":"

      The license model information for this DB cluster snapshot.

      " }, "SnapshotType":{ "shape":"String", - "documentation":"

      Provides the type of the DB cluster snapshot.

      " + "documentation":"

      The type of the DB cluster snapshot.

      " }, "PercentProgress":{ "shape":"Integer", - "documentation":"

      Specifies the percentage of the estimated data that has been transferred.

      " + "documentation":"

      The percentage of the estimated data that has been transferred.

      " }, "StorageEncrypted":{ "shape":"Boolean", - "documentation":"

      Specifies whether the DB cluster snapshot is encrypted.

      " + "documentation":"

      Indicates whether the DB cluster snapshot is encrypted.

      " }, "KmsKeyId":{ "shape":"String", @@ -5820,7 +5824,7 @@ }, "DBClusterSnapshotArn":{ "shape":"String", - "documentation":"

      Specifies the Amazon Resource Name (ARN) for the DB cluster snapshot.

      " + "documentation":"

      The Amazon Resource Name (ARN) for the DB cluster snapshot.

      " }, "SourceDBClusterSnapshotArn":{ "shape":"String", @@ -5828,7 +5832,7 @@ }, "IAMDatabaseAuthenticationEnabled":{ "shape":"Boolean", - "documentation":"

      True if mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

      " + "documentation":"

      Indicates whether mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts is enabled.

      " }, "TagList":{"shape":"TagList"}, "DBSystemId":{ @@ -5841,7 +5845,7 @@ }, "DbClusterResourceId":{ "shape":"String", - "documentation":"

      Specifies the resource ID of the DB cluster that this DB cluster snapshot was created from.

      " + "documentation":"

      The resource ID of the DB cluster that this DB cluster snapshot was created from.

      " } }, "documentation":"

      Contains the details for an Amazon RDS DB cluster snapshot

      This data type is used as a response element in the DescribeDBClusterSnapshots action.

      ", @@ -5985,7 +5989,7 @@ }, "SupportsLogExportsToCloudwatchLogs":{ "shape":"Boolean", - "documentation":"

      A value that indicates whether the engine version supports exporting the log types specified by ExportableLogTypes to CloudWatch Logs.

      " + "documentation":"

      Indicates whether the engine version supports exporting the log types specified by ExportableLogTypes to CloudWatch Logs.

      " }, "SupportsReadReplica":{ "shape":"Boolean", @@ -6005,11 +6009,11 @@ }, "SupportsParallelQuery":{ "shape":"Boolean", - "documentation":"

      A value that indicates whether you can use Aurora parallel query with a specific DB engine version.

      " + "documentation":"

      Indicates whether you can use Aurora parallel query with a specific DB engine version.

      " }, "SupportsGlobalDatabases":{ "shape":"Boolean", - "documentation":"

      A value that indicates whether you can use Aurora global databases with a specific DB engine version.

      " + "documentation":"

      Indicates whether you can use Aurora global databases with a specific DB engine version.

      " }, "MajorEngineVersion":{ "shape":"String", @@ -6038,7 +6042,7 @@ "TagList":{"shape":"TagList"}, "SupportsBabelfish":{ "shape":"Boolean", - "documentation":"

      A value that indicates whether the engine version supports Babelfish for Aurora PostgreSQL.

      " + "documentation":"

      Indicates whether the engine version supports Babelfish for Aurora PostgreSQL.

      " }, "CustomDBEngineVersionManifest":{ "shape":"CustomDBEngineVersionManifest", @@ -6046,7 +6050,7 @@ }, "SupportsCertificateRotationWithoutRestart":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether the engine version supports rotating the server certificate without rebooting the DB instance.

      " + "documentation":"

      Indicates whether the engine version supports rotating the server certificate without rebooting the DB instance.

      " }, "SupportedCACertificateIdentifiers":{ "shape":"CACertificateIdentifiersList", @@ -6054,7 +6058,7 @@ }, "SupportsLocalWriteForwarding":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether the DB engine version supports forwarding write operations from reader DB instances to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.

      Valid for: Aurora DB clusters only

      " + "documentation":"

      Indicates whether the DB engine version supports forwarding write operations from reader DB instances to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.

      Valid for: Aurora DB clusters only

      " } }, "documentation":"

      This data type is used as a response element in the action DescribeDBEngineVersions.

      " @@ -6445,15 +6449,15 @@ }, "RestoreWindow":{ "shape":"RestoreWindow", - "documentation":"

      Earliest and latest time an instance can be restored to.

      " + "documentation":"

      The earliest and latest time a DB instance can be restored to.

      " }, "AllocatedStorage":{ "shape":"Integer", - "documentation":"

      Specifies the allocated storage size in gibibytes (GiB).

      " + "documentation":"

      The allocated storage size for the the automated backup in gibibytes (GiB).

      " }, "Status":{ "shape":"String", - "documentation":"

      Provides a list of status information for an automated backup:

      • active - Automated backups for current instances.

      • retained - Automated backups for deleted instances.

      • creating - Automated backups that are waiting for the first automated snapshot to be available.

      " + "documentation":"

      A list of status information for an automated backup:

      • active - Automated backups for current instances.

      • retained - Automated backups for deleted instances.

      • creating - Automated backups that are waiting for the first automated snapshot to be available.

      " }, "Port":{ "shape":"Integer", @@ -6465,11 +6469,11 @@ }, "VpcId":{ "shape":"String", - "documentation":"

      Provides the VPC ID associated with the DB instance.

      " + "documentation":"

      The VPC ID associated with the DB instance.

      " }, "InstanceCreateTime":{ "shape":"TStamp", - "documentation":"

      Provides the date and time that the DB instance was created.

      " + "documentation":"

      The date and time when the DB instance was created.

      " }, "MasterUsername":{ "shape":"String", @@ -6485,7 +6489,7 @@ }, "LicenseModel":{ "shape":"String", - "documentation":"

      License model information for the automated backup.

      " + "documentation":"

      The license model information for the automated backup.

      " }, "Iops":{ "shape":"IntegerOptional", @@ -6501,11 +6505,11 @@ }, "Encrypted":{ "shape":"Boolean", - "documentation":"

      Specifies whether the automated backup is encrypted.

      " + "documentation":"

      Indicates whether the automated backup is encrypted.

      " }, "StorageType":{ "shape":"String", - "documentation":"

      Specifies the storage type associated with the automated backup.

      " + "documentation":"

      The storage type associated with the automated backup.

      " }, "KmsKeyId":{ "shape":"String", @@ -6533,11 +6537,11 @@ }, "BackupTarget":{ "shape":"String", - "documentation":"

      Specifies where automated backups are stored: Amazon Web Services Outposts or the Amazon Web Services Region.

      " + "documentation":"

      The location where automated backups are stored: Amazon Web Services Outposts or the Amazon Web Services Region.

      " }, "StorageThroughput":{ "shape":"IntegerOptional", - "documentation":"

      Specifies the storage throughput for the automated backup.

      " + "documentation":"

      The storage throughput for the automated backup.

      " }, "AwsBackupRecoveryPointArn":{ "shape":"String", @@ -6655,10 +6659,10 @@ }, "Status":{ "shape":"String", - "documentation":"

      Describes the state of association between the IAM role and the DB instance. The Status property returns one of the following values:

      • ACTIVE - the IAM role ARN is associated with the DB instance and can be used to access other Amazon Web Services services on your behalf.

      • PENDING - the IAM role ARN is being associated with the DB instance.

      • INVALID - the IAM role ARN is associated with the DB instance, but the DB instance is unable to assume the IAM role in order to access other Amazon Web Services services on your behalf.

      " + "documentation":"

      Information about the state of association between the IAM role and the DB instance. The Status property returns one of the following values:

      • ACTIVE - the IAM role ARN is associated with the DB instance and can be used to access other Amazon Web Services services on your behalf.

      • PENDING - the IAM role ARN is being associated with the DB instance.

      • INVALID - the IAM role ARN is associated with the DB instance, but the DB instance is unable to assume the IAM role in order to access other Amazon Web Services services on your behalf.

      " } }, - "documentation":"

      Describes an Amazon Web Services Identity and Access Management (IAM) role that is associated with a DB instance.

      " + "documentation":"

      Information about an Amazon Web Services Identity and Access Management (IAM) role that is associated with a DB instance.

      " }, "DBInstanceRoleAlreadyExistsFault":{ "type":"structure", @@ -6712,11 +6716,11 @@ }, "Normal":{ "shape":"Boolean", - "documentation":"

      Boolean value that is true if the instance is operating normally, or false if the instance is in an error state.

      " + "documentation":"

      A Boolean value that is true if the instance is operating normally, or false if the instance is in an error state.

      " }, "Status":{ "shape":"String", - "documentation":"

      Status of the DB instance. For a StatusType of read replica, the values can be replicating, replication stop point set, replication stop point reached, error, stopped, or terminated.

      " + "documentation":"

      The status of the DB instance. For a StatusType of read replica, the values can be replicating, replication stop point set, replication stop point reached, error, stopped, or terminated.

      " }, "Message":{ "shape":"String", @@ -6922,7 +6926,7 @@ }, "DebugLogging":{ "shape":"Boolean", - "documentation":"

      Whether the proxy includes detailed information about SQL statements in its logs. This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. The debug information includes the text of SQL statements that you submit through the proxy. Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive information that appears in the logs.

      " + "documentation":"

      Indicates whether the proxy includes detailed information about SQL statements in its logs. This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. The debug information includes the text of SQL statements that you submit through the proxy. Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive information that appears in the logs.

      " }, "CreatedDate":{ "shape":"TStamp", @@ -6992,7 +6996,7 @@ }, "IsDefault":{ "shape":"Boolean", - "documentation":"

      A value that indicates whether this endpoint is the default endpoint for the associated DB proxy. Default DB proxy endpoints always have read/write capability. Other endpoints that you associate with the DB proxy can be either read/write or read-only.

      " + "documentation":"

      Indicates whether this endpoint is the default endpoint for the associated DB proxy. Default DB proxy endpoints always have read/write capability. Other endpoints that you associate with the DB proxy can be either read/write or read-only.

      " } }, "documentation":"

      The data structure representing an endpoint associated with a DB proxy. RDS automatically creates one endpoint for each DB proxy. For Aurora DB clusters, you can associate additional endpoints with the same DB proxy. These endpoints can be read/write or read-only. They can also reside in different VPCs than the associated DB proxy.

      This data type is used as a response element in the DescribeDBProxyEndpoints operation.

      " @@ -7176,7 +7180,7 @@ }, "IsDefault":{ "shape":"Boolean", - "documentation":"

      Whether this target group is the first one used for connection requests by the associated proxy. Because each proxy is currently associated with a single target group, currently this setting is always true.

      " + "documentation":"

      Indicates whether this target group is the first one used for connection requests by the associated proxy. Because each proxy is currently associated with a single target group, currently this setting is always true.

      " }, "Status":{ "shape":"String", @@ -7442,7 +7446,7 @@ }, "Encrypted":{ "shape":"Boolean", - "documentation":"

      Specifies whether the DB snapshot is encrypted.

      " + "documentation":"

      Indicates whether the DB snapshot is encrypted.

      " }, "KmsKeyId":{ "shape":"String", @@ -7458,7 +7462,7 @@ }, "IAMDatabaseAuthenticationEnabled":{ "shape":"Boolean", - "documentation":"

      True if mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

      " + "documentation":"

      Indicates whether mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts is enabled.

      " }, "ProcessorFeatures":{ "shape":"ProcessorFeatureList", @@ -7794,7 +7798,7 @@ }, "SkipFinalSnapshot":{ "shape":"Boolean", - "documentation":"

      A value that indicates whether to skip the creation of a final DB cluster snapshot before the DB cluster is deleted. If skip is specified, no DB cluster snapshot is created. If skip isn't specified, a DB cluster snapshot is created before the DB cluster is deleted. By default, skip isn't specified, and the DB cluster snapshot is created. By default, this parameter is disabled.

      You must specify a FinalDBSnapshotIdentifier parameter if SkipFinalSnapshot is disabled.

      " + "documentation":"

      Specifies whether to skip the creation of a final DB cluster snapshot before the DB cluster is deleted. If skip is specified, no DB cluster snapshot is created. If skip isn't specified, a DB cluster snapshot is created before the DB cluster is deleted. By default, skip isn't specified, and the DB cluster snapshot is created. By default, this parameter is disabled.

      You must specify a FinalDBSnapshotIdentifier parameter if SkipFinalSnapshot is disabled.

      " }, "FinalDBSnapshotIdentifier":{ "shape":"String", @@ -7802,7 +7806,7 @@ }, "DeleteAutomatedBackups":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether to remove automated backups immediately after the DB cluster is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB cluster is deleted.

      " + "documentation":"

      Specifies whether to remove automated backups immediately after the DB cluster is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB cluster is deleted.

      " } }, "documentation":"

      " @@ -7871,7 +7875,7 @@ }, "SkipFinalSnapshot":{ "shape":"Boolean", - "documentation":"

      A value that indicates whether to skip the creation of a final DB snapshot before deleting the instance. If you enable this parameter, RDS doesn't create a DB snapshot. If you don't enable this parameter, RDS creates a DB snapshot before the DB instance is deleted. By default, skip isn't enabled, and the DB snapshot is created.

      If you don't enable this parameter, you must specify the FinalDBSnapshotIdentifier parameter.

      When a DB instance is in a failure state and has a status of failed, incompatible-restore, or incompatible-network, RDS can delete the instance only if you enable this parameter.

      If you delete a read replica or an RDS Custom instance, you must enable this setting.

      This setting is required for RDS Custom.

      " + "documentation":"

      Specifies whether to skip the creation of a final DB snapshot before deleting the instance. If you enable this parameter, RDS doesn't create a DB snapshot. If you don't enable this parameter, RDS creates a DB snapshot before the DB instance is deleted. By default, skip isn't enabled, and the DB snapshot is created.

      If you don't enable this parameter, you must specify the FinalDBSnapshotIdentifier parameter.

      When a DB instance is in a failure state and has a status of failed, incompatible-restore, or incompatible-network, RDS can delete the instance only if you enable this parameter.

      If you delete a read replica or an RDS Custom instance, you must enable this setting.

      This setting is required for RDS Custom.

      " }, "FinalDBSnapshotIdentifier":{ "shape":"String", @@ -7879,7 +7883,7 @@ }, "DeleteAutomatedBackups":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether to remove automated backups immediately after the DB instance is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB instance is deleted.

      " + "documentation":"

      Specifies whether to remove automated backups immediately after the DB instance is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB instance is deleted.

      " } }, "documentation":"

      " @@ -8220,7 +8224,7 @@ }, "Source":{ "shape":"String", - "documentation":"

      A value that indicates to return only parameters for a specific source. Parameter sources can be engine, service, or customer.

      " + "documentation":"

      A specific source to return parameters for.

      Valid Values:

      • customer

      • engine

      • service

      " }, "Filters":{ "shape":"FilterList", @@ -8283,11 +8287,11 @@ }, "IncludeShared":{ "shape":"Boolean", - "documentation":"

      A value that indicates whether to include shared manual DB cluster snapshots from other Amazon Web Services accounts that this Amazon Web Services account has been given permission to copy or restore. By default, these snapshots are not included.

      You can give an Amazon Web Services account permission to restore a manual DB cluster snapshot from another Amazon Web Services account by the ModifyDBClusterSnapshotAttribute API action.

      " + "documentation":"

      Specifies whether to include shared manual DB cluster snapshots from other Amazon Web Services accounts that this Amazon Web Services account has been given permission to copy or restore. By default, these snapshots are not included.

      You can give an Amazon Web Services account permission to restore a manual DB cluster snapshot from another Amazon Web Services account by the ModifyDBClusterSnapshotAttribute API action.

      " }, "IncludePublic":{ "shape":"Boolean", - "documentation":"

      A value that indicates whether to include manual DB cluster snapshots that are public and can be copied or restored by any Amazon Web Services account. By default, the public snapshots are not included.

      You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute API action.

      " + "documentation":"

      Specifies whether to include manual DB cluster snapshots that are public and can be copied or restored by any Amazon Web Services account. By default, the public snapshots are not included.

      You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute API action.

      " }, "DbClusterResourceId":{ "shape":"String", @@ -8327,15 +8331,15 @@ "members":{ "Engine":{ "shape":"String", - "documentation":"

      The database engine to return.

      Valid Values:

      • aurora-mysql

      • aurora-postgresql

      • custom-oracle-ee

      • mariadb

      • mysql

      • oracle-ee

      • oracle-ee-cdb

      • oracle-se2

      • oracle-se2-cdb

      • postgres

      • sqlserver-ee

      • sqlserver-se

      • sqlserver-ex

      • sqlserver-web

      " + "documentation":"

      The database engine to return version details for.

      Valid Values:

      • aurora-mysql

      • aurora-postgresql

      • custom-oracle-ee

      • mariadb

      • mysql

      • oracle-ee

      • oracle-ee-cdb

      • oracle-se2

      • oracle-se2-cdb

      • postgres

      • sqlserver-ee

      • sqlserver-se

      • sqlserver-ex

      • sqlserver-web

      " }, "EngineVersion":{ "shape":"String", - "documentation":"

      The database engine version to return.

      Example: 5.1.49

      " + "documentation":"

      A specific database engine version to return details for.

      Example: 5.1.49

      " }, "DBParameterGroupFamily":{ "shape":"String", - "documentation":"

      The name of a specific DB parameter group family to return details for.

      Constraints:

      • If supplied, must match an existing DBParameterGroupFamily.

      " + "documentation":"

      The name of a specific DB parameter group family to return details for.

      Constraints:

      • If supplied, must match an existing DB parameter group family.

      " }, "Filters":{ "shape":"FilterList", @@ -8351,19 +8355,19 @@ }, "DefaultOnly":{ "shape":"Boolean", - "documentation":"

      A value that indicates whether only the default version of the specified engine or engine and major version combination is returned.

      " + "documentation":"

      Specifies whether to return only the default version of the specified engine or the engine and major version combination.

      " }, "ListSupportedCharacterSets":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether to list the supported character sets for each engine version.

      If this parameter is enabled and the requested engine supports the CharacterSetName parameter for CreateDBInstance, the response includes a list of supported character sets for each engine version.

      For RDS Custom, the default is not to list supported character sets. If you set ListSupportedCharacterSets to true, RDS Custom returns no results.

      " + "documentation":"

      Specifies whether to list the supported character sets for each engine version.

      If this parameter is enabled and the requested engine supports the CharacterSetName parameter for CreateDBInstance, the response includes a list of supported character sets for each engine version.

      For RDS Custom, the default is not to list supported character sets. If you enable this parameter, RDS Custom returns no results.

      " }, "ListSupportedTimezones":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether to list the supported time zones for each engine version.

      If this parameter is enabled and the requested engine supports the TimeZone parameter for CreateDBInstance, the response includes a list of supported time zones for each engine version.

      For RDS Custom, the default is not to list supported time zones. If you set ListSupportedTimezones to true, RDS Custom returns no results.

      " + "documentation":"

      Specifies whether to list the supported time zones for each engine version.

      If this parameter is enabled and the requested engine supports the TimeZone parameter for CreateDBInstance, the response includes a list of supported time zones for each engine version.

      For RDS Custom, the default is not to list supported time zones. If you enable this parameter, RDS Custom returns no results.

      " }, "IncludeAll":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether to include engine versions that aren't available in the list. The default is to list only available engine versions.

      " + "documentation":"

      Specifies whether to also list the engine versions that aren't available. The default is to list only available engine versions.

      " } } }, @@ -8759,11 +8763,11 @@ }, "IncludeShared":{ "shape":"Boolean", - "documentation":"

      A value that indicates whether to include shared manual DB cluster snapshots from other Amazon Web Services accounts that this Amazon Web Services account has been given permission to copy or restore. By default, these snapshots are not included.

      You can give an Amazon Web Services account permission to restore a manual DB snapshot from another Amazon Web Services account by using the ModifyDBSnapshotAttribute API action.

      This setting doesn't apply to RDS Custom.

      " + "documentation":"

      Specifies whether to include shared manual DB cluster snapshots from other Amazon Web Services accounts that this Amazon Web Services account has been given permission to copy or restore. By default, these snapshots are not included.

      You can give an Amazon Web Services account permission to restore a manual DB snapshot from another Amazon Web Services account by using the ModifyDBSnapshotAttribute API action.

      This setting doesn't apply to RDS Custom.

      " }, "IncludePublic":{ "shape":"Boolean", - "documentation":"

      A value that indicates whether to include manual DB cluster snapshots that are public and can be copied or restored by any Amazon Web Services account. By default, the public snapshots are not included.

      You can share a manual DB snapshot as public by using the ModifyDBSnapshotAttribute API.

      This setting doesn't apply to RDS Custom.

      " + "documentation":"

      Specifies whether to include manual DB cluster snapshots that are public and can be copied or restored by any Amazon Web Services account. By default, the public snapshots are not included.

      You can share a manual DB snapshot as public by using the ModifyDBSnapshotAttribute API.

      This setting doesn't apply to RDS Custom.

      " }, "DbiResourceId":{ "shape":"String", @@ -8857,7 +8861,7 @@ "members":{ "SourceType":{ "shape":"String", - "documentation":"

      The type of source that is generating the events. For RDS Proxy events, specify db-proxy.

      Valid values: db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot | db-proxy

      " + "documentation":"

      The type of source that is generating the events. For RDS Proxy events, specify db-proxy.

      Valid Values: db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot | db-proxy

      " }, "Filters":{ "shape":"FilterList", @@ -9063,7 +9067,7 @@ }, "Vpc":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether to show only VPC or non-VPC offerings. RDS Custom supports only VPC offerings.

      RDS Custom supports only VPC offerings. If you describe non-VPC offerings for RDS Custom, the output shows VPC offerings.

      " + "documentation":"

      Specifies whether to show only VPC or non-VPC offerings. RDS Custom supports only VPC offerings.

      RDS Custom supports only VPC offerings. If you describe non-VPC offerings for RDS Custom, the output shows VPC offerings.

      " }, "Filters":{ "shape":"FilterList", @@ -9131,7 +9135,7 @@ }, "MultiAZ":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether to show only those reservations that support Multi-AZ.

      " + "documentation":"

      Specifies whether to show only those reservations that support Multi-AZ.

      " }, "LeaseId":{ "shape":"String", @@ -9177,7 +9181,7 @@ }, "MultiAZ":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether to show only those reservations that support Multi-AZ.

      " + "documentation":"

      Specifies whether to show only those reservations that support Multi-AZ.

      " }, "Filters":{ "shape":"FilterList", @@ -9328,7 +9332,7 @@ }, "AdditionalDataPending":{ "shape":"Boolean", - "documentation":"

      Boolean value that if true, indicates there is more data to be downloaded.

      " + "documentation":"

      A Boolean value that, if true, indicates there is more data to be downloaded.

      " } }, "documentation":"

      This data type is used as a response element to DownloadDBLogFilePortion.

      " @@ -9639,23 +9643,23 @@ }, "ExportOnly":{ "shape":"StringList", - "documentation":"

      The data exported from the snapshot or cluster. Valid values are the following:

      • database - Export all the data from a specified database.

      • database.table table-name - Export a table of the snapshot or cluster. This format is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.

      • database.schema schema-name - Export a database schema of the snapshot or cluster. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.

      • database.schema.table table-name - Export a table of the database schema. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.

      " + "documentation":"

      The data exported from the snapshot or cluster.

      Valid Values:

      • database - Export all the data from a specified database.

      • database.table table-name - Export a table of the snapshot or cluster. This format is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.

      • database.schema schema-name - Export a database schema of the snapshot or cluster. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.

      • database.schema.table table-name - Export a table of the database schema. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.

      " }, "SnapshotTime":{ "shape":"TStamp", - "documentation":"

      The time that the snapshot was created.

      " + "documentation":"

      The time when the snapshot was created.

      " }, "TaskStartTime":{ "shape":"TStamp", - "documentation":"

      The time that the snapshot or cluster export task started.

      " + "documentation":"

      The time when the snapshot or cluster export task started.

      " }, "TaskEndTime":{ "shape":"TStamp", - "documentation":"

      The time that the snapshot or cluster export task ended.

      " + "documentation":"

      The time when the snapshot or cluster export task ended.

      " }, "S3Bucket":{ "shape":"String", - "documentation":"

      The Amazon S3 bucket that the snapshot or cluster is exported to.

      " + "documentation":"

      The Amazon S3 bucket where the snapshot or cluster is exported to.

      " }, "S3Prefix":{ "shape":"String", @@ -9694,7 +9698,7 @@ "documentation":"

      The type of source for the export.

      " } }, - "documentation":"

      Contains the details of a snapshot or cluster export to Amazon S3.

      This data type is used as a response element in the DescribeExportTasks action.

      " + "documentation":"

      Contains the details of a snapshot or cluster export to Amazon S3.

      This data type is used as a response element in the DescribeExportTasks operation.

      " }, "ExportTaskAlreadyExistsFault":{ "type":"structure", @@ -9746,7 +9750,7 @@ "members":{ "DBClusterIdentifier":{ "shape":"String", - "documentation":"

      A DB cluster identifier to force a failover for. This parameter isn't case-sensitive.

      Constraints:

      • Must match the identifier of an existing DBCluster.

      " + "documentation":"

      The identifier of the DB cluster to force a failover for. This parameter isn't case-sensitive.

      Constraints:

      • Must match the identifier of an existing DB cluster.

      " }, "TargetDBInstanceIdentifier":{ "shape":"String", @@ -9948,11 +9952,11 @@ }, "IsWriter":{ "shape":"Boolean", - "documentation":"

      Specifies whether the Aurora DB cluster is the primary cluster (that is, has read-write capability) for the global cluster with which it is associated.

      " + "documentation":"

      Indicates whether the Aurora DB cluster is the primary cluster (that is, has read-write capability) for the global cluster with which it is associated.

      " }, "GlobalWriteForwardingStatus":{ "shape":"WriteForwardingStatus", - "documentation":"

      Specifies whether a secondary cluster in the global cluster has write forwarding enabled, not enabled, or is in the process of enabling it.

      " + "documentation":"

      The status of write forwarding for a secondary cluster in the global cluster.

      " }, "SynchronizationStatus":{ "shape":"GlobalClusterMemberSynchronizationStatus", @@ -10026,11 +10030,11 @@ "members":{ "Status":{ "shape":"String", - "documentation":"

      Specifies the status of the IP range. Status can be \"authorizing\", \"authorized\", \"revoking\", and \"revoked\".

      " + "documentation":"

      The status of the IP range. Status can be \"authorizing\", \"authorized\", \"revoking\", and \"revoked\".

      " }, "CIDRIP":{ "shape":"String", - "documentation":"

      Specifies the IP range.

      " + "documentation":"

      The IP range.

      " } }, "documentation":"

      This data type is used as a response element in the DescribeDBSecurityGroups action.

      " @@ -10600,7 +10604,7 @@ }, "RemoveCustomerOverride":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether to remove the override for the default certificate. If the override is removed, the default certificate is the system default.

      " + "documentation":"

      Specifies whether to remove the override for the default certificate. If the override is removed, the default certificate is the system default.

      " } } }, @@ -10745,7 +10749,7 @@ }, "AllowMajorVersionUpgrade":{ "shape":"Boolean", - "documentation":"

      Specifies whether major version upgrades are allowed.

      Valid for Cluster Type: Aurora DB clusters only

      Constraints:

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

      " + "documentation":"

      Specifies whether major version upgrades are allowed.

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

      Constraints:

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

      " }, "DBInstanceParameterGroupName":{ "shape":"String", @@ -10925,7 +10929,7 @@ }, "DBInstanceClass":{ "shape":"String", - "documentation":"

      The new compute and memory capacity of the DB instance, for example db.m4.large. Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide or Aurora DB instance classes in the Amazon Aurora User Guide. For RDS Custom, see DB instance class support for RDS Custom for Oracle and DB instance class support for RDS Custom for SQL Server.

      If you modify the DB instance class, an outage occurs during the change. The change is applied during the next maintenance window, unless you specify ApplyImmediately in your request.

      Default: Uses existing setting

      " + "documentation":"

      The new compute and memory capacity of the DB instance, for example db.m4.large. Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide or Aurora DB instance classes in the Amazon Aurora User Guide. For RDS Custom, see DB instance class support for RDS Custom for Oracle and DB instance class support for RDS Custom for SQL Server.

      If you modify the DB instance class, an outage occurs during the change. The change is applied during the next maintenance window, unless you specify ApplyImmediately in your request.

      Default: Uses existing setting

      Constraints:

      • If you are modifying the DB instance class and upgrading the engine version at the same time, the currently running engine version must be supported on the specified DB instance class. Otherwise, the operation returns an error. In this case, first run the operation to modify the DB instance class, and then run it again to upgrade the engine version.

      " }, "DBSubnetGroupName":{ "shape":"String", @@ -10969,7 +10973,7 @@ }, "EngineVersion":{ "shape":"String", - "documentation":"

      The version number of the database engine to upgrade to. Changing this parameter results in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is enabled for this request.

      For major version upgrades, if a nondefault DB parameter group is currently in use, a new DB parameter group in the DB parameter group family for the new engine version must be specified. The new DB parameter group can be the default for that DB parameter group family.

      If you specify only a major version, Amazon RDS updates the DB instance to the default minor version if the current minor version is lower. For information about valid engine versions, see CreateDBInstance, or call DescribeDBEngineVersions.

      If the instance that you're modifying is acting as a read replica, the engine version that you specify must be the same or higher than the version that the source DB instance or cluster is running.

      In RDS Custom for Oracle, this parameter is supported for read replicas only if they are in the PATCH_DB_FAILURE lifecycle.

      " + "documentation":"

      The version number of the database engine to upgrade to. Changing this parameter results in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is enabled for this request.

      For major version upgrades, if a nondefault DB parameter group is currently in use, a new DB parameter group in the DB parameter group family for the new engine version must be specified. The new DB parameter group can be the default for that DB parameter group family.

      If you specify only a major version, Amazon RDS updates the DB instance to the default minor version if the current minor version is lower. For information about valid engine versions, see CreateDBInstance, or call DescribeDBEngineVersions.

      If the instance that you're modifying is acting as a read replica, the engine version that you specify must be the same or higher than the version that the source DB instance or cluster is running.

      In RDS Custom for Oracle, this parameter is supported for read replicas only if they are in the PATCH_DB_FAILURE lifecycle.

      Constraints:

      • If you are upgrading the engine version and modifying the DB instance class at the same time, the currently running engine version must be supported on the specified DB instance class. Otherwise, the operation returns an error. In this case, first run the operation to modify the DB instance class, and then run it again to upgrade the engine version.

      " }, "AllowMajorVersionUpgrade":{ "shape":"Boolean", @@ -11380,7 +11384,7 @@ }, "SourceType":{ "shape":"String", - "documentation":"

      The type of source that is generating the events. For example, if you want to be notified of events generated by a DB instance, you would set this parameter to db-instance. For RDS Proxy events, specify db-proxy. If this value isn't specified, all events are returned.

      Valid values: db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot | db-proxy

      " + "documentation":"

      The type of source that is generating the events. For example, if you want to be notified of events generated by a DB instance, you would set this parameter to db-instance. For RDS Proxy events, specify db-proxy. If this value isn't specified, all events are returned.

      Valid Values: db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot | db-proxy

      " }, "EventCategories":{ "shape":"EventCategoriesList", @@ -11388,7 +11392,7 @@ }, "Enabled":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether to activate the subscription.

      " + "documentation":"

      Specifies whether to activate the subscription.

      " } }, "documentation":"

      " @@ -11448,7 +11452,7 @@ }, "ApplyImmediately":{ "shape":"Boolean", - "documentation":"

      A value that indicates whether to apply the change immediately or during the next maintenance window for each instance associated with the option group.

      " + "documentation":"

      Specifies whether to apply the change immediately or during the next maintenance window for each instance associated with the option group.

      " } }, "documentation":"

      " @@ -11484,11 +11488,11 @@ }, "Persistent":{ "shape":"Boolean", - "documentation":"

      Indicate if this option is persistent.

      " + "documentation":"

      Indicates whether this option is persistent.

      " }, "Permanent":{ "shape":"Boolean", - "documentation":"

      Indicate if this option is permanent.

      " + "documentation":"

      Indicates whether this option is permanent.

      " }, "Port":{ "shape":"IntegerOptional", @@ -11511,7 +11515,7 @@ "documentation":"

      If the option requires access to a port, then this VPC security group allows access to the port.

      " } }, - "documentation":"

      Option details.

      " + "documentation":"

      The details of an option.

      " }, "OptionConfiguration":{ "type":"structure", @@ -11672,7 +11676,7 @@ }, "PortRequired":{ "shape":"Boolean", - "documentation":"

      Specifies whether the option requires a port.

      " + "documentation":"

      Indicates whether the option requires a port.

      " }, "DefaultPort":{ "shape":"IntegerOptional", @@ -11716,7 +11720,7 @@ }, "CopyableCrossAccount":{ "shape":"BooleanOptional", - "documentation":"

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

      " + "documentation":"

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

      " } }, "documentation":"

      Available option.

      " @@ -11746,11 +11750,11 @@ }, "IsModifiable":{ "shape":"Boolean", - "documentation":"

      Boolean value where true indicates that this option group option can be changed from the default value.

      " + "documentation":"

      Indicates whether this option group option can be changed from the default value.

      " }, "IsRequired":{ "shape":"Boolean", - "documentation":"

      Boolean value where true indicates that a value must be specified for this option setting of the option group option.

      " + "documentation":"

      Indicates whether a value must be specified for this option setting of the option group option.

      " }, "MinimumEngineVersionPerAllowedValue":{ "shape":"MinimumEngineVersionPerAllowedValueList", @@ -11862,11 +11866,11 @@ }, "IsModifiable":{ "shape":"Boolean", - "documentation":"

      A Boolean value that, when true, indicates the option setting can be modified from the default.

      " + "documentation":"

      Indicates whether the option setting can be modified from the default.

      " }, "IsCollection":{ "shape":"Boolean", - "documentation":"

      Indicates if the option setting is part of a collection.

      " + "documentation":"

      Indicates whether the option setting is part of a collection.

      " } }, "documentation":"

      Option settings are the actual settings being applied or configured for that option. It is used when you modify an option group or describe option groups. For example, the NATIVE_NETWORK_ENCRYPTION option has a setting called SQLNET.ENCRYPTION_SERVER that can have several different values.

      " @@ -11894,7 +11898,7 @@ }, "IsDefault":{ "shape":"Boolean", - "documentation":"

      True if the version is the default version of the option, and otherwise false.

      " + "documentation":"

      Indicates whether the version is the default version of the option.

      " } }, "documentation":"

      The version for an option. Option group option versions are returned by the DescribeOptionGroupOptions action.

      " @@ -11965,7 +11969,7 @@ }, "StorageType":{ "shape":"String", - "documentation":"

      Indicates the storage type for a DB instance.

      " + "documentation":"

      The storage type for a DB instance.

      " }, "SupportsIops":{ "shape":"Boolean", @@ -11981,7 +11985,7 @@ }, "SupportsPerformanceInsights":{ "shape":"Boolean", - "documentation":"

      True if a DB instance supports Performance Insights, otherwise false.

      " + "documentation":"

      Indicates whether a DB instance supports Performance Insights.

      " }, "MinStorageSize":{ "shape":"IntegerOptional", @@ -12017,15 +12021,15 @@ }, "SupportsStorageAutoscaling":{ "shape":"BooleanOptional", - "documentation":"

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

      " + "documentation":"

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

      " }, "SupportsKerberosAuthentication":{ "shape":"BooleanOptional", - "documentation":"

      Whether a DB instance supports Kerberos Authentication.

      " + "documentation":"

      Indicates whether a DB instance supports Kerberos Authentication.

      " }, "OutpostCapable":{ "shape":"Boolean", - "documentation":"

      Whether a DB instance supports RDS on Outposts.

      For more information about RDS on Outposts, see Amazon RDS on Amazon Web Services Outposts in the Amazon RDS User Guide.

      " + "documentation":"

      Indicates whether a DB instance supports RDS on Outposts.

      For more information about RDS on Outposts, see Amazon RDS on Amazon Web Services Outposts in the Amazon RDS User Guide.

      " }, "SupportedActivityStreamModes":{ "shape":"ActivityStreamModeList", @@ -12033,11 +12037,11 @@ }, "SupportsGlobalDatabases":{ "shape":"Boolean", - "documentation":"

      A value that indicates whether you can use Aurora global databases with a specific combination of other DB engine attributes.

      " + "documentation":"

      Indicates whether you can use Aurora global databases with a specific combination of other DB engine attributes.

      " }, "SupportsClusters":{ "shape":"Boolean", - "documentation":"

      Whether DB instances can be configured as a Multi-AZ DB cluster.

      For more information on Multi-AZ DB clusters, see Multi-AZ deployments with two readable standby DB instances in the Amazon RDS User Guide.

      " + "documentation":"

      Indicates whether DB instances can be configured as a Multi-AZ DB cluster.

      For more information on Multi-AZ DB clusters, see Multi-AZ deployments with two readable standby DB instances in the Amazon RDS User Guide.

      " }, "SupportedNetworkTypes":{ "shape":"StringList", @@ -12103,11 +12107,11 @@ "members":{ "ParameterName":{ "shape":"String", - "documentation":"

      Specifies the name of the parameter.

      " + "documentation":"

      The name of the parameter.

      " }, "ParameterValue":{ "shape":"String", - "documentation":"

      Specifies the value of the parameter.

      " + "documentation":"

      The value of the parameter.

      " }, "Description":{ "shape":"String", @@ -12115,7 +12119,7 @@ }, "Source":{ "shape":"String", - "documentation":"

      Indicates the source of the parameter value.

      " + "documentation":"

      The source of the parameter value.

      " }, "ApplyType":{ "shape":"String", @@ -12252,7 +12256,7 @@ }, "MultiAZ":{ "shape":"BooleanOptional", - "documentation":"

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

      " + "documentation":"

      Indicates whether the Single-AZ DB instance will change to a Multi-AZ deployment.

      " }, "EngineVersion":{ "shape":"String", @@ -12289,7 +12293,7 @@ }, "IAMDatabaseAuthenticationEnabled":{ "shape":"BooleanOptional", - "documentation":"

      Whether mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts is enabled.

      " + "documentation":"

      Indicates whether mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts is enabled.

      " }, "AutomationMode":{ "shape":"AutomationMode", @@ -12499,7 +12503,7 @@ }, "ForceFailover":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether the reboot is conducted through a Multi-AZ failover.

      Constraint: You can't enable force failover if the instance isn't configured for Multi-AZ.

      " + "documentation":"

      Specifies whether the reboot is conducted through a Multi-AZ failover.

      Constraint: You can't enable force failover if the instance isn't configured for Multi-AZ.

      " } }, "documentation":"

      " @@ -12723,7 +12727,7 @@ }, "MultiAZ":{ "shape":"Boolean", - "documentation":"

      Indicates if the reservation applies to Multi-AZ deployments.

      " + "documentation":"

      Indicates whether the reservation applies to Multi-AZ deployments.

      " }, "State":{ "shape":"String", @@ -12839,7 +12843,7 @@ }, "MultiAZ":{ "shape":"Boolean", - "documentation":"

      Indicates if the offering applies to Multi-AZ deployments.

      " + "documentation":"

      Indicates whether the offering applies to Multi-AZ deployments.

      " }, "RecurringCharges":{ "shape":"RecurringChargeList", @@ -12892,7 +12896,7 @@ }, "ResetAllParameters":{ "shape":"Boolean", - "documentation":"

      A value that indicates whether to reset all parameters in the DB cluster parameter group to their default values. You can't use this parameter if there is a list of parameter names specified for the Parameters parameter.

      " + "documentation":"

      Specifies whether to reset all parameters in the DB cluster parameter group to their default values. You can't use this parameter if there is a list of parameter names specified for the Parameters parameter.

      " }, "Parameters":{ "shape":"ParametersList", @@ -12911,7 +12915,7 @@ }, "ResetAllParameters":{ "shape":"Boolean", - "documentation":"

      A value that indicates whether to reset all parameters in the DB parameter group to default values. By default, all parameters in the DB parameter group are reset to default values.

      " + "documentation":"

      Specifies whether to reset all parameters in the DB parameter group to default values. By default, all parameters in the DB parameter group are reset to default values.

      " }, "Parameters":{ "shape":"ParametersList", @@ -13026,7 +13030,7 @@ "Tags":{"shape":"TagList"}, "StorageEncrypted":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether the restored DB cluster is encrypted.

      " + "documentation":"

      Specifies whether the restored DB cluster is encrypted.

      " }, "KmsKeyId":{ "shape":"String", @@ -13034,11 +13038,11 @@ }, "EnableIAMDatabaseAuthentication":{ "shape":"BooleanOptional", - "documentation":"

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

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

      " + "documentation":"

      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.

      " }, "SourceEngine":{ "shape":"String", - "documentation":"

      The identifier for the database engine that was backed up to create the files stored in the Amazon S3 bucket.

      Valid values: mysql

      " + "documentation":"

      The identifier for the database engine that was backed up to create the files stored in the Amazon S3 bucket.

      Valid Values: mysql

      " }, "SourceEngineVersion":{ "shape":"String", @@ -13066,11 +13070,11 @@ }, "DeletionProtection":{ "shape":"BooleanOptional", - "documentation":"

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

      " + "documentation":"

      Specifies whether to enable deletion protection for the DB cluster. The database can't be deleted when deletion protection is enabled. By default, deletion protection isn't enabled.

      " }, "CopyTagsToSnapshot":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether to copy all tags from the restored DB cluster to snapshots of the restored DB cluster. The default is not to copy them.

      " + "documentation":"

      Specifies whether to copy all tags from the restored DB cluster to snapshots of the restored DB cluster. The default is not to copy them.

      " }, "Domain":{ "shape":"String", @@ -13083,11 +13087,11 @@ "ServerlessV2ScalingConfiguration":{"shape":"ServerlessV2ScalingConfiguration"}, "NetworkType":{ "shape":"String", - "documentation":"

      The network type of the DB cluster.

      Valid values:

      • IPV4

      • DUAL

      The network type is determined by the DBSubnetGroup specified for the DB cluster. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL).

      For more information, see Working with a DB instance in a VPC in the Amazon Aurora User Guide.

      " + "documentation":"

      The network type of the DB cluster.

      Valid Values:

      • IPV4

      • DUAL

      The network type is determined by the DBSubnetGroup specified for the DB cluster. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL).

      For more information, see Working with a DB instance in a VPC in the Amazon Aurora User Guide.

      " }, "ManageMasterUserPassword":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether to manage the master user password with Amazon Web Services Secrets Manager.

      For more information, see Password management with Amazon Web Services Secrets Manager in the Amazon RDS User Guide and Password management with Amazon Web Services Secrets Manager in the Amazon Aurora User Guide.

      Constraints:

      • Can't manage the master user password with Amazon Web Services Secrets Manager if MasterUserPassword is specified.

      " + "documentation":"

      Specifies whether to manage the master user password with Amazon Web Services Secrets Manager.

      For more information, see Password management with Amazon Web Services Secrets Manager in the Amazon RDS User Guide and Password management with Amazon Web Services Secrets Manager in the Amazon Aurora User Guide.

      Constraints:

      • Can't manage the master user password with Amazon Web Services Secrets Manager if MasterUserPassword is specified.

      " }, "MasterUserSecretKmsKeyId":{ "shape":"String", @@ -13095,7 +13099,7 @@ }, "StorageType":{ "shape":"String", - "documentation":"

      Specifies the storage type to be associated with the DB cluster.

      Valid values: aurora, aurora-iopt1

      Default: aurora

      Valid for: Aurora DB clusters only

      " + "documentation":"

      Specifies the storage type to be associated with the DB cluster.

      Valid Values: aurora, aurora-iopt1

      Default: aurora

      Valid for: Aurora DB clusters only

      " } } }, @@ -13163,7 +13167,7 @@ }, "EnableIAMDatabaseAuthentication":{ "shape":"BooleanOptional", - "documentation":"

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

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

      Valid for: Aurora DB clusters only

      " + "documentation":"

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

      " }, "BacktrackWindow":{ "shape":"LongOptional", @@ -13187,19 +13191,19 @@ }, "DeletionProtection":{ "shape":"BooleanOptional", - "documentation":"

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

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

      " + "documentation":"

      Specifies whether to enable deletion protection for the DB cluster. The database can't be deleted when deletion protection is enabled. By default, deletion protection isn't enabled.

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

      " }, "CopyTagsToSnapshot":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether to copy all tags from the restored DB cluster to snapshots of the restored DB cluster. The default is not to copy them.

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

      " + "documentation":"

      Specifies whether to copy all tags from the restored DB cluster to snapshots of the restored DB cluster. The default is not to copy them.

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

      " }, "Domain":{ "shape":"String", - "documentation":"

      Specify the Active Directory directory ID to restore the DB cluster in. The domain must be created prior to this operation. Currently, only MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

      For more information, see Kerberos Authentication in the Amazon RDS User Guide.

      Valid for: Aurora DB clusters only

      " + "documentation":"

      The Active Directory directory ID to restore the DB cluster in. The domain must be created prior to this operation. Currently, only MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

      For more information, see Kerberos Authentication in the Amazon RDS User Guide.

      Valid for: Aurora DB clusters only

      " }, "DomainIAMRoleName":{ "shape":"String", - "documentation":"

      Specify the name of the IAM role to be used when making API calls to the Directory Service.

      Valid for: Aurora DB clusters only

      " + "documentation":"

      The name of the IAM role to be used when making API calls to the Directory Service.

      Valid for: Aurora DB clusters only

      " }, "DBClusterInstanceClass":{ "shape":"String", @@ -13207,7 +13211,7 @@ }, "StorageType":{ "shape":"String", - "documentation":"

      Specifies the storage type to be associated with the DB cluster.

      When specified for a Multi-AZ DB cluster, a value for the Iops parameter is required.

      Valid values: aurora, aurora-iopt1 (Aurora DB clusters); io1 (Multi-AZ DB clusters)

      Default: aurora (Aurora DB clusters); io1 (Multi-AZ DB clusters)

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

      " + "documentation":"

      Specifies the storage type to be associated with the DB cluster.

      When specified for a Multi-AZ DB cluster, a value for the Iops parameter is required.

      Valid Values: aurora, aurora-iopt1 (Aurora DB clusters); io1 (Multi-AZ DB clusters)

      Default: aurora (Aurora DB clusters); io1 (Multi-AZ DB clusters)

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

      " }, "Iops":{ "shape":"IntegerOptional", @@ -13215,12 +13219,12 @@ }, "PubliclyAccessible":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether the DB cluster is publicly accessible.

      When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB cluster doesn't permit it.

      When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.

      Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

      If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified, the following applies:

      • If the default VPC in the target Region doesn’t have an internet gateway attached to it, the DB cluster is private.

      • If the default VPC in the target Region has an internet gateway attached to it, the DB cluster is public.

      If DBSubnetGroupName is specified, and PubliclyAccessible isn't specified, the following applies:

      • If the subnets are part of a VPC that doesn’t have an internet gateway attached to it, the DB cluster is private.

      • If the subnets are part of a VPC that has an internet gateway attached to it, the DB cluster is public.

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

      " + "documentation":"

      Specifies whether the DB cluster is publicly accessible.

      When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB cluster doesn't permit it.

      When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.

      Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

      If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified, the following applies:

      • If the default VPC in the target Region doesn’t have an internet gateway attached to it, the DB cluster is private.

      • If the default VPC in the target Region has an internet gateway attached to it, the DB cluster is public.

      If DBSubnetGroupName is specified, and PubliclyAccessible isn't specified, the following applies:

      • If the subnets are part of a VPC that doesn’t have an internet gateway attached to it, the DB cluster is private.

      • If the subnets are part of a VPC that has an internet gateway attached to it, the DB cluster is public.

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

      " }, "ServerlessV2ScalingConfiguration":{"shape":"ServerlessV2ScalingConfiguration"}, "NetworkType":{ "shape":"String", - "documentation":"

      The network type of the DB cluster.

      Valid values:

      • IPV4

      • DUAL

      The network type is determined by the DBSubnetGroup specified for the DB cluster. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL).

      For more information, see Working with a DB instance in a VPC in the Amazon Aurora User Guide.

      Valid for: Aurora DB clusters only

      " + "documentation":"

      The network type of the DB cluster.

      Valid Values:

      • IPV4

      • DUAL

      The network type is determined by the DBSubnetGroup specified for the DB cluster. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL).

      For more information, see Working with a DB instance in a VPC in the Amazon Aurora User Guide.

      Valid for: Aurora DB clusters only

      " } }, "documentation":"

      " @@ -13253,7 +13257,7 @@ }, "UseLatestRestorableTime":{ "shape":"Boolean", - "documentation":"

      A value that indicates whether to restore the DB cluster to the latest restorable backup time. By default, the DB cluster isn't restored to the latest restorable backup time.

      Constraints: Can't be specified if RestoreToTime parameter is provided.

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

      " + "documentation":"

      Specifies whether to restore the DB cluster to the latest restorable backup time. By default, the DB cluster isn't restored to the latest restorable backup time.

      Constraints: Can't be specified if RestoreToTime parameter is provided.

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

      " }, "Port":{ "shape":"IntegerOptional", @@ -13278,7 +13282,7 @@ }, "EnableIAMDatabaseAuthentication":{ "shape":"BooleanOptional", - "documentation":"

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

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

      Valid for: Aurora DB clusters only

      " + "documentation":"

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

      " }, "BacktrackWindow":{ "shape":"LongOptional", @@ -13290,23 +13294,23 @@ }, "DBClusterParameterGroupName":{ "shape":"String", - "documentation":"

      The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, the default DB cluster parameter group for the specified engine is used.

      Constraints:

      • If supplied, must match the name of an existing DB cluster parameter group.

      • Must be 1 to 255 letters, numbers, or hyphens.

      • First character must be a letter.

      • Can't end with a hyphen or contain two consecutive hyphens.

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

      " + "documentation":"

      The name of the custom DB cluster parameter group to associate with this DB cluster.

      If the DBClusterParameterGroupName parameter is omitted, the default DB cluster parameter group for the specified engine is used.

      Constraints:

      • If supplied, must match the name of an existing DB cluster parameter group.

      • Must be 1 to 255 letters, numbers, or hyphens.

      • First character must be a letter.

      • Can't end with a hyphen or contain two consecutive hyphens.

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

      " }, "DeletionProtection":{ "shape":"BooleanOptional", - "documentation":"

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

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

      " + "documentation":"

      Specifies whether to enable deletion protection for the DB cluster. The database can't be deleted when deletion protection is enabled. By default, deletion protection isn't enabled.

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

      " }, "CopyTagsToSnapshot":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether to copy all tags from the restored DB cluster to snapshots of the restored DB cluster. The default is not to copy them.

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

      " + "documentation":"

      Specifies whether to copy all tags from the restored DB cluster to snapshots of the restored DB cluster. The default is not to copy them.

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

      " }, "Domain":{ "shape":"String", - "documentation":"

      Specify the Active Directory directory ID to restore the DB cluster in. The domain must be created prior to this operation.

      For Amazon Aurora DB clusters, Amazon RDS can use Kerberos Authentication to authenticate users that connect to the DB cluster. For more information, see Kerberos Authentication in the Amazon Aurora User Guide.

      Valid for: Aurora DB clusters only

      " + "documentation":"

      The Active Directory directory ID to restore the DB cluster in. The domain must be created prior to this operation.

      For Amazon Aurora DB clusters, Amazon RDS can use Kerberos Authentication to authenticate users that connect to the DB cluster. For more information, see Kerberos Authentication in the Amazon Aurora User Guide.

      Valid for: Aurora DB clusters only

      " }, "DomainIAMRoleName":{ "shape":"String", - "documentation":"

      Specify the name of the IAM role to be used when making API calls to the Directory Service.

      Valid for: Aurora DB clusters only

      " + "documentation":"

      The name of the IAM role to be used when making API calls to the Directory Service.

      Valid for: Aurora DB clusters only

      " }, "ScalingConfiguration":{ "shape":"ScalingConfiguration", @@ -13318,15 +13322,15 @@ }, "DBClusterInstanceClass":{ "shape":"String", - "documentation":"

      The compute and memory capacity of the each DB instance in the Multi-AZ DB cluster, for example db.m6gd.xlarge. Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines.

      For the full list of DB instance classes, and availability for your engine, see DB instance class in the Amazon RDS User Guide.

      Valid for: Multi-AZ DB clusters only

      " + "documentation":"

      The compute and memory capacity of the each DB instance in the Multi-AZ DB cluster, for example db.m6gd.xlarge. Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines.

      For the full list of DB instance classes, and availability for your engine, see DB instance class in the Amazon RDS User Guide.

      Valid for: Multi-AZ DB clusters only

      " }, "StorageType":{ "shape":"String", - "documentation":"

      Specifies the storage type to be associated with the DB cluster.

      When specified for a Multi-AZ DB cluster, a value for the Iops parameter is required.

      Valid values: aurora, aurora-iopt1 (Aurora DB clusters); io1 (Multi-AZ DB clusters)

      Default: aurora (Aurora DB clusters); io1 (Multi-AZ DB clusters)

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

      " + "documentation":"

      Specifies the storage type to be associated with the DB cluster.

      When specified for a Multi-AZ DB cluster, a value for the Iops parameter is required.

      Valid Values: aurora, aurora-iopt1 (Aurora DB clusters); io1 (Multi-AZ DB clusters)

      Default: aurora (Aurora DB clusters); io1 (Multi-AZ DB clusters)

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

      " }, "PubliclyAccessible":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether the DB cluster is publicly accessible.

      When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB cluster doesn't permit it.

      When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.

      Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

      If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified, the following applies:

      • If the default VPC in the target Region doesn’t have an internet gateway attached to it, the DB cluster is private.

      • If the default VPC in the target Region has an internet gateway attached to it, the DB cluster is public.

      If DBSubnetGroupName is specified, and PubliclyAccessible isn't specified, the following applies:

      • If the subnets are part of a VPC that doesn’t have an internet gateway attached to it, the DB cluster is private.

      • If the subnets are part of a VPC that has an internet gateway attached to it, the DB cluster is public.

      Valid for: Multi-AZ DB clusters only

      " + "documentation":"

      Specifies whether the DB cluster is publicly accessible.

      When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB cluster doesn't permit it.

      When the DB cluster isn't publicly accessible, it is an internal DB cluster with a DNS name that resolves to a private IP address.

      Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

      If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified, the following applies:

      • If the default VPC in the target Region doesn’t have an internet gateway attached to it, the DB cluster is private.

      • If the default VPC in the target Region has an internet gateway attached to it, the DB cluster is public.

      If DBSubnetGroupName is specified, and PubliclyAccessible isn't specified, the following applies:

      • If the subnets are part of a VPC that doesn’t have an internet gateway attached to it, the DB cluster is private.

      • If the subnets are part of a VPC that has an internet gateway attached to it, the DB cluster is public.

      Valid for: Multi-AZ DB clusters only

      " }, "Iops":{ "shape":"IntegerOptional", @@ -13335,7 +13339,7 @@ "ServerlessV2ScalingConfiguration":{"shape":"ServerlessV2ScalingConfiguration"}, "NetworkType":{ "shape":"String", - "documentation":"

      The network type of the DB cluster.

      Valid values:

      • IPV4

      • DUAL

      The network type is determined by the DBSubnetGroup specified for the DB cluster. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL).

      For more information, see Working with a DB instance in a VPC in the Amazon Aurora User Guide.

      Valid for: Aurora DB clusters only

      " + "documentation":"

      The network type of the DB cluster.

      Valid Values:

      • IPV4

      • DUAL

      The network type is determined by the DBSubnetGroup specified for the DB cluster. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL).

      For more information, see Working with a DB instance in a VPC in the Amazon Aurora User Guide.

      Valid for: Aurora DB clusters only

      " }, "SourceDbClusterResourceId":{ "shape":"String", @@ -13380,19 +13384,19 @@ }, "MultiAZ":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether the DB instance is a Multi-AZ deployment.

      This setting doesn't apply to RDS Custom.

      Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

      " + "documentation":"

      Specifies whether the DB instance is a Multi-AZ deployment.

      This setting doesn't apply to RDS Custom.

      Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

      " }, "PubliclyAccessible":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether the DB instance is publicly accessible.

      When the DB instance is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB instance's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB instance's VPC. Access to the DB instance is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB instance doesn't permit it.

      When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

      For more information, see CreateDBInstance.

      " + "documentation":"

      Specifies whether the DB instance is publicly accessible.

      When the DB instance is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB instance's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB instance's VPC. Access to the DB instance is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB instance doesn't permit it.

      When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

      For more information, see CreateDBInstance.

      " }, "AutoMinorVersionUpgrade":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether minor version upgrades are applied automatically to the DB instance during the maintenance window.

      If you restore an RDS Custom DB instance, you must disable this parameter.

      " + "documentation":"

      Specifies whether to automatically apply minor version upgrades to the DB instance during the maintenance window.

      If you restore an RDS Custom DB instance, you must disable this parameter.

      " }, "LicenseModel":{ "shape":"String", - "documentation":"

      License model information for the restored DB instance.

      This setting doesn't apply to RDS Custom.

      Default: Same as source.

      Valid values: license-included | bring-your-own-license | general-public-license

      " + "documentation":"

      License model information for the restored DB instance.

      This setting doesn't apply to RDS Custom.

      Default: Same as source.

      Valid Values: license-included | bring-your-own-license | general-public-license

      " }, "DBName":{ "shape":"String", @@ -13413,7 +13417,7 @@ "Tags":{"shape":"TagList"}, "StorageType":{ "shape":"String", - "documentation":"

      Specifies the storage type to be associated with the DB instance.

      Valid values: gp2 | gp3 | io1 | standard

      If you specify io1 or gp3, you must also include a value for the Iops parameter.

      Default: io1 if the Iops parameter is specified, otherwise gp2

      " + "documentation":"

      Specifies the storage type to be associated with the DB instance.

      Valid Values: gp2 | gp3 | io1 | standard

      If you specify io1 or gp3, you must also include a value for the Iops parameter.

      Default: io1 if the Iops parameter is specified, otherwise gp2

      " }, "TdeCredentialArn":{ "shape":"String", @@ -13441,7 +13445,7 @@ }, "DomainAuthSecretArn":{ "shape":"String", - "documentation":"

      The ARN for the Secrets Manager secret with the credentials for the user joining the domain.

      Constraints:

      Example: arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456

      " + "documentation":"

      The ARN for the Secrets Manager secret with the credentials for the user joining the domain.

      Constraints:

      • Can't be longer than 64 characters.

      Example: arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456

      " }, "DomainDnsIps":{ "shape":"StringList", @@ -13449,7 +13453,7 @@ }, "CopyTagsToSnapshot":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether to copy all tags from the restored DB instance to snapshots of the DB instance.

      In most cases, tags aren't copied by default. However, when you restore a DB instance from a DB snapshot, RDS checks whether you specify new tags. If yes, the new tags are added to the restored DB instance. If there are no new tags, RDS looks for the tags from the source DB instance for the DB snapshot, and then adds those tags to the restored DB instance.

      For more information, see Copying tags to DB instance snapshots in the Amazon RDS User Guide.

      " + "documentation":"

      Specifies whether to copy all tags from the restored DB instance to snapshots of the DB instance.

      In most cases, tags aren't copied by default. However, when you restore a DB instance from a DB snapshot, RDS checks whether you specify new tags. If yes, the new tags are added to the restored DB instance. If there are no new tags, RDS looks for the tags from the source DB instance for the DB snapshot, and then adds those tags to the restored DB instance.

      For more information, see Copying tags to DB instance snapshots in the Amazon RDS User Guide.

      " }, "DomainIAMRoleName":{ "shape":"String", @@ -13457,7 +13461,7 @@ }, "EnableIAMDatabaseAuthentication":{ "shape":"BooleanOptional", - "documentation":"

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

      For more information about IAM database authentication, see IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.

      This setting doesn't apply to RDS Custom.

      " + "documentation":"

      Specifies whether to enable mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.

      For more information about IAM database authentication, see IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.

      This setting doesn't apply to RDS Custom.

      " }, "EnableCloudwatchLogsExports":{ "shape":"LogTypeList", @@ -13469,7 +13473,7 @@ }, "UseDefaultProcessorFeatures":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether the DB instance class of the DB instance uses its default processor features.

      This setting doesn't apply to RDS Custom.

      " + "documentation":"

      Specifies whether the DB instance class of the DB instance uses its default processor features.

      This setting doesn't apply to RDS Custom.

      " }, "DBParameterGroupName":{ "shape":"String", @@ -13477,11 +13481,11 @@ }, "DeletionProtection":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection isn't enabled. For more information, see Deleting a DB Instance.

      " + "documentation":"

      Specifies whether to enable deletion protection for the DB instance. The database can't be deleted when deletion protection is enabled. By default, deletion protection isn't enabled. For more information, see Deleting a DB Instance.

      " }, "EnableCustomerOwnedIp":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance.

      A CoIP provides local or external connectivity to resources in your Outpost subnets through your on-premises network. For some use cases, a CoIP can provide lower latency for connections to the DB instance from outside of its virtual private cloud (VPC) on your local network.

      This setting doesn't apply to RDS Custom.

      For more information about RDS on Outposts, see Working with Amazon RDS on Amazon Web Services Outposts in the Amazon RDS User Guide.

      For more information about CoIPs, see Customer-owned IP addresses in the Amazon Web Services Outposts User Guide.

      " + "documentation":"

      Specifies whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance.

      A CoIP provides local or external connectivity to resources in your Outpost subnets through your on-premises network. For some use cases, a CoIP can provide lower latency for connections to the DB instance from outside of its virtual private cloud (VPC) on your local network.

      This setting doesn't apply to RDS Custom.

      For more information about RDS on Outposts, see Working with Amazon RDS on Amazon Web Services Outposts in the Amazon RDS User Guide.

      For more information about CoIPs, see Customer-owned IP addresses in the Amazon Web Services Outposts User Guide.

      " }, "CustomIamInstanceProfile":{ "shape":"String", @@ -13493,7 +13497,7 @@ }, "NetworkType":{ "shape":"String", - "documentation":"

      The network type of the DB instance.

      Valid values:

      • IPV4

      • DUAL

      The network type is determined by the DBSubnetGroup specified for the DB instance. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL).

      For more information, see Working with a DB instance in a VPC in the Amazon RDS User Guide.

      " + "documentation":"

      The network type of the DB instance.

      Valid Values:

      • IPV4

      • DUAL

      The network type is determined by the DBSubnetGroup specified for the DB instance. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL).

      For more information, see Working with a DB instance in a VPC in the Amazon RDS User Guide.

      " }, "StorageThroughput":{ "shape":"IntegerOptional", @@ -13594,7 +13598,7 @@ }, "MultiAZ":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether the DB instance is a Multi-AZ deployment. If the DB instance is a Multi-AZ deployment, you can't set the AvailabilityZone parameter.

      " + "documentation":"

      Specifies whether the DB instance is a Multi-AZ deployment. If the DB instance is a Multi-AZ deployment, you can't set the AvailabilityZone parameter.

      " }, "EngineVersion":{ "shape":"String", @@ -13602,7 +13606,7 @@ }, "AutoMinorVersionUpgrade":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether minor engine upgrades are applied automatically to the DB instance during the maintenance window. By default, minor engine upgrades are not applied automatically.

      " + "documentation":"

      Specifies whether to automatically apply minor engine upgrades to the DB instance during the maintenance window. By default, minor engine upgrades are not applied automatically.

      " }, "LicenseModel":{ "shape":"String", @@ -13618,7 +13622,7 @@ }, "PubliclyAccessible":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether the DB instance is publicly accessible.

      When the DB instance is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB instance's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB instance's VPC. Access to the DB instance is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB instance doesn't permit it.

      When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

      For more information, see CreateDBInstance.

      " + "documentation":"

      Specifies whether the DB instance is publicly accessible.

      When the DB instance is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB instance's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB instance's VPC. Access to the DB instance is ultimately controlled by the security group it uses. That public access is not permitted if the security group assigned to the DB instance doesn't permit it.

      When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

      For more information, see CreateDBInstance.

      " }, "Tags":{ "shape":"TagList", @@ -13626,11 +13630,11 @@ }, "StorageType":{ "shape":"String", - "documentation":"

      Specifies the storage type to be associated with the DB instance.

      Valid values: gp2 | gp3 | io1 | standard

      If you specify io1 or gp3, you must also include a value for the Iops parameter.

      Default: io1 if the Iops parameter is specified; otherwise gp2

      " + "documentation":"

      Specifies the storage type to be associated with the DB instance.

      Valid Values: gp2 | gp3 | io1 | standard

      If you specify io1 or gp3, you must also include a value for the Iops parameter.

      Default: io1 if the Iops parameter is specified; otherwise gp2

      " }, "StorageEncrypted":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether the new DB instance is encrypted or not.

      " + "documentation":"

      Specifies whether the new DB instance is encrypted or not.

      " }, "KmsKeyId":{ "shape":"String", @@ -13638,7 +13642,7 @@ }, "CopyTagsToSnapshot":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether to copy all tags from the DB instance to snapshots of the DB instance. By default, tags are not copied.

      " + "documentation":"

      Specifies whether to copy all tags from the DB instance to snapshots of the DB instance. By default, tags are not copied.

      " }, "MonitoringInterval":{ "shape":"IntegerOptional", @@ -13650,7 +13654,7 @@ }, "EnableIAMDatabaseAuthentication":{ "shape":"BooleanOptional", - "documentation":"

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

      For more information about IAM database authentication, see IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.

      " + "documentation":"

      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 about IAM database authentication, see IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.

      " }, "SourceEngine":{ "shape":"String", @@ -13674,7 +13678,7 @@ }, "EnablePerformanceInsights":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether to enable Performance Insights for the DB instance.

      For more information, see Using Amazon Performance Insights in the Amazon RDS User Guide.

      " + "documentation":"

      Specifies whether to enable Performance Insights for the DB instance.

      For more information, see Using Amazon Performance Insights in the Amazon RDS User Guide.

      " }, "PerformanceInsightsKMSKeyId":{ "shape":"String", @@ -13694,11 +13698,11 @@ }, "UseDefaultProcessorFeatures":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether the DB instance class of the DB instance uses its default processor features.

      " + "documentation":"

      Specifies whether the DB instance class of the DB instance uses its default processor features.

      " }, "DeletionProtection":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection isn't enabled. For more information, see Deleting a DB Instance.

      " + "documentation":"

      Specifies whether to enable deletion protection for the DB instance. The database can't be deleted when deletion protection is enabled. By default, deletion protection isn't enabled. For more information, see Deleting a DB Instance.

      " }, "MaxAllocatedStorage":{ "shape":"IntegerOptional", @@ -13706,7 +13710,7 @@ }, "NetworkType":{ "shape":"String", - "documentation":"

      The network type of the DB instance.

      Valid values:

      • IPV4

      • DUAL

      The network type is determined by the DBSubnetGroup specified for the DB instance. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL).

      For more information, see Working with a DB instance in a VPC in the Amazon RDS User Guide.

      " + "documentation":"

      The network type of the DB instance.

      Valid Values:

      • IPV4

      • DUAL

      The network type is determined by the DBSubnetGroup specified for the DB instance. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL).

      For more information, see Working with a DB instance in a VPC in the Amazon RDS User Guide.

      " }, "StorageThroughput":{ "shape":"IntegerOptional", @@ -13714,7 +13718,7 @@ }, "ManageMasterUserPassword":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether to manage the master user password with Amazon Web Services Secrets Manager.

      For more information, see Password management with Amazon Web Services Secrets Manager in the Amazon RDS User Guide.

      Constraints:

      • Can't manage the master user password with Amazon Web Services Secrets Manager if MasterUserPassword is specified.

      " + "documentation":"

      Specifies whether to manage the master user password with Amazon Web Services Secrets Manager.

      For more information, see Password management with Amazon Web Services Secrets Manager in the Amazon RDS User Guide.

      Constraints:

      • Can't manage the master user password with Amazon Web Services Secrets Manager if MasterUserPassword is specified.

      " }, "MasterUserSecretKmsKeyId":{ "shape":"String", @@ -13738,47 +13742,47 @@ }, "TargetDBInstanceIdentifier":{ "shape":"String", - "documentation":"

      The name of the new DB instance to be created.

      Constraints:

      • Must contain from 1 to 63 letters, numbers, or hyphens

      • First character must be a letter

      • Can't end with a hyphen or contain two consecutive hyphens

      " + "documentation":"

      The name of the new DB instance to create.

      Constraints:

      • Must contain from 1 to 63 letters, numbers, or hyphens.

      • First character must be a letter.

      • Can't end with a hyphen or contain two consecutive hyphens.

      " }, "RestoreTime":{ "shape":"TStamp", - "documentation":"

      The date and time to restore from.

      Valid Values: Value must be a time in Universal Coordinated Time (UTC) format

      Constraints:

      • Must be before the latest restorable time for the DB instance

      • Can't be specified if the UseLatestRestorableTime parameter is enabled

      Example: 2009-09-07T23:45:00Z

      " + "documentation":"

      The date and time to restore from.

      Constraints:

      • Must be a time in Universal Coordinated Time (UTC) format.

      • Must be before the latest restorable time for the DB instance.

      • Can't be specified if the UseLatestRestorableTime parameter is enabled.

      Example: 2009-09-07T23:45:00Z

      " }, "UseLatestRestorableTime":{ "shape":"Boolean", - "documentation":"

      A value that indicates whether the DB instance is restored from the latest backup time. By default, the DB instance isn't restored from the latest backup time.

      Constraints: Can't be specified if the RestoreTime parameter is provided.

      " + "documentation":"

      Specifies whether the DB instance is restored from the latest backup time. By default, the DB instance isn't restored from the latest backup time.

      Constraints:

      • Can't be specified if the RestoreTime parameter is provided.

      " }, "DBInstanceClass":{ "shape":"String", - "documentation":"

      The compute and memory capacity of the Amazon RDS DB instance, for example db.m4.large. Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

      Default: The same DBInstanceClass as the original DB instance.

      " + "documentation":"

      The compute and memory capacity of the Amazon RDS DB instance, for example db.m4.large. Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

      Default: The same DB instance class as the original DB instance.

      " }, "Port":{ "shape":"IntegerOptional", - "documentation":"

      The port number on which the database accepts connections.

      Constraints: Value must be 1150-65535

      Default: The same port as the original DB instance.

      " + "documentation":"

      The port number on which the database accepts connections.

      Default: The same port as the original DB instance.

      Constraints:

      • The value must be 1150-65535.

      " }, "AvailabilityZone":{ "shape":"String", - "documentation":"

      The Availability Zone (AZ) where the DB instance will be created.

      Default: A random, system-chosen Availability Zone.

      Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

      Example: us-east-1a

      " + "documentation":"

      The Availability Zone (AZ) where the DB instance will be created.

      Default: A random, system-chosen Availability Zone.

      Constraints:

      • You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

      Example: us-east-1a

      " }, "DBSubnetGroupName":{ "shape":"String", - "documentation":"

      The DB subnet group name to use for the new instance.

      Constraints: If supplied, must match the name of an existing DBSubnetGroup.

      Example: mydbsubnetgroup

      " + "documentation":"

      The DB subnet group name to use for the new instance.

      Constraints:

      • If supplied, must match the name of an existing DB subnet group.

      Example: mydbsubnetgroup

      " }, "MultiAZ":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether the DB instance is a Multi-AZ deployment.

      This setting doesn't apply to RDS Custom.

      Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

      " + "documentation":"

      Secifies whether the DB instance is a Multi-AZ deployment.

      This setting doesn't apply to RDS Custom.

      Constraints:

      • You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

      " }, "PubliclyAccessible":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether the DB instance is publicly accessible.

      When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

      When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

      For more information, see CreateDBInstance.

      " + "documentation":"

      Specifies whether the DB instance is publicly accessible.

      When the DB cluster is publicly accessible, its Domain Name System (DNS) endpoint resolves to the private IP address from within the DB cluster's virtual private cloud (VPC). It resolves to the public IP address from outside of the DB cluster's VPC. Access to the DB cluster is ultimately controlled by the security group it uses. That public access isn't permitted if the security group assigned to the DB cluster doesn't permit it.

      When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

      For more information, see CreateDBInstance.

      " }, "AutoMinorVersionUpgrade":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether minor version upgrades are applied automatically to the DB instance during the maintenance window.

      This setting doesn't apply to RDS Custom.

      " + "documentation":"

      Specifies whether minor version upgrades are applied automatically to the DB instance during the maintenance window.

      This setting doesn't apply to RDS Custom.

      " }, "LicenseModel":{ "shape":"String", - "documentation":"

      License model information for the restored DB instance.

      This setting doesn't apply to RDS Custom.

      Default: Same as source.

      Valid values: license-included | bring-your-own-license | general-public-license

      " + "documentation":"

      The license model information for the restored DB instance.

      This setting doesn't apply to RDS Custom.

      Valid Values: license-included | bring-your-own-license | general-public-license

      Default: Same as the source.

      " }, "DBName":{ "shape":"String", @@ -13786,24 +13790,24 @@ }, "Engine":{ "shape":"String", - "documentation":"

      The database engine to use for the new instance.

      This setting doesn't apply to RDS Custom.

      Default: The same as source

      Constraint: Must be compatible with the engine of the source

      Valid Values:

      • mariadb

      • mysql

      • oracle-ee

      • oracle-ee-cdb

      • oracle-se2

      • oracle-se2-cdb

      • postgres

      • sqlserver-ee

      • sqlserver-se

      • sqlserver-ex

      • sqlserver-web

      " + "documentation":"

      The database engine to use for the new instance.

      This setting doesn't apply to RDS Custom.

      Valid Values:

      • mariadb

      • mysql

      • oracle-ee

      • oracle-ee-cdb

      • oracle-se2

      • oracle-se2-cdb

      • postgres

      • sqlserver-ee

      • sqlserver-se

      • sqlserver-ex

      • sqlserver-web

      Default: The same as source

      Constraints:

      • Must be compatible with the engine of the source.

      " }, "Iops":{ "shape":"IntegerOptional", - "documentation":"

      The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.

      Constraints: Must be an integer greater than 1000.

      SQL Server

      Setting the IOPS value for the SQL Server database engine isn't supported.

      " + "documentation":"

      The amount of Provisioned IOPS (input/output operations per second) to initially allocate for the DB instance.

      This setting doesn't apply to SQL Server.

      Constraints:

      • Must be an integer greater than 1000.

      " }, "OptionGroupName":{ "shape":"String", - "documentation":"

      The name of the option group to be used for the restored DB instance.

      Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance after it is associated with a DB instance

      This setting doesn't apply to RDS Custom.

      " + "documentation":"

      The name of the option group to use for the restored DB instance.

      Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance after it is associated with a DB instance

      This setting doesn't apply to RDS Custom.

      " }, "CopyTagsToSnapshot":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether to copy all tags from the restored DB instance to snapshots of the DB instance. By default, tags are not copied.

      " + "documentation":"

      Specifies whether to copy all tags from the restored DB instance to snapshots of the DB instance. By default, tags are not copied.

      " }, "Tags":{"shape":"TagList"}, "StorageType":{ "shape":"String", - "documentation":"

      Specifies the storage type to be associated with the DB instance.

      Valid values: gp2 | gp3 | io1 | standard

      If you specify io1 or gp3, you must also include a value for the Iops parameter.

      Default: io1 if the Iops parameter is specified, otherwise gp2

      " + "documentation":"

      The storage type to associate with the DB instance.

      Valid Values: gp2 | gp3 | io1 | standard

      Default: io1, if the Iops parameter is specified. Otherwise, gp2.

      Constraints:

      • If you specify io1 or gp3, you must also include a value for the Iops parameter.

      " }, "TdeCredentialArn":{ "shape":"String", @@ -13819,7 +13823,7 @@ }, "Domain":{ "shape":"String", - "documentation":"

      Specify the Active Directory directory ID to restore the DB instance in. Create the domain before running this command. Currently, you can create only the MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances in an Active Directory Domain.

      This setting doesn't apply to RDS Custom.

      For more information, see Kerberos Authentication in the Amazon RDS User Guide.

      " + "documentation":"

      The Active Directory directory ID to restore the DB instance in. Create the domain before running this command. Currently, you can create only the MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances in an Active Directory Domain.

      This setting doesn't apply to RDS Custom.

      For more information, see Kerberos Authentication in the Amazon RDS User Guide.

      " }, "DomainIAMRoleName":{ "shape":"String", @@ -13843,7 +13847,7 @@ }, "EnableIAMDatabaseAuthentication":{ "shape":"BooleanOptional", - "documentation":"

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

      This setting doesn't apply to RDS Custom.

      For more information about IAM database authentication, see IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.

      " + "documentation":"

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

      This setting doesn't apply to RDS Custom.

      For more information about IAM database authentication, see IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.

      " }, "EnableCloudwatchLogsExports":{ "shape":"LogTypeList", @@ -13855,15 +13859,15 @@ }, "UseDefaultProcessorFeatures":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether the DB instance class of the DB instance uses its default processor features.

      This setting doesn't apply to RDS Custom.

      " + "documentation":"

      Specifies whether the DB instance class of the DB instance uses its default processor features.

      This setting doesn't apply to RDS Custom.

      " }, "DBParameterGroupName":{ "shape":"String", - "documentation":"

      The name of the DB parameter group to associate with this DB instance.

      If you do not specify a value for DBParameterGroupName, then the default DBParameterGroup for the specified DB engine is used.

      This setting doesn't apply to RDS Custom.

      Constraints:

      • If supplied, must match the name of an existing DBParameterGroup.

      • Must be 1 to 255 letters, numbers, or hyphens.

      • First character must be a letter.

      • Can't end with a hyphen or contain two consecutive hyphens.

      " + "documentation":"

      The name of the DB parameter group to associate with this DB instance.

      If you do not specify a value for DBParameterGroupName, then the default DBParameterGroup for the specified DB engine is used.

      This setting doesn't apply to RDS Custom.

      Constraints:

      • If supplied, must match the name of an existing DB parameter group.

      • Must be 1 to 255 letters, numbers, or hyphens.

      • First character must be a letter.

      • Can't end with a hyphen or contain two consecutive hyphens.

      " }, "DeletionProtection":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection isn't enabled. For more information, see Deleting a DB Instance.

      " + "documentation":"

      Specifies whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection isn't enabled. For more information, see Deleting a DB Instance.

      " }, "SourceDbiResourceId":{ "shape":"String", @@ -13875,11 +13879,11 @@ }, "SourceDBInstanceAutomatedBackupsArn":{ "shape":"String", - "documentation":"

      The Amazon Resource Name (ARN) of the replicated automated backups from which to restore, for example, arn:aws:rds:useast-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE.

      This setting doesn't apply to RDS Custom.

      " + "documentation":"

      The Amazon Resource Name (ARN) of the replicated automated backups from which to restore, for example, arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE.

      This setting doesn't apply to RDS Custom.

      " }, "EnableCustomerOwnedIp":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance.

      A CoIP provides local or external connectivity to resources in your Outpost subnets through your on-premises network. For some use cases, a CoIP can provide lower latency for connections to the DB instance from outside of its virtual private cloud (VPC) on your local network.

      This setting doesn't apply to RDS Custom.

      For more information about RDS on Outposts, see Working with Amazon RDS on Amazon Web Services Outposts in the Amazon RDS User Guide.

      For more information about CoIPs, see Customer-owned IP addresses in the Amazon Web Services Outposts User Guide.

      " + "documentation":"

      Specifies whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance.

      A CoIP provides local or external connectivity to resources in your Outpost subnets through your on-premises network. For some use cases, a CoIP can provide lower latency for connections to the DB instance from outside of its virtual private cloud (VPC) on your local network.

      This setting doesn't apply to RDS Custom.

      For more information about RDS on Outposts, see Working with Amazon RDS on Amazon Web Services Outposts in the Amazon RDS User Guide.

      For more information about CoIPs, see Customer-owned IP addresses in the Amazon Web Services Outposts User Guide.

      " }, "CustomIamInstanceProfile":{ "shape":"String", @@ -13891,11 +13895,11 @@ }, "NetworkType":{ "shape":"String", - "documentation":"

      The network type of the DB instance.

      Valid values:

      • IPV4

      • DUAL

      The network type is determined by the DBSubnetGroup specified for the DB instance. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL).

      For more information, see Working with a DB instance in a VPC in the Amazon RDS User Guide.

      " + "documentation":"

      The network type of the DB instance.

      The network type is determined by the DBSubnetGroup specified for the DB instance. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL).

      For more information, see Working with a DB instance in a VPC in the Amazon RDS User Guide.

      Valid Values:

      • IPV4

      • DUAL

      " }, "StorageThroughput":{ "shape":"IntegerOptional", - "documentation":"

      Specifies the storage throughput value for the DB instance.

      This setting doesn't apply to RDS Custom or Amazon Aurora.

      " + "documentation":"

      The storage throughput value for the DB instance.

      This setting doesn't apply to RDS Custom or Amazon Aurora.

      " }, "AllocatedStorage":{ "shape":"IntegerOptional", @@ -14006,7 +14010,7 @@ }, "AutoPause":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether to allow or disallow automatic pause for an Aurora DB cluster in serverless DB engine mode. A DB cluster can be paused only when it's idle (it has no connections).

      If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. In this case, the DB cluster is restored when there is a request to connect to it.

      " + "documentation":"

      Indicates whether to allow or disallow automatic pause for an Aurora DB cluster in serverless DB engine mode. A DB cluster can be paused only when it's idle (it has no connections).

      If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. In this case, the DB cluster is restored when there is a request to connect to it.

      " }, "SecondsUntilAutoPause":{ "shape":"IntegerOptional", @@ -14036,7 +14040,7 @@ }, "AutoPause":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether automatic pause is allowed for the Aurora DB cluster in serverless DB engine mode.

      When the value is set to false for an Aurora Serverless v1 DB cluster, the DB cluster automatically resumes.

      " + "documentation":"

      Indicates whether automatic pause is allowed for the Aurora DB cluster in serverless DB engine mode.

      When the value is set to false for an Aurora Serverless v1 DB cluster, the DB cluster automatically resumes.

      " }, "SecondsUntilAutoPause":{ "shape":"IntegerOptional", @@ -14165,7 +14169,7 @@ }, "SupportsDBInstanceAutomatedBackupsReplication":{ "shape":"Boolean", - "documentation":"

      Whether the source Amazon Web Services Region supports replicating automated backups to the current Amazon Web Services Region.

      " + "documentation":"

      Indicates whether the source Amazon Web Services Region supports replicating automated backups to the current Amazon Web Services Region.

      " } }, "documentation":"

      Contains an Amazon Web Services Region name as the result of a successful call to the DescribeSourceRegions action.

      " @@ -14360,7 +14364,7 @@ }, "ExportOnly":{ "shape":"StringList", - "documentation":"

      The data to be exported from the snapshot or cluster. If this parameter is not provided, all of the data is exported. Valid values are the following:

      • database - Export all the data from a specified database.

      • database.table table-name - Export a table of the snapshot or cluster. This format is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.

      • database.schema schema-name - Export a database schema of the snapshot or cluster. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.

      • database.schema.table table-name - Export a table of the database schema. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.

      " + "documentation":"

      The data to be exported from the snapshot or cluster. If this parameter isn't provided, all of the data is exported.

      Valid Values:

      • database - Export all the data from a specified database.

      • database.table table-name - Export a table of the snapshot or cluster. This format is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.

      • database.schema schema-name - Export a database schema of the snapshot or cluster. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.

      • database.schema.table table-name - Export a table of the database schema. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.

      " } } }, @@ -14813,11 +14817,11 @@ }, "AutoUpgrade":{ "shape":"Boolean", - "documentation":"

      A value that indicates whether the target version is applied to any source DB instances that have AutoMinorVersionUpgrade set to true.

      " + "documentation":"

      Indicates whether the target version is applied to any source DB instances that have AutoMinorVersionUpgrade set to true.

      " }, "IsMajorVersionUpgrade":{ "shape":"Boolean", - "documentation":"

      A value that indicates whether upgrading to the target version requires upgrading the major version of the database engine.

      " + "documentation":"

      Indicates whether upgrading to the target version requires upgrading the major version of the database engine.

      " }, "SupportedEngineModes":{ "shape":"EngineModeList", @@ -14825,19 +14829,19 @@ }, "SupportsParallelQuery":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether you can use Aurora parallel query with the target engine version.

      " + "documentation":"

      Indicates whether you can use Aurora parallel query with the target engine version.

      " }, "SupportsGlobalDatabases":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether you can use Aurora global databases with the target engine version.

      " + "documentation":"

      Indicates whether you can use Aurora global databases with the target engine version.

      " }, "SupportsBabelfish":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether you can use Babelfish for Aurora PostgreSQL with the target engine version.

      " + "documentation":"

      Indicates whether you can use Babelfish for Aurora PostgreSQL with the target engine version.

      " }, "SupportsLocalWriteForwarding":{ "shape":"BooleanOptional", - "documentation":"

      A value that indicates whether the target engine version supports forwarding write operations from reader DB instances to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.

      Valid for: Aurora DB clusters only

      " + "documentation":"

      Indicates whether the target engine version supports forwarding write operations from reader DB instances to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances.

      Valid for: Aurora DB clusters only

      " } }, "documentation":"

      The version of the database engine that a DB instance can be upgraded to.

      " @@ -14863,7 +14867,7 @@ }, "IAMAuth":{ "shape":"IAMAuthMode", - "documentation":"

      Whether to require or disallow Amazon Web Services Identity and Access Management (IAM) authentication for connections to the proxy. The ENABLED value is valid only for proxies with RDS for Microsoft SQL Server.

      " + "documentation":"

      A value that indicates whether to require or disallow Amazon Web Services Identity and Access Management (IAM) authentication for connections to the proxy. The ENABLED value is valid only for proxies with RDS for Microsoft SQL Server.

      " }, "ClientPasswordAuthType":{ "shape":"ClientPasswordAuthType", @@ -14946,7 +14950,7 @@ }, "SupportsStorageAutoscaling":{ "shape":"Boolean", - "documentation":"

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

      " + "documentation":"

      Indicates whether or not Amazon RDS can automatically scale storage for DB instances that use the new instance class.

      " }, "ProvisionedStorageThroughput":{ "shape":"RangeList", diff --git a/services/rdsdata/pom.xml b/services/rdsdata/pom.xml index fed664f990e1..90506935bdc5 100644 --- a/services/rdsdata/pom.xml +++ b/services/rdsdata/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT rdsdata AWS Java SDK :: Services :: RDS Data diff --git a/services/rdsdata/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/rdsdata/src/main/resources/codegen-resources/endpoint-rule-set.json index a340d83ae6a7..e80aacdad376 100644 --- a/services/rdsdata/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/rdsdata/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "parseURL", + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,221 +140,175 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://rds-data-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] }, { "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] - }, + } + ], + "type": "tree", + "rules": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://rds-data-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://rds-data-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://rds-data-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://rds-data.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://rds-data.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://rds-data.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://rds-data.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/rdsdata/src/main/resources/codegen-resources/endpoint-tests.json b/services/rdsdata/src/main/resources/codegen-resources/endpoint-tests.json index 5e091cab2bb2..f359d909aac1 100644 --- a/services/rdsdata/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/rdsdata/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,744 +1,281 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rds-data-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rds-data-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rds-data.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rds-data.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rds-data-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rds-data-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rds-data.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rds-data.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rds-data-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rds-data-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rds-data.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rds-data.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rds-data-fips.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rds-data-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rds-data.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rds-data.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rds-data-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rds-data-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rds-data.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rds-data.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rds-data-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rds-data-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rds-data.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rds-data.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rds-data-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rds-data-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rds-data.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rds-data.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rds-data-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rds-data-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rds-data.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://rds-data.eu-west-1.amazonaws.com" + "url": "https://rds-data-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rds-data-fips.ap-northeast-2.api.aws" + "url": "https://rds-data-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://rds-data-fips.ap-northeast-2.amazonaws.com" + "url": "https://rds-data.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rds-data.ap-northeast-2.api.aws" + "url": "https://rds-data.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://rds-data.ap-northeast-2.amazonaws.com" + "url": "https://rds-data-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rds-data-fips.ap-northeast-1.api.aws" + "url": "https://rds-data-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://rds-data-fips.ap-northeast-1.amazonaws.com" + "url": "https://rds-data.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rds-data.ap-northeast-1.api.aws" + "url": "https://rds-data.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://rds-data.ap-northeast-1.amazonaws.com" + "url": "https://rds-data-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rds-data-fips.ap-southeast-1.api.aws" + "url": "https://rds-data-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://rds-data-fips.ap-southeast-1.amazonaws.com" + "url": "https://rds-data.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rds-data.ap-southeast-1.api.aws" + "url": "https://rds-data.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://rds-data.ap-southeast-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rds-data-fips.ap-southeast-2.api.aws" + "url": "https://rds-data-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://rds-data-fips.ap-southeast-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rds-data.ap-southeast-2.api.aws" + "url": "https://rds-data.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://rds-data.ap-southeast-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rds-data-fips.us-east-1.api.aws" + "url": "https://rds-data-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://rds-data-fips.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://rds-data.us-east-1.api.aws" + "url": "https://rds-data.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://rds-data.us-east-1.amazonaws.com" + "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rds-data-fips.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rds-data-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://rds-data.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://rds-data.us-east-2.amazonaws.com" - } - }, - "params": { + "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -748,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -760,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/redshift/pom.xml b/services/redshift/pom.xml index a398741f9c98..7bba6f7c0868 100644 --- a/services/redshift/pom.xml +++ b/services/redshift/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT redshift AWS Java SDK :: Services :: Amazon Redshift diff --git a/services/redshift/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/redshift/src/main/resources/codegen-resources/endpoint-rule-set.json index af8ff95a9d0f..2b88e273eeb5 100644 --- a/services/redshift/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/redshift/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,92 +140,83 @@ { "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://redshift-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://redshift-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 + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], @@ -221,155 +225,115 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, + "aws-us-gov", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] } ] } ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - "aws-us-gov", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://redshift.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://redshift-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] + "endpoint": { + "url": "https://redshift.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://redshift-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://redshift.{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://redshift.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://redshift.{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://redshift.{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/services/redshiftdata/pom.xml b/services/redshiftdata/pom.xml index 00ee24004d3a..607c0eafb2ac 100644 --- a/services/redshiftdata/pom.xml +++ b/services/redshiftdata/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT redshiftdata AWS Java SDK :: Services :: Redshift Data diff --git a/services/redshiftdata/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/redshiftdata/src/main/resources/codegen-resources/endpoint-rule-set.json index ca8661444b6b..f7f336276e75 100644 --- a/services/redshiftdata/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/redshiftdata/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://redshift-data-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://redshift-data-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://redshift-data-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://redshift-data-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://redshift-data.{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://redshift-data.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://redshift-data.{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://redshift-data.{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/services/redshiftserverless/pom.xml b/services/redshiftserverless/pom.xml index caeaab95e4f0..f6e2b35bde5f 100644 --- a/services/redshiftserverless/pom.xml +++ b/services/redshiftserverless/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT redshiftserverless AWS Java SDK :: Services :: Redshift Serverless diff --git a/services/redshiftserverless/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/redshiftserverless/src/main/resources/codegen-resources/endpoint-rule-set.json index 9d7f5e0e96d5..0bf166b4b28a 100644 --- a/services/redshiftserverless/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/redshiftserverless/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,64 +45,17 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "ref": "UseFIPS" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + true ] } - ] + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" }, { "conditions": [ @@ -111,19 +63,51 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "booleanEquals", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "UseDualStack" - }, - true - ] + "ref": "Region" + } + ], + "assign": "PartitionResult" } ], "type": "tree", @@ -133,38 +117,57 @@ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] }, { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -177,52 +180,46 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -235,52 +232,46 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -293,20 +284,14 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ] - }, - { - "conditions": [], - "type": "tree", - "rules": [ { "conditions": [], "endpoint": { @@ -319,6 +304,11 @@ ] } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/redshiftserverless/src/main/resources/codegen-resources/endpoint-tests.json b/services/redshiftserverless/src/main/resources/codegen-resources/endpoint-tests.json index e819595b4571..413ef0a553d7 100644 --- a/services/redshiftserverless/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/redshiftserverless/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,81 +1,55 @@ { "testCases": [ { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://redshift-serverless-fips.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://redshift-serverless-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://redshift-serverless.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://redshift-serverless.ap-northeast-1.amazonaws.com" } }, "params": { - "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://redshift-serverless.cn-north-1.amazonaws.com.cn" + "url": "https://redshift-serverless.ap-northeast-2.amazonaws.com" } }, "params": { - "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": false + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://redshift-serverless-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://redshift-serverless.ap-southeast-1.amazonaws.com" } }, "params": { - "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://redshift-serverless.us-iso-east-1.c2s.ic.gov" + "url": "https://redshift-serverless.ap-southeast-2.amazonaws.com" } }, "params": { - "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -87,21 +61,21 @@ }, "params": { "Region": "eu-central-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://redshift-serverless.us-east-1.amazonaws.com" + "url": "https://redshift-serverless.eu-north-1.amazonaws.com" } }, "params": { - "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": false + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -113,8 +87,8 @@ }, "params": { "Region": "eu-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -126,138 +100,138 @@ }, "params": { "Region": "eu-west-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://redshift-serverless.ap-southeast-1.amazonaws.com" + "url": "https://redshift-serverless.us-east-1.amazonaws.com" } }, "params": { - "Region": "ap-southeast-1", - "UseDualStack": false, - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://redshift-serverless.ap-southeast-2.amazonaws.com" + "url": "https://redshift-serverless.us-east-2.amazonaws.com" } }, "params": { - "Region": "ap-southeast-2", - "UseDualStack": false, - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://redshift-serverless.eu-north-1.amazonaws.com" + "url": "https://redshift-serverless.us-west-2.amazonaws.com" } }, "params": { - "Region": "eu-north-1", - "UseDualStack": false, - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://redshift-serverless.us-east-2.amazonaws.com" + "url": "https://redshift-serverless-fips.us-east-1.api.aws" } }, "params": { - "Region": "us-east-2", - "UseDualStack": false, - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://redshift-serverless.us-west-2.amazonaws.com" + "url": "https://redshift-serverless-fips.us-east-1.amazonaws.com" } }, "params": { - "Region": "us-west-2", - "UseDualStack": false, - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://redshift-serverless.ap-northeast-1.amazonaws.com" + "url": "https://redshift-serverless.us-east-1.api.aws" } }, "params": { - "Region": "ap-northeast-1", - "UseDualStack": false, - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://redshift-serverless.ap-northeast-2.amazonaws.com" + "url": "https://redshift-serverless-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "ap-northeast-2", - "UseDualStack": false, - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://redshift-serverless-fips.us-east-1.api.aws" + "url": "https://redshift-serverless-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://redshift-serverless-fips.us-east-1.amazonaws.com" + "url": "https://redshift-serverless.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://redshift-serverless.us-east-1.api.aws" + "url": "https://redshift-serverless.cn-north-1.amazonaws.com.cn" } }, "params": { - "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -269,8 +243,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -282,8 +256,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -295,8 +269,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -308,8 +282,67 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://redshift-serverless-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://redshift-serverless.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -321,8 +354,19 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -334,12 +378,12 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" @@ -347,8 +391,21 @@ }, "params": { "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -359,8 +416,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -371,10 +428,16 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/rekognition/pom.xml b/services/rekognition/pom.xml index 7a57641d60f8..62c4d7bd9f00 100644 --- a/services/rekognition/pom.xml +++ b/services/rekognition/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT rekognition AWS Java SDK :: Services :: Amazon Rekognition diff --git a/services/resiliencehub/pom.xml b/services/resiliencehub/pom.xml index ad133cd7e2b3..c45fe1a5d3cb 100644 --- a/services/resiliencehub/pom.xml +++ b/services/resiliencehub/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT resiliencehub AWS Java SDK :: Services :: Resiliencehub diff --git a/services/resiliencehub/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/resiliencehub/src/main/resources/codegen-resources/endpoint-rule-set.json index 5387f61cc97b..3fb7bd8fc857 100644 --- a/services/resiliencehub/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/resiliencehub/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://resiliencehub-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://resiliencehub-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://resiliencehub-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://resiliencehub-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://resiliencehub.{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://resiliencehub.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://resiliencehub.{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://resiliencehub.{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/services/resourceexplorer2/pom.xml b/services/resourceexplorer2/pom.xml index 3bb9585bd6d4..23f8b648c9f2 100644 --- a/services/resourceexplorer2/pom.xml +++ b/services/resourceexplorer2/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT resourceexplorer2 AWS Java SDK :: Services :: Resource Explorer 2 diff --git a/services/resourceexplorer2/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/resourceexplorer2/src/main/resources/codegen-resources/endpoint-rule-set.json index 62dff1a5cb65..9c7184f36731 100644 --- a/services/resourceexplorer2/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/resourceexplorer2/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -64,18 +64,28 @@ ] }, { - "conditions": [], + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], "type": "tree", "rules": [ { "conditions": [ { - "fn": "isSet", + "fn": "aws.partition", "argv": [ { "ref": "Region" } - ] + ], + "assign": "PartitionResult" } ], "type": "tree", @@ -83,19 +93,35 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "Region" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], "type": "tree", "rules": [ { @@ -110,7 +136,7 @@ { "ref": "PartitionResult" }, - "supportsDualStack" + "supportsFIPS" ] } ] @@ -118,62 +144,10 @@ ], "type": "tree", "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://resource-explorer-2-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, { "conditions": [], "endpoint": { - "url": "https://resource-explorer-2.{Region}.{PartitionResult#dualStackDnsSuffix}", + "url": "https://resource-explorer-2-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, @@ -183,95 +157,91 @@ }, { "conditions": [], - "type": "tree", - "rules": [ + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://resource-explorer-2.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ + "fn": "getAttr", + "argv": [ { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://resource-explorer-2-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] + "ref": "PartitionResult" }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://resource-explorer-2.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "supportsFIPS" ] } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://resource-explorer-2-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://resource-explorer-2.{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/services/resourceexplorer2/src/main/resources/codegen-resources/endpoint-tests.json b/services/resourceexplorer2/src/main/resources/codegen-resources/endpoint-tests.json index 7153473aa146..6bc38817f06c 100644 --- a/services/resourceexplorer2/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/resourceexplorer2/src/main/resources/codegen-resources/endpoint-tests.json @@ -107,6 +107,12 @@ "UseFIPS": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/resourcegroups/pom.xml b/services/resourcegroups/pom.xml index 2e3cb6a855b2..3a38be39d938 100644 --- a/services/resourcegroups/pom.xml +++ b/services/resourcegroups/pom.xml @@ -20,7 +20,7 @@ services software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 resourcegroups diff --git a/services/resourcegroups/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/resourcegroups/src/main/resources/codegen-resources/endpoint-rule-set.json index a99b10bf277d..bc91afc6cdca 100644 --- a/services/resourcegroups/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/resourcegroups/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,64 +45,17 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "ref": "UseFIPS" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + true ] } - ] + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" }, { "conditions": [ @@ -111,19 +63,51 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "booleanEquals", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "UseDualStack" - }, - true - ] + "ref": "Region" + } + ], + "assign": "PartitionResult" } ], "type": "tree", @@ -133,90 +117,109 @@ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] }, { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://resource-groups-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://resource-groups-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,7 +241,7 @@ } ], "endpoint": { - "url": "https://resource-groups.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://resource-groups.{Region}.amazonaws.com", "properties": {}, "headers": {} }, @@ -254,78 +257,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://resource-groups.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://resource-groups.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://resource-groups.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://resource-groups.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/resourcegroups/src/main/resources/codegen-resources/endpoint-tests.json b/services/resourcegroups/src/main/resources/codegen-resources/endpoint-tests.json index d452dd1ec434..570ff07cbbd1 100644 --- a/services/resourcegroups/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/resourcegroups/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,1407 +1,558 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-south-1" - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-south-1" - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-south-1" - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-south-1" - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-south-1" - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-south-1" - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-south-1" - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-south-1" - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-gov-east-1" - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-gov-east-1" - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-gov-east-1" - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-gov-east-1" - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.me-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "me-central-1" - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.me-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "me-central-1" - } - }, - { - "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.me-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "me-central-1" - } - }, - { - "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.me-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "me-central-1" - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ca-central-1" - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ca-central-1" - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ca-central-1" - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ca-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-west-1" - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-west-1" - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-west-1" - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-west-1" - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-west-2" - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-west-2" - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-west-2" - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-west-2" - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "af-south-1" - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "af-south-1" - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "af-south-1" - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "af-south-1" - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-north-1" - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-north-1" - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-north-1" - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-north-1" - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-west-2" - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-west-2" - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-west-2" - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-west-2" - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-west-1" - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-west-1" - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-west-1" - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-west-1" - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-northeast-3" - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-northeast-3" - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-northeast-3" - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-northeast-3" - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-northeast-2" - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-northeast-2" - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-northeast-2" - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-northeast-2" - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-northeast-1" - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-northeast-1" - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups.ap-northeast-1.api.aws" + "url": "https://resource-groups.af-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "af-south-1", "UseFIPS": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups.ap-northeast-1.amazonaws.com" + "url": "https://resource-groups.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-east-1", "UseFIPS": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups-fips.me-south-1.api.aws" + "url": "https://resource-groups.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "me-south-1" + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups-fips.me-south-1.amazonaws.com" + "url": "https://resource-groups.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "me-south-1" + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups.me-south-1.api.aws" + "url": "https://resource-groups.ap-northeast-3.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "ap-northeast-3", "UseFIPS": false, - "Region": "me-south-1" + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups.me-south-1.amazonaws.com" + "url": "https://resource-groups.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-south-1", "UseFIPS": false, - "Region": "me-south-1" + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups-fips.sa-east-1.api.aws" + "url": "https://resource-groups.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "sa-east-1" + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups-fips.sa-east-1.amazonaws.com" + "url": "https://resource-groups.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "sa-east-1" + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups.sa-east-1.api.aws" + "url": "https://resource-groups.ap-southeast-3.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "ap-southeast-3", "UseFIPS": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups.sa-east-1.amazonaws.com" + "url": "https://resource-groups.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ca-central-1", "UseFIPS": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups-fips.ap-east-1.api.aws" + "url": "https://resource-groups.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-east-1" + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups-fips.ap-east-1.amazonaws.com" + "url": "https://resource-groups.eu-north-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-east-1" + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups.ap-east-1.api.aws" + "url": "https://resource-groups.eu-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "eu-south-1", "UseFIPS": false, - "Region": "ap-east-1" + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups.ap-east-1.amazonaws.com" + "url": "https://resource-groups.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-west-1", "UseFIPS": false, - "Region": "ap-east-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups-fips.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://resource-groups.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "cn-north-1" + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups-fips.cn-north-1.amazonaws.com.cn" + "url": "https://resource-groups.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "cn-north-1" + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://resource-groups.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "me-south-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups.cn-north-1.amazonaws.com.cn" + "url": "https://resource-groups.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "sa-east-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups-fips.us-gov-west-1.api.aws" + "url": "https://resource-groups.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-gov-west-1" + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups.us-gov-west-1.amazonaws.com" + "url": "https://resource-groups-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": true, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups.us-gov-west-1.api.aws" + "url": "https://resource-groups.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "us-east-2", "UseFIPS": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups.us-gov-west-1.amazonaws.com" + "url": "https://resource-groups-fips.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-gov-west-1" + "Region": "us-east-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups-fips.ap-southeast-1.api.aws" + "url": "https://resource-groups.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-southeast-1" + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups-fips.ap-southeast-1.amazonaws.com" + "url": "https://resource-groups-fips.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-west-1", "UseFIPS": true, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups.ap-southeast-1.api.aws" + "url": "https://resource-groups.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "us-west-2", "UseFIPS": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups.ap-southeast-1.amazonaws.com" + "url": "https://resource-groups-fips.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-southeast-1" + "Region": "us-west-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://resource-groups-fips.ap-southeast-2.api.aws" + "url": "https://resource-groups-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": true, - "Region": "ap-southeast-2" + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://resource-groups-fips.ap-southeast-2.amazonaws.com" + "url": "https://resource-groups.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-southeast-2" + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups.ap-southeast-2.api.aws" + "url": "https://resource-groups.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups.ap-southeast-2.amazonaws.com" + "url": "https://resource-groups.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-northwest-1", "UseFIPS": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://resource-groups-fips.ap-southeast-3.api.aws" + "url": "https://resource-groups-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "ap-southeast-3" + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups-fips.ap-southeast-3.amazonaws.com" + "url": "https://resource-groups-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "ap-southeast-3" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://resource-groups.ap-southeast-3.api.aws" + "url": "https://resource-groups.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "ap-southeast-3" + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups.ap-southeast-3.amazonaws.com" + "url": "https://resource-groups.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "ap-southeast-3" - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups-fips.us-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-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://resource-groups-fips.us-east-1.amazonaws.com" + "url": "https://resource-groups.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-east-1" - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.us-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups.us-east-1.amazonaws.com" + "url": "https://resource-groups.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-west-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups-fips.us-east-2.api.aws" + "url": "https://resource-groups.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "us-gov-west-1", "UseFIPS": true, - "Region": "us-east-2" + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://resource-groups-fips.us-east-2.amazonaws.com" + "url": "https://resource-groups-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-east-2" - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://resource-groups.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-east-2" + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://resource-groups.us-east-2.amazonaws.com" + "url": "https://resource-groups.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-east-2" + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://resource-groups-fips.cn-northwest-1.api.amazonwebservices.com.cn" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "cn-northwest-1" + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups-fips.cn-northwest-1.amazonaws.com.cn" + "url": "https://resource-groups-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "cn-northwest-1" + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://resource-groups.cn-northwest-1.api.amazonwebservices.com.cn" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "cn-northwest-1" + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://resource-groups.cn-northwest-1.amazonaws.com.cn" + "url": "https://resource-groups.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "cn-northwest-1" + "UseDualStack": false } }, { @@ -1410,9 +561,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { @@ -1423,9 +574,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -1434,9 +585,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { @@ -1447,22 +598,35 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "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, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { "UseFIPS": false, - "Region": "us-east-1", + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1472,9 +636,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1484,11 +648,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/resourcegroupstaggingapi/pom.xml b/services/resourcegroupstaggingapi/pom.xml index 3220dc25d1c5..7f9c45666509 100644 --- a/services/resourcegroupstaggingapi/pom.xml +++ b/services/resourcegroupstaggingapi/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT resourcegroupstaggingapi AWS Java SDK :: Services :: AWS Resource Groups Tagging API diff --git a/services/resourcegroupstaggingapi/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/resourcegroupstaggingapi/src/main/resources/codegen-resources/endpoint-rule-set.json index 5555fd9ac2c4..afc344198e54 100644 --- a/services/resourcegroupstaggingapi/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/resourcegroupstaggingapi/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://tagging-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://tagging-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://tagging.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://tagging.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://tagging.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://tagging.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/resourcegroupstaggingapi/src/main/resources/codegen-resources/endpoint-tests.json b/services/resourcegroupstaggingapi/src/main/resources/codegen-resources/endpoint-tests.json index 31ad7f6f283f..30325ab86b64 100644 --- a/services/resourcegroupstaggingapi/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/resourcegroupstaggingapi/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,1687 +1,543 @@ { "testCases": [ { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack enabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging-fips.ap-south-2.api.aws" + "url": "https://tagging.af-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-2", - "UseFIPS": true + "Region": "af-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging-fips.ap-south-2.amazonaws.com" + "url": "https://tagging.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-south-2", - "UseFIPS": true + "Region": "ap-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging.ap-south-2.api.aws" + "url": "https://tagging.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-2", - "UseFIPS": false + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging.ap-south-2.amazonaws.com" + "url": "https://tagging.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-south-2", - "UseFIPS": false + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging-fips.ap-south-1.api.aws" + "url": "https://tagging.ap-northeast-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true + "Region": "ap-northeast-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging-fips.ap-south-1.amazonaws.com" + "url": "https://tagging.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, "Region": "ap-south-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging.ap-south-1.api.aws" + "url": "https://tagging.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging.ap-south-1.amazonaws.com" + "url": "https://tagging.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging-fips.eu-south-1.api.aws" + "url": "https://tagging.ap-southeast-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": true + "Region": "ap-southeast-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging-fips.eu-south-1.amazonaws.com" + "url": "https://tagging.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": true + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging.eu-south-1.api.aws" + "url": "https://tagging.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": false + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging.eu-south-1.amazonaws.com" + "url": "https://tagging.eu-north-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": false + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging-fips.eu-south-2.api.aws" + "url": "https://tagging.eu-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-south-2", - "UseFIPS": true + "Region": "eu-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging-fips.eu-south-2.amazonaws.com" + "url": "https://tagging.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-south-2", - "UseFIPS": true + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging.eu-south-2.api.aws" + "url": "https://tagging.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-south-2", - "UseFIPS": false + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging.eu-south-2.amazonaws.com" + "url": "https://tagging.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-south-2", - "UseFIPS": false + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging-fips.us-gov-east-1.api.aws" + "url": "https://tagging.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true + "Region": "me-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging-fips.us-gov-east-1.amazonaws.com" + "url": "https://tagging.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true + "Region": "sa-east-1", + "UseFIPS": false, + "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 disabled", "expect": { "endpoint": { - "url": "https://tagging.us-gov-east-1.api.aws" + "url": "https://tagging.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging.us-gov-east-1.amazonaws.com" + "url": "https://tagging.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging-fips.me-central-1.api.aws" + "url": "https://tagging.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "me-central-1", - "UseFIPS": true + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging-fips.me-central-1.amazonaws.com" + "url": "https://tagging.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "me-central-1", - "UseFIPS": true + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://tagging.me-central-1.api.aws" + "url": "https://tagging-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "me-central-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging.me-central-1.amazonaws.com" + "url": "https://tagging-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "me-central-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://tagging-fips.ca-central-1.api.aws" + "url": "https://tagging.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging-fips.ca-central-1.amazonaws.com" + "url": "https://tagging.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging.ca-central-1.api.aws" + "url": "https://tagging.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://tagging.ca-central-1.amazonaws.com" + "url": "https://tagging-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging-fips.eu-central-1.api.aws" + "url": "https://tagging-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://tagging-fips.eu-central-1.amazonaws.com" + "url": "https://tagging.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging.eu-central-1.api.aws" + "url": "https://tagging.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging.eu-central-1.amazonaws.com" + "url": "https://tagging.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://tagging-fips.eu-central-2.api.aws" + "url": "https://tagging-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging-fips.eu-central-2.amazonaws.com" + "url": "https://tagging-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://tagging.eu-central-2.api.aws" + "url": "https://tagging.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging.eu-central-2.amazonaws.com" + "url": "https://tagging.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://tagging-fips.us-west-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging-fips.us-west-1.amazonaws.com" + "url": "https://tagging-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://tagging.us-west-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging.us-west-1.amazonaws.com" + "url": "https://tagging.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://tagging-fips.us-west-2.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://tagging-fips.us-west-2.amazonaws.com" + "url": "https://tagging-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.ap-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.ap-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging.ap-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging.ap-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.us-gov-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging.us-gov-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.ap-southeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging.ap-southeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.ap-southeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging.ap-southeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-iso-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.ap-southeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-southeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.ap-southeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-southeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging.ap-southeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-southeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging.ap-southeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-southeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.ap-southeast-4.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-southeast-4", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.ap-southeast-4.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-southeast-4", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging.ap-southeast-4.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-southeast-4", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging.ap-southeast-4.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-southeast-4", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.us-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.us-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging.us-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging.us-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging.us-east-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.cn-northwest-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.cn-northwest-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://tagging.cn-northwest-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging.cn-northwest-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "UseDualStack": true, - "Region": "us-isob-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://tagging-fips.us-isob-east-1.sc2s.sgov.gov" - } - }, - "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -1690,35 +546,35 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://tagging.us-isob-east-1.sc2s.sgov.gov" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, - "Region": "us-isob-east-1", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1728,9 +584,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1740,11 +596,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/robomaker/pom.xml b/services/robomaker/pom.xml index 14fa5e53d7ea..c3a93f6edec3 100644 --- a/services/robomaker/pom.xml +++ b/services/robomaker/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT robomaker AWS Java SDK :: Services :: RoboMaker diff --git a/services/robomaker/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/robomaker/src/main/resources/codegen-resources/endpoint-rule-set.json index 63546e2b7b45..19f3ededac89 100644 --- a/services/robomaker/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/robomaker/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://robomaker-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://robomaker-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://robomaker.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://robomaker.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://robomaker.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://robomaker.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/robomaker/src/main/resources/codegen-resources/endpoint-tests.json b/services/robomaker/src/main/resources/codegen-resources/endpoint-tests.json index e2663614f5fb..70e594aaf535 100644 --- a/services/robomaker/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/robomaker/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,42 +1,29 @@ { "testCases": [ { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://robomaker-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://robomaker-fips.eu-central-1.amazonaws.com" + "url": "https://robomaker.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://robomaker.eu-central-1.api.aws" + "url": "https://robomaker.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -47,48 +34,48 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-central-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://robomaker-fips.us-west-2.api.aws" + "url": "https://robomaker.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://robomaker-fips.us-west-2.amazonaws.com" + "url": "https://robomaker.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://robomaker.us-west-2.api.aws" + "url": "https://robomaker.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -99,334 +86,287 @@ } }, "params": { - "UseDualStack": false, "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://robomaker-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://robomaker-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://robomaker.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://robomaker.eu-west-1.amazonaws.com" + "url": "https://robomaker-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://robomaker-fips.ap-northeast-1.api.aws" + "url": "https://robomaker-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://robomaker-fips.ap-northeast-1.amazonaws.com" + "url": "https://robomaker.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://robomaker.ap-northeast-1.api.aws" + "url": "https://robomaker-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://robomaker.ap-northeast-1.amazonaws.com" + "url": "https://robomaker-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://robomaker-fips.us-gov-west-1.api.aws" + "url": "https://robomaker.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://robomaker-fips.us-gov-west-1.amazonaws.com" + "url": "https://robomaker.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://robomaker.us-gov-west-1.api.aws" + "url": "https://robomaker.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, "Region": "us-gov-west-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://robomaker.us-gov-west-1.amazonaws.com" + "url": "https://robomaker-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://robomaker-fips.ap-southeast-1.api.aws" + "url": "https://robomaker-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://robomaker-fips.ap-southeast-1.amazonaws.com" + "url": "https://robomaker.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://robomaker.ap-southeast-1.api.aws" + "url": "https://robomaker.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://robomaker.ap-southeast-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://robomaker-fips.us-east-1.api.aws" + "url": "https://robomaker-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://robomaker-fips.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://robomaker.us-east-1.api.aws" + "url": "https://robomaker.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://robomaker.us-east-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://robomaker-fips.us-east-2.api.aws" + "url": "https://robomaker-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://robomaker-fips.us-east-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://robomaker.us-east-2.api.aws" + "url": "https://robomaker.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://robomaker.us-east-2.amazonaws.com" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -436,9 +376,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -448,11 +388,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/rolesanywhere/pom.xml b/services/rolesanywhere/pom.xml index d1f7c2a4ba54..2b69d1353677 100644 --- a/services/rolesanywhere/pom.xml +++ b/services/rolesanywhere/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT rolesanywhere AWS Java SDK :: Services :: Roles Anywhere diff --git a/services/rolesanywhere/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/rolesanywhere/src/main/resources/codegen-resources/endpoint-rule-set.json index 8c80f513d77a..d45ab2547a4f 100644 --- a/services/rolesanywhere/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/rolesanywhere/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://rolesanywhere-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://rolesanywhere-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://rolesanywhere-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://rolesanywhere-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://rolesanywhere.{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://rolesanywhere.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://rolesanywhere.{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://rolesanywhere.{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/services/route53/pom.xml b/services/route53/pom.xml index 07f50b45c9f4..dcd1db016eaf 100644 --- a/services/route53/pom.xml +++ b/services/route53/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT route53 AWS Java SDK :: Services :: Amazon Route53 diff --git a/services/route53/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/route53/src/main/resources/codegen-resources/endpoint-rule-set.json index eef1699a1304..2b5c59f57af1 100644 --- a/services/route53/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/route53/src/main/resources/codegen-resources/endpoint-rule-set.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,597 +115,557 @@ { "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": [ + { + "ref": "UseDualStack" }, + false + ] + } + ], + "endpoint": { + "url": "https://route53.amazonaws.com", + "properties": { + "authSchemes": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] + "name": "sigv4", + "signingName": "route53", + "signingRegion": "us-east-1" } - ], - "endpoint": { - "url": "https://route53.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "route53", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + ] }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ { - "conditions": [ + "fn": "stringEquals", + "argv": [ { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] + "ref": "PartitionResult" }, - "aws" + "name" ] }, + "aws" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] + "ref": "UseDualStack" }, + false + ] + } + ], + "endpoint": { + "url": "https://route53-fips.amazonaws.com", + "properties": { + "authSchemes": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] + "name": "sigv4", + "signingName": "route53", + "signingRegion": "us-east-1" } - ], - "endpoint": { - "url": "https://route53-fips.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "route53", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + ] }, + "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", + "ref": "UseDualStack" + }, + false + ] + } + ], + "endpoint": { + "url": "https://route53.amazonaws.com.cn", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "route53", + "signingRegion": "cn-northwest-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", "argv": [ { - "ref": "UseDualStack" + "ref": "PartitionResult" }, - false - ] - } - ], - "endpoint": { - "url": "https://route53.amazonaws.com.cn", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "route53", - "signingRegion": "cn-northwest-1" - } + "name" ] }, - "headers": {} - }, - "type": "endpoint" + "aws-us-gov" + ] }, { - "conditions": [ + "fn": "booleanEquals", + "argv": [ { - "fn": "stringEquals", + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "endpoint": { + "url": "https://route53.us-gov.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "route53", + "signingRegion": "us-gov-west-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", "argv": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] + "ref": "PartitionResult" }, - "aws-us-gov" + "name" ] }, + "aws-us-gov" + ] + }, + { + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "endpoint": { + "url": "https://route53.us-gov.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "route53", + "signingRegion": "us-gov-west-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", "argv": [ { - "ref": "UseFIPS" + "ref": "PartitionResult" }, - false + "name" ] }, + "aws-iso" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "endpoint": { + "url": "https://route53.c2s.ic.gov", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "route53", + "signingRegion": "us-iso-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ { - "ref": "UseDualStack" + "ref": "PartitionResult" }, - false - ] - } - ], - "endpoint": { - "url": "https://route53.us-gov.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "route53", - "signingRegion": "us-gov-west-1" - } + "name" ] }, - "headers": {} - }, - "type": "endpoint" + "aws-iso-b" + ] }, { - "conditions": [ + "fn": "booleanEquals", + "argv": [ { - "fn": "stringEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - }, - "aws-us-gov" - ] + "ref": "UseFIPS" }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] + "ref": "UseDualStack" }, + false + ] + } + ], + "endpoint": { + "url": "https://route53.sc2s.sgov.gov", + "properties": { + "authSchemes": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] + "name": "sigv4", + "signingName": "route53", + "signingRegion": "us-isob-east-1" } - ], - "endpoint": { - "url": "https://route53.us-gov.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "route53", - "signingRegion": "us-gov-west-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": "stringEquals", + "fn": "booleanEquals", "argv": [ + true, { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "name" + "supportsFIPS" ] - }, - "aws-iso" - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - } - ], - "endpoint": { - "url": "https://route53.c2s.ic.gov", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "route53", - "signingRegion": "us-iso-east-1" } ] }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ { - "fn": "stringEquals", + "fn": "booleanEquals", "argv": [ + true, { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "name" + "supportsDualStack" ] - }, - "aws-iso-b" - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - } - ], - "endpoint": { - "url": "https://route53.sc2s.sgov.gov", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "route53", - "signingRegion": "us-isob-east-1" } ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] } ], "type": "tree", "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://route53-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" + "endpoint": { + "url": "https://route53-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://route53-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://route53-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://route53.{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://route53.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://route53.{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://route53.{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/services/route53/src/main/resources/codegen-resources/service-2.json b/services/route53/src/main/resources/codegen-resources/service-2.json index f42dd5d8adc5..d743abf64a5e 100644 --- a/services/route53/src/main/resources/codegen-resources/service-2.json +++ b/services/route53/src/main/resources/codegen-resources/service-2.json @@ -95,7 +95,7 @@ {"shape":"InvalidInput"}, {"shape":"PriorRequestNotComplete"} ], - "documentation":"

      Creates, changes, or deletes a resource record set, which contains authoritative DNS information for a specified domain name or subdomain name. For example, you can use ChangeResourceRecordSets to create a resource record set that routes traffic for test.example.com to a web server that has an IP address of 192.0.2.44.

      Deleting Resource Record Sets

      To delete a resource record set, you must specify all the same values that you specified when you created it.

      Change Batches and Transactional Changes

      The request body must include a document with a ChangeResourceRecordSetsRequest element. The request body contains a list of change items, known as a change batch. Change batches are considered transactional changes. Route 53 validates the changes in the request and then either makes all or none of the changes in the change batch request. This ensures that DNS routing isn't adversely affected by partial changes to the resource record sets in a hosted zone.

      For example, suppose a change batch request contains two changes: it deletes the CNAME resource record set for www.example.com and creates an alias resource record set for www.example.com. If validation for both records succeeds, Route 53 deletes the first resource record set and creates the second resource record set in a single operation. If validation for either the DELETE or the CREATE action fails, then the request is canceled, and the original CNAME record continues to exist.

      If you try to delete the same resource record set more than once in a single change batch, Route 53 returns an InvalidChangeBatch error.

      Traffic Flow

      To create resource record sets for complex routing configurations, use either the traffic flow visual editor in the Route 53 console or the API actions for traffic policies and traffic policy instances. Save the configuration as a traffic policy, then associate the traffic policy with one or more domain names (such as example.com) or subdomain names (such as www.example.com), in the same hosted zone or in multiple hosted zones. You can roll back the updates if the new configuration isn't performing as expected. For more information, see Using Traffic Flow to Route DNS Traffic in the Amazon Route 53 Developer Guide.

      Create, Delete, and Upsert

      Use ChangeResourceRecordsSetsRequest to perform the following actions:

      • CREATE: Creates a resource record set that has the specified values.

      • DELETE: Deletes an existing resource record set that has the specified values.

      • UPSERT: If a resource set exists Route 53 updates it with the values in the request.

      Syntaxes for Creating, Updating, and Deleting Resource Record Sets

      The syntax for a request depends on the type of resource record set that you want to create, delete, or update, such as weighted, alias, or failover. The XML elements in your request must appear in the order listed in the syntax.

      For an example for each type of resource record set, see \"Examples.\"

      Don't refer to the syntax in the \"Parameter Syntax\" section, which includes all of the elements for every kind of resource record set that you can create, delete, or update by using ChangeResourceRecordSets.

      Change Propagation to Route 53 DNS Servers

      When you submit a ChangeResourceRecordSets request, Route 53 propagates your changes to all of the Route 53 authoritative DNS servers managing the hosted zone. While your changes are propagating, GetChange returns a status of PENDING. When propagation is complete, GetChange returns a status of INSYNC. Changes generally propagate to all Route 53 name servers managing the hosted zone within 60 seconds. For more information, see GetChange.

      Limits on ChangeResourceRecordSets Requests

      For information about the limits on a ChangeResourceRecordSets request, see Limits in the Amazon Route 53 Developer Guide.

      " + "documentation":"

      Creates, changes, or deletes a resource record set, which contains authoritative DNS information for a specified domain name or subdomain name. For example, you can use ChangeResourceRecordSets to create a resource record set that routes traffic for test.example.com to a web server that has an IP address of 192.0.2.44.

      Deleting Resource Record Sets

      To delete a resource record set, you must specify all the same values that you specified when you created it.

      Change Batches and Transactional Changes

      The request body must include a document with a ChangeResourceRecordSetsRequest element. The request body contains a list of change items, known as a change batch. Change batches are considered transactional changes. Route 53 validates the changes in the request and then either makes all or none of the changes in the change batch request. This ensures that DNS routing isn't adversely affected by partial changes to the resource record sets in a hosted zone.

      For example, suppose a change batch request contains two changes: it deletes the CNAME resource record set for www.example.com and creates an alias resource record set for www.example.com. If validation for both records succeeds, Route 53 deletes the first resource record set and creates the second resource record set in a single operation. If validation for either the DELETE or the CREATE action fails, then the request is canceled, and the original CNAME record continues to exist.

      If you try to delete the same resource record set more than once in a single change batch, Route 53 returns an InvalidChangeBatch error.

      Traffic Flow

      To create resource record sets for complex routing configurations, use either the traffic flow visual editor in the Route 53 console or the API actions for traffic policies and traffic policy instances. Save the configuration as a traffic policy, then associate the traffic policy with one or more domain names (such as example.com) or subdomain names (such as www.example.com), in the same hosted zone or in multiple hosted zones. You can roll back the updates if the new configuration isn't performing as expected. For more information, see Using Traffic Flow to Route DNS Traffic in the Amazon Route 53 Developer Guide.

      Create, Delete, and Upsert

      Use ChangeResourceRecordsSetsRequest to perform the following actions:

      • CREATE: Creates a resource record set that has the specified values.

      • DELETE: Deletes an existing resource record set that has the specified values.

      • UPSERT: If a resource set doesn't exist, Route 53 creates it. If a resource set exists Route 53 updates it with the values in the request.

      Syntaxes for Creating, Updating, and Deleting Resource Record Sets

      The syntax for a request depends on the type of resource record set that you want to create, delete, or update, such as weighted, alias, or failover. The XML elements in your request must appear in the order listed in the syntax.

      For an example for each type of resource record set, see \"Examples.\"

      Don't refer to the syntax in the \"Parameter Syntax\" section, which includes all of the elements for every kind of resource record set that you can create, delete, or update by using ChangeResourceRecordSets.

      Change Propagation to Route 53 DNS Servers

      When you submit a ChangeResourceRecordSets request, Route 53 propagates your changes to all of the Route 53 authoritative DNS servers managing the hosted zone. While your changes are propagating, GetChange returns a status of PENDING. When propagation is complete, GetChange returns a status of INSYNC. Changes generally propagate to all Route 53 name servers managing the hosted zone within 60 seconds. For more information, see GetChange.

      Limits on ChangeResourceRecordSets Requests

      For information about the limits on a ChangeResourceRecordSets request, see Limits in the Amazon Route 53 Developer Guide.

      " }, "ChangeTagsForResource":{ "name":"ChangeTagsForResource", @@ -300,7 +300,7 @@ {"shape":"NoSuchTrafficPolicy"}, {"shape":"TrafficPolicyInstanceAlreadyExists"} ], - "documentation":"

      Creates resource record sets in a specified hosted zone based on the settings in a specified traffic policy version. In addition, CreateTrafficPolicyInstance associates the resource record sets with a specified domain name (such as example.com) or subdomain name (such as www.example.com). Amazon Route 53 responds to DNS queries for the domain or subdomain name by using the resource record sets that CreateTrafficPolicyInstance created.

      " + "documentation":"

      Creates resource record sets in a specified hosted zone based on the settings in a specified traffic policy version. In addition, CreateTrafficPolicyInstance associates the resource record sets with a specified domain name (such as example.com) or subdomain name (such as www.example.com). Amazon Route 53 responds to DNS queries for the domain or subdomain name by using the resource record sets that CreateTrafficPolicyInstance created.

      After you submit an CreateTrafficPolicyInstance request, there's a brief delay while Amazon Route 53 creates the resource record sets that are specified in the traffic policy definition. Use GetTrafficPolicyInstance with the id of new traffic policy instance to confirm that the CreateTrafficPolicyInstance request completed successfully. For more information, see the State response element.

      " }, "CreateTrafficPolicyVersion":{ "name":"CreateTrafficPolicyVersion", @@ -805,7 +805,7 @@ {"shape":"NoSuchTrafficPolicyInstance"}, {"shape":"InvalidInput"} ], - "documentation":"

      Gets information about a specified traffic policy instance.

      After you submit a CreateTrafficPolicyInstance or an UpdateTrafficPolicyInstance request, there's a brief delay while Amazon Route 53 creates the resource record sets that are specified in the traffic policy definition. For more information, see the State response element.

      In the Route 53 console, traffic policy instances are known as policy records.

      " + "documentation":"

      Gets information about a specified traffic policy instance.

      Use GetTrafficPolicyInstance with the id of new traffic policy instance to confirm that the CreateTrafficPolicyInstance or an UpdateTrafficPolicyInstance request completed successfully. For more information, see the State response element.

      In the Route 53 console, traffic policy instances are known as policy records.

      " }, "GetTrafficPolicyInstanceCount":{ "name":"GetTrafficPolicyInstanceCount", @@ -1185,7 +1185,7 @@ {"shape":"PriorRequestNotComplete"}, {"shape":"ConflictingTypes"} ], - "documentation":"

      Updates the resource record sets in a specified hosted zone that were created based on the settings in a specified traffic policy version.

      When you update a traffic policy instance, Amazon Route 53 continues to respond to DNS queries for the root resource record set name (such as example.com) while it replaces one group of resource record sets with another. Route 53 performs the following operations:

      1. Route 53 creates a new group of resource record sets based on the specified traffic policy. This is true regardless of how significant the differences are between the existing resource record sets and the new resource record sets.

      2. When all of the new resource record sets have been created, Route 53 starts to respond to DNS queries for the root resource record set name (such as example.com) by using the new resource record sets.

      3. Route 53 deletes the old group of resource record sets that are associated with the root resource record set name.

      " + "documentation":"

      After you submit a UpdateTrafficPolicyInstance request, there's a brief delay while Route 53 creates the resource record sets that are specified in the traffic policy definition. Use GetTrafficPolicyInstance with the id of updated traffic policy instance confirm that the UpdateTrafficPolicyInstance request completed successfully. For more information, see the State response element.

      Updates the resource record sets in a specified hosted zone that were created based on the settings in a specified traffic policy version.

      When you update a traffic policy instance, Amazon Route 53 continues to respond to DNS queries for the root resource record set name (such as example.com) while it replaces one group of resource record sets with another. Route 53 performs the following operations:

      1. Route 53 creates a new group of resource record sets based on the specified traffic policy. This is true regardless of how significant the differences are between the existing resource record sets and the new resource record sets.

      2. When all of the new resource record sets have been created, Route 53 starts to respond to DNS queries for the root resource record set name (such as example.com) by using the new resource record sets.

      3. Route 53 deletes the old group of resource record sets that are associated with the root resource record set name.

      " } }, "shapes":{ @@ -1905,7 +1905,7 @@ "members":{ "CallerReference":{ "shape":"HealthCheckNonce", - "documentation":"

      A unique string that identifies the request and that allows you to retry a failed CreateHealthCheck request without the risk of creating two identical health checks:

      • If you send a CreateHealthCheck request with the same CallerReference and settings as a previous request, and if the health check doesn't exist, Amazon Route 53 creates the health check. If the health check does exist, Route 53 returns the settings for the existing health check.

      • If you send a CreateHealthCheck request with the same CallerReference as a deleted health check, regardless of the settings, Route 53 returns a HealthCheckAlreadyExists error.

      • If you send a CreateHealthCheck request with the same CallerReference as an existing health check but with different settings, Route 53 returns a HealthCheckAlreadyExists error.

      • If you send a CreateHealthCheck request with a unique CallerReference but settings identical to an existing health check, Route 53 creates the health check.

      " + "documentation":"

      A unique string that identifies the request and that allows you to retry a failed CreateHealthCheck request without the risk of creating two identical health checks:

      • If you send a CreateHealthCheck request with the same CallerReference and settings as a previous request, and if the health check doesn't exist, Amazon Route 53 creates the health check. If the health check does exist, Route 53 returns the settings for the existing health check.

      • If you send a CreateHealthCheck request with the same CallerReference as a deleted health check, regardless of the settings, Route 53 returns a HealthCheckAlreadyExists error.

      • If you send a CreateHealthCheck request with the same CallerReference as an existing health check but with different settings, Route 53 returns a HealthCheckAlreadyExists error.

      • If you send a CreateHealthCheck request with a unique CallerReference but settings identical to an existing health check, Route 53 creates the health check.

      Route 53 does not store the CallerReference for a deleted health check indefinitely. The CallerReference for a deleted health check will be deleted after a number of days.

      " }, "HealthCheckConfig":{ "shape":"HealthCheckConfig", @@ -2776,7 +2776,7 @@ }, "CountryCode":{ "shape":"GeoLocationCountryCode", - "documentation":"

      For geolocation resource record sets, the two-letter code for a country.

      Amazon Route 53 uses the two-letter country codes that are specified in ISO standard 3166-1 alpha-2.

      " + "documentation":"

      For geolocation resource record sets, the two-letter code for a country.

      Amazon Route 53 uses the two-letter country codes that are specified in ISO standard 3166-1 alpha-2.

      Route 53 also supports the contry code UA forr Ukraine.

      " }, "SubdivisionCode":{ "shape":"GeoLocationSubdivisionCode", @@ -2964,7 +2964,7 @@ }, "CountryCode":{ "shape":"GeoLocationCountryCode", - "documentation":"

      Amazon Route 53 uses the two-letter country codes that are specified in ISO standard 3166-1 alpha-2.

      ", + "documentation":"

      Amazon Route 53 uses the two-letter country codes that are specified in ISO standard 3166-1 alpha-2.

      Route 53 also supports the contry code UA forr Ukraine.

      ", "location":"querystring", "locationName":"countrycode" }, @@ -3741,6 +3741,10 @@ }, "documentation":"

      In the response to a ListHostedZonesByVPC request, the HostedZoneSummaries element contains one HostedZoneSummary element for each hosted zone that the specified Amazon VPC is associated with. Each HostedZoneSummary element contains the hosted zone name and ID, and information about who owns the hosted zone.

      " }, + "HostedZoneType":{ + "type":"string", + "enum":["PrivateHostedZone"] + }, "HostedZones":{ "type":"list", "member":{ @@ -4231,7 +4235,7 @@ }, "MaxItems":{ "shape":"PageMaxItems", - "documentation":"

      The maximum number of health checks that you want ListHealthChecks to return in response to the current request. Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to a value greater than 100, Route 53 returns only the first 100 health checks.

      ", + "documentation":"

      The maximum number of health checks that you want ListHealthChecks to return in response to the current request. Amazon Route 53 returns a maximum of 1000 items. If you set MaxItems to a value greater than 1000, Route 53 returns only the first 1000 health checks.

      ", "location":"querystring", "locationName":"maxitems" } @@ -4408,6 +4412,12 @@ "documentation":"

      If you're using reusable delegation sets and you want to list all of the hosted zones that are associated with a reusable delegation set, specify the ID of that reusable delegation set.

      ", "location":"querystring", "locationName":"delegationsetid" + }, + "HostedZoneType":{ + "shape":"HostedZoneType", + "documentation":"

      (Optional) Specifies if the hosted zone is private.

      ", + "location":"querystring", + "locationName":"hostedzonetype" } }, "documentation":"

      A request to retrieve a list of the public and private hosted zones that are associated with the current Amazon Web Services account.

      " diff --git a/services/route53domains/pom.xml b/services/route53domains/pom.xml index d242f883f094..ed6fcb39e295 100644 --- a/services/route53domains/pom.xml +++ b/services/route53domains/pom.xml @@ -22,7 +22,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT route53domains AWS Java SDK :: Services :: Amazon Route53 Domains diff --git a/services/route53recoverycluster/pom.xml b/services/route53recoverycluster/pom.xml index 6e4ae08e1dcc..f36e111d2071 100644 --- a/services/route53recoverycluster/pom.xml +++ b/services/route53recoverycluster/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT route53recoverycluster AWS Java SDK :: Services :: Route53 Recovery Cluster diff --git a/services/route53recoverycluster/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/route53recoverycluster/src/main/resources/codegen-resources/endpoint-rule-set.json index 65dd6ef384ec..d5b17b674646 100644 --- a/services/route53recoverycluster/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/route53recoverycluster/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "parseURL", + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,221 +140,175 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://route53-recovery-cluster-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] }, { "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] - }, + } + ], + "type": "tree", + "rules": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://route53-recovery-cluster-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://route53-recovery-cluster-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://route53-recovery-cluster-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://route53-recovery-cluster.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://route53-recovery-cluster.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://route53-recovery-cluster.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://route53-recovery-cluster.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/route53recoverycluster/src/main/resources/codegen-resources/endpoint-tests.json b/services/route53recoverycluster/src/main/resources/codegen-resources/endpoint-tests.json index 91c92af29cd0..3e5ab85774e2 100644 --- a/services/route53recoverycluster/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/route53recoverycluster/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,16 +1,281 @@ { "testCases": [ { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-cluster-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-cluster-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-cluster.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-cluster.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-cluster-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-cluster-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-cluster.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-cluster.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-cluster-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-cluster-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-cluster.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-cluster.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-cluster-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-cluster.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-cluster-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-cluster.us-isob-east-1.sc2s.sgov.gov" + } + }, + "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": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -20,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -32,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/route53recoverycontrolconfig/pom.xml b/services/route53recoverycontrolconfig/pom.xml index 737eee244f3a..e6ee5429bab6 100644 --- a/services/route53recoverycontrolconfig/pom.xml +++ b/services/route53recoverycontrolconfig/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT route53recoverycontrolconfig AWS Java SDK :: Services :: Route53 Recovery Control Config diff --git a/services/route53recoverycontrolconfig/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/route53recoverycontrolconfig/src/main/resources/codegen-resources/endpoint-rule-set.json index dfbfb6d72a27..6d8889a09204 100644 --- a/services/route53recoverycontrolconfig/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/route53recoverycontrolconfig/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,64 +45,17 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "ref": "UseFIPS" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + true ] } - ] + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" }, { "conditions": [ @@ -111,19 +63,51 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "booleanEquals", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "UseDualStack" - }, - true - ] + "ref": "Region" + } + ], + "assign": "PartitionResult" } ], "type": "tree", @@ -133,90 +117,109 @@ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] }, { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://route53-recovery-control-config-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://route53-recovery-control-config-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -229,72 +232,66 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://route53-recovery-control-config.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://route53-recovery-control-config.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ] - }, - { - "conditions": [], - "type": "tree", - "rules": [ { "conditions": [ { @@ -313,8 +310,8 @@ "authSchemes": [ { "name": "sigv4", - "signingRegion": "us-west-2", - "signingName": "route53-recovery-control-config" + "signingName": "route53-recovery-control-config", + "signingRegion": "us-west-2" } ] }, @@ -334,6 +331,11 @@ ] } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/route53recoverycontrolconfig/src/main/resources/codegen-resources/endpoint-tests.json b/services/route53recoverycontrolconfig/src/main/resources/codegen-resources/endpoint-tests.json index a2b05792da14..48431bfa7776 100644 --- a/services/route53recoverycontrolconfig/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/route53recoverycontrolconfig/src/main/resources/codegen-resources/endpoint-tests.json @@ -7,9 +7,9 @@ "properties": { "authSchemes": [ { - "signingRegion": "us-west-2", "name": "sigv4", - "signingName": "route53-recovery-control-config" + "signingName": "route53-recovery-control-config", + "signingRegion": "us-west-2" } ] }, @@ -17,13 +17,279 @@ } }, "params": { + "Region": "aws-global", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-control-config-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-control-config-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-control-config.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-control-config.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-control-config-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-control-config-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-control-config.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-control-config.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-control-config-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-control-config-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-control-config.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-control-config.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-control-config-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-control-config.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-control-config-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-control-config.us-isob-east-1.sc2s.sgov.gov" + } + }, + "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": "aws-global" + "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" @@ -32,7 +298,6 @@ "params": { "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -42,9 +307,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" } }, @@ -54,11 +319,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/services/route53recoveryreadiness/pom.xml b/services/route53recoveryreadiness/pom.xml index 5f7bd59c98f9..4fe9c09b9d60 100644 --- a/services/route53recoveryreadiness/pom.xml +++ b/services/route53recoveryreadiness/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT route53recoveryreadiness AWS Java SDK :: Services :: Route53 Recovery Readiness diff --git a/services/route53recoveryreadiness/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/route53recoveryreadiness/src/main/resources/codegen-resources/endpoint-rule-set.json index fcd41a55aa7e..42e15c80e652 100644 --- a/services/route53recoveryreadiness/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/route53recoveryreadiness/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "parseURL", + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,221 +140,175 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://route53-recovery-readiness-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] }, { "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] - }, + } + ], + "type": "tree", + "rules": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://route53-recovery-readiness-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://route53-recovery-readiness-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://route53-recovery-readiness-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://route53-recovery-readiness.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://route53-recovery-readiness.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://route53-recovery-readiness.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://route53-recovery-readiness.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/route53recoveryreadiness/src/main/resources/codegen-resources/endpoint-tests.json b/services/route53recoveryreadiness/src/main/resources/codegen-resources/endpoint-tests.json index 91c92af29cd0..fe7f4db3d7fb 100644 --- a/services/route53recoveryreadiness/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/route53recoveryreadiness/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,16 +1,281 @@ { "testCases": [ { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-readiness-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-readiness-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-readiness.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-readiness.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-readiness-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-readiness-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-readiness.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-readiness.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-readiness-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-readiness-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-readiness.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-readiness.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-readiness-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-readiness.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-readiness-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53-recovery-readiness.us-isob-east-1.sc2s.sgov.gov" + } + }, + "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": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -20,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -32,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/route53resolver/pom.xml b/services/route53resolver/pom.xml index 6f69eca6e1bb..3699e4d46194 100644 --- a/services/route53resolver/pom.xml +++ b/services/route53resolver/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT route53resolver AWS Java SDK :: Services :: Route53Resolver diff --git a/services/route53resolver/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/route53resolver/src/main/resources/codegen-resources/endpoint-rule-set.json index 553797148366..574079562ee2 100644 --- a/services/route53resolver/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/route53resolver/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,92 +140,83 @@ { "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", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://route53resolver-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://route53resolver-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 + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], @@ -221,130 +225,128 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "Region" + }, + "us-gov-east-1" ] } ], - "type": "tree", - "rules": [ + "endpoint": { + "url": "https://route53resolver.us-gov-east-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ { - "conditions": [], - "type": "tree", - "rules": [ + "fn": "stringEquals", + "argv": [ { - "conditions": [], - "endpoint": { - "url": "https://route53resolver-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "Region" + }, + "us-gov-west-1" ] } - ] + ], + "endpoint": { + "url": "https://route53resolver.us-gov-west-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://route53resolver-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://route53resolver.{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://route53resolver.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://route53resolver.{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://route53resolver.{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/services/route53resolver/src/main/resources/codegen-resources/endpoint-tests.json b/services/route53resolver/src/main/resources/codegen-resources/endpoint-tests.json index 4b0253c80e85..d8c59410ea67 100644 --- a/services/route53resolver/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/route53resolver/src/main/resources/codegen-resources/endpoint-tests.json @@ -403,6 +403,19 @@ "UseDualStack": false } }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53resolver.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, { "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { @@ -417,29 +430,29 @@ } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://route53resolver-fips.us-gov-east-1.api.aws" + "url": "https://route53resolver.us-gov-west-1.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", + "Region": "us-gov-west-1", "UseFIPS": true, - "UseDualStack": true + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://route53resolver-fips.us-gov-east-1.amazonaws.com" + "url": "https://route53resolver-fips.us-gov-east-1.api.aws" } }, "params": { "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": false + "UseDualStack": true } }, { diff --git a/services/rum/pom.xml b/services/rum/pom.xml index 7d3810c706e8..1e13391f6242 100644 --- a/services/rum/pom.xml +++ b/services/rum/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT rum AWS Java SDK :: Services :: RUM diff --git a/services/rum/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/rum/src/main/resources/codegen-resources/endpoint-rule-set.json index 8fdeb4663ac7..cfb04c37f30a 100644 --- a/services/rum/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/rum/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://rum-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://rum-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://rum-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://rum-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://rum.{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://rum.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://rum.{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://rum.{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/services/rum/src/main/resources/codegen-resources/endpoint-tests.json b/services/rum/src/main/resources/codegen-resources/endpoint-tests.json index bb59ef12e338..50b7fb1734e4 100644 --- a/services/rum/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/rum/src/main/resources/codegen-resources/endpoint-tests.json @@ -9,8 +9,8 @@ }, "params": { "Region": "ap-northeast-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -22,8 +22,8 @@ }, "params": { "Region": "ap-southeast-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -35,8 +35,8 @@ }, "params": { "Region": "ap-southeast-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -48,8 +48,8 @@ }, "params": { "Region": "eu-central-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -61,8 +61,8 @@ }, "params": { "Region": "eu-north-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -74,8 +74,8 @@ }, "params": { "Region": "eu-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -87,8 +87,8 @@ }, "params": { "Region": "eu-west-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -100,8 +100,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -113,8 +113,8 @@ }, "params": { "Region": "us-east-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -126,8 +126,8 @@ }, "params": { "Region": "us-west-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -139,8 +139,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -152,8 +152,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -165,8 +165,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -178,8 +178,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -191,8 +191,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -204,8 +204,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -217,8 +217,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -230,8 +230,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -243,8 +243,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -256,8 +256,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -269,8 +269,19 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -282,8 +293,19 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -295,8 +317,19 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -308,8 +341,19 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -321,8 +365,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -334,8 +378,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -347,8 +391,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -359,8 +403,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -371,10 +415,16 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/s3/pom.xml b/services/s3/pom.xml index 541b3cefa19f..07da6fd2091d 100644 --- a/services/s3/pom.xml +++ b/services/s3/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT s3 AWS Java SDK :: Services :: Amazon S3 @@ -158,6 +158,11 @@ equalsverifier test + + net.bytebuddy + byte-buddy + test + com.google.jimfs jimfs diff --git a/services/s3/src/it/java/software/amazon/awssdk/services/s3/OperationsWithNonStandardResponsesIntegrationTest.java b/services/s3/src/it/java/software/amazon/awssdk/services/s3/OperationsWithNonStandardResponsesIntegrationTest.java index bb2142bebbf6..43152d89303b 100644 --- a/services/s3/src/it/java/software/amazon/awssdk/services/s3/OperationsWithNonStandardResponsesIntegrationTest.java +++ b/services/s3/src/it/java/software/amazon/awssdk/services/s3/OperationsWithNonStandardResponsesIntegrationTest.java @@ -16,6 +16,8 @@ package software.amazon.awssdk.services.s3; import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; import static software.amazon.awssdk.testutils.service.S3BucketUtils.temporaryBucketName; import com.fasterxml.jackson.databind.JsonNode; @@ -29,6 +31,8 @@ import software.amazon.awssdk.core.auth.policy.Principal; import software.amazon.awssdk.core.auth.policy.Resource; import software.amazon.awssdk.core.auth.policy.Statement; +import software.amazon.awssdk.core.exception.SdkClientException; +import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.s3.model.BucketLocationConstraint; import software.amazon.awssdk.services.s3.model.DeleteBucketRequest; import software.amazon.awssdk.services.s3.model.GetBucketLocationRequest; @@ -61,6 +65,16 @@ public void getBucketLocationReturnsAResult() { assertThat(s3.getBucketLocation(request).locationConstraint()).isEqualTo(BucketLocationConstraint.US_WEST_2); } + @Test + public void getBucketLocation_withArn_throwsErrorMessageToUseBucketNameInstead() { + String bucketArn = "arn:aws:s3:::mybucket"; + SdkClientException exception = assertThrows(SdkClientException.class, + () -> s3.getBucketLocation(b-> b.bucket(bucketArn).build())); + + assertEquals(exception.getMessage(), "Invalid ARN: Unrecognized format: arn:aws:s3:::mybucket (type: mybucket). " + + "Use the bucket name instead of simple bucket ARNs in GetBucketLocationRequest."); + } + @Test public void getBucketPolicyReturnsAResult() throws IOException { diff --git a/services/s3/src/it/java/software/amazon/awssdk/services/s3/crossregion/S3CrossRegionIntegrationTestBase.java b/services/s3/src/it/java/software/amazon/awssdk/services/s3/crossregion/S3CrossRegionIntegrationTestBase.java index a8d391251bd5..006eb493d71d 100644 --- a/services/s3/src/it/java/software/amazon/awssdk/services/s3/crossregion/S3CrossRegionIntegrationTestBase.java +++ b/services/s3/src/it/java/software/amazon/awssdk/services/s3/crossregion/S3CrossRegionIntegrationTestBase.java @@ -18,6 +18,7 @@ import static org.assertj.core.api.Assertions.assertThat; import java.util.List; +import java.util.stream.Collectors; import java.util.stream.IntStream; import org.junit.jupiter.api.Test; import software.amazon.awssdk.core.ResponseBytes; @@ -111,7 +112,7 @@ void paginatedApi_CrossRegionCall() { ); ListObjectsV2Request listObjectsV2Request = ListObjectsV2Request.builder().bucket(bucketName()).maxKeys(maxKeys).build(); List s3ObjectList = paginatedAPICall(listObjectsV2Request); - assertThat(s3ObjectList).hasSize(totalKeys); + assertThat(s3ObjectList.stream().filter( g -> g.key().contains(KEY+ "_")).collect(Collectors.toList())).hasSize(totalKeys); IntStream.range(0, totalKeys ).forEach(i -> s3.deleteObject(p -> p.bucket(bucketName()).key(KEY + "_" + i))); } diff --git a/services/s3/src/it/java/software/amazon/awssdk/services/s3/crt/S3CrtClientPutObjectIntegrationTest.java b/services/s3/src/it/java/software/amazon/awssdk/services/s3/crt/S3CrtClientPutObjectIntegrationTest.java index f81e700395eb..133b9da0a858 100644 --- a/services/s3/src/it/java/software/amazon/awssdk/services/s3/crt/S3CrtClientPutObjectIntegrationTest.java +++ b/services/s3/src/it/java/software/amazon/awssdk/services/s3/crt/S3CrtClientPutObjectIntegrationTest.java @@ -15,6 +15,7 @@ package software.amazon.awssdk.services.s3.crt; +import static org.assertj.core.api.Assertions.assertThatThrownBy; import static software.amazon.awssdk.testutils.service.S3BucketUtils.temporaryBucketName; import io.reactivex.Flowable; @@ -24,6 +25,7 @@ import java.util.List; import java.util.Optional; import java.util.Random; +import java.util.concurrent.CompletionException; import java.util.stream.Collectors; import java.util.stream.Stream; import org.assertj.core.api.Assertions; @@ -34,10 +36,12 @@ import software.amazon.awssdk.core.ResponseBytes; import software.amazon.awssdk.core.ResponseInputStream; import software.amazon.awssdk.core.async.AsyncRequestBody; +import software.amazon.awssdk.core.exception.SdkClientException; import software.amazon.awssdk.core.sync.ResponseTransformer; import software.amazon.awssdk.crt.CrtResource; import software.amazon.awssdk.services.s3.S3AsyncClient; import software.amazon.awssdk.services.s3.S3IntegrationTestBase; +import software.amazon.awssdk.services.s3.internal.crt.CrtContentLengthOnlyAsyncFileRequestBody; import software.amazon.awssdk.services.s3.internal.crt.S3CrtAsyncClient; import software.amazon.awssdk.services.s3.model.GetObjectResponse; import software.amazon.awssdk.services.s3.utils.ChecksumUtils; @@ -86,6 +90,25 @@ void putObject_fileRequestBody_objectSentCorrectly() throws Exception { Assertions.assertThat(ChecksumUtils.computeCheckSum(objContent)).isEqualTo(expectedSum); } + @Test + void putObject_file_objectSentCorrectly() throws Exception { + s3Crt.putObject(r -> r.bucket(TEST_BUCKET).key(TEST_KEY), testFile.toPath()).join(); + ResponseInputStream objContent = S3IntegrationTestBase.s3.getObject(r -> r.bucket(TEST_BUCKET).key(TEST_KEY), + ResponseTransformer.toInputStream()); + byte[] expectedSum = ChecksumUtils.computeCheckSum(Files.newInputStream(testFile.toPath())); + Assertions.assertThat(ChecksumUtils.computeCheckSum(objContent)).isEqualTo(expectedSum); + } + + + @Test + void putObject_failsFor_CrtContentLengthOnlyAsyncFileRequestBody() { + assertThatThrownBy(() -> + s3Crt.putObject(r -> r.bucket(TEST_BUCKET).key(TEST_KEY), + new CrtContentLengthOnlyAsyncFileRequestBody(testFile.toPath())).join()) + .isInstanceOf(CompletionException.class) + .hasCauseInstanceOf(SdkClientException.class); + } + @Test void putObject_byteBufferBody_objectSentCorrectly() { byte[] data = new byte[16384]; diff --git a/services/s3/src/main/java/software/amazon/awssdk/services/s3/crt/S3CrtSdkHttpExecutionAttribute.java b/services/s3/src/main/java/software/amazon/awssdk/services/s3/crt/S3CrtSdkHttpExecutionAttribute.java new file mode 100644 index 000000000000..5f1e33258e65 --- /dev/null +++ b/services/s3/src/main/java/software/amazon/awssdk/services/s3/crt/S3CrtSdkHttpExecutionAttribute.java @@ -0,0 +1,38 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +package software.amazon.awssdk.services.s3.crt; + + +import software.amazon.awssdk.annotations.SdkProtectedApi; +import software.amazon.awssdk.core.async.listener.PublisherListener; +import software.amazon.awssdk.http.SdkHttpExecutionAttribute; +import software.amazon.awssdk.services.s3.internal.crt.S3MetaRequestPauseObservable; + +@SdkProtectedApi +public final class S3CrtSdkHttpExecutionAttribute extends SdkHttpExecutionAttribute { + + public static final S3CrtSdkHttpExecutionAttribute METAREQUEST_PAUSE_OBSERVABLE = + new S3CrtSdkHttpExecutionAttribute<>(S3MetaRequestPauseObservable.class); + + public static final S3CrtSdkHttpExecutionAttribute CRT_PROGRESS_LISTENER = + new S3CrtSdkHttpExecutionAttribute<>(PublisherListener.class); + + private S3CrtSdkHttpExecutionAttribute(Class valueClass) { + super(valueClass); + } + + +} diff --git a/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crossregion/utils/CrossRegionUtils.java b/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crossregion/utils/CrossRegionUtils.java index 9e9355c10483..0a994c9743b9 100644 --- a/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crossregion/utils/CrossRegionUtils.java +++ b/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crossregion/utils/CrossRegionUtils.java @@ -16,12 +16,16 @@ package software.amazon.awssdk.services.s3.internal.crossregion.utils; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; import java.util.Optional; import java.util.concurrent.CompletionException; import java.util.function.Consumer; import java.util.function.Supplier; import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.awscore.AwsRequestOverrideConfiguration; +import software.amazon.awssdk.awscore.exception.AwsErrorDetails; import software.amazon.awssdk.core.ApiName; import software.amazon.awssdk.endpoints.EndpointProvider; import software.amazon.awssdk.regions.Region; @@ -35,6 +39,9 @@ public final class CrossRegionUtils { public static final int REDIRECT_STATUS_CODE = 301; public static final int TEMPORARY_REDIRECT_STATUS_CODE = 307; public static final String AMZ_BUCKET_REGION_HEADER = "x-amz-bucket-region"; + private static final List REDIRECT_STATUS_CODES = + Arrays.asList(REDIRECT_STATUS_CODE, TEMPORARY_REDIRECT_STATUS_CODE); + private static final List REDIRECT_ERROR_CODES = Collections.singletonList("AuthorizationHeaderMalformed"); private static final ApiName API_NAME = ApiName.builder().version("cross-region").name("hll").build(); private static final Consumer USER_AGENT_APPLIER = b -> b.addApiName(API_NAME); @@ -55,11 +62,17 @@ public static boolean isS3RedirectException(Throwable exception) { } private static boolean isRedirectError(S3Exception exceptionToBeChecked) { - int statusCode = exceptionToBeChecked.statusCode(); - return statusCode == REDIRECT_STATUS_CODE || statusCode == TEMPORARY_REDIRECT_STATUS_CODE; + if (REDIRECT_STATUS_CODES.stream().anyMatch(status -> status.equals(exceptionToBeChecked.statusCode()))) { + return true; + } + if (getBucketRegionFromException(exceptionToBeChecked).isPresent()) { + return true; + } + AwsErrorDetails awsErrorDetails = exceptionToBeChecked.awsErrorDetails(); + return awsErrorDetails != null + && REDIRECT_ERROR_CODES.stream().anyMatch(code -> code.equals(awsErrorDetails.errorCode())); } - @SuppressWarnings("unchecked") public static T requestWithDecoratedEndpointProvider(T request, Supplier regionSupplier, EndpointProvider clientEndpointProvider) { @@ -78,13 +91,13 @@ public static T requestWithDecoratedEndpointProvider(T req } public static AwsRequestOverrideConfiguration updateUserAgentInConfig(T request) { - AwsRequestOverrideConfiguration overrideConfiguration = + return request.overrideConfiguration().map(c -> c.toBuilder() .applyMutation(USER_AGENT_APPLIER) .build()) - .orElse(AwsRequestOverrideConfiguration.builder() - .applyMutation(USER_AGENT_APPLIER) - .build()); - return overrideConfiguration; + .orElseGet(() -> AwsRequestOverrideConfiguration.builder() + .applyMutation(USER_AGENT_APPLIER) + .build()); + } } diff --git a/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crt/CrtContentLengthOnlyAsyncFileRequestBody.java b/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crt/CrtContentLengthOnlyAsyncFileRequestBody.java new file mode 100644 index 000000000000..72e8b0dba363 --- /dev/null +++ b/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crt/CrtContentLengthOnlyAsyncFileRequestBody.java @@ -0,0 +1,54 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +package software.amazon.awssdk.services.s3.internal.crt; + +import java.nio.ByteBuffer; +import java.nio.file.Path; +import java.util.Optional; +import org.reactivestreams.Subscriber; +import org.reactivestreams.Subscription; +import software.amazon.awssdk.annotations.SdkInternalApi; +import software.amazon.awssdk.core.async.AsyncRequestBody; + +@SdkInternalApi +public final class CrtContentLengthOnlyAsyncFileRequestBody implements AsyncRequestBody { + private final AsyncRequestBody asyncRequestBody; + + public CrtContentLengthOnlyAsyncFileRequestBody(Path path) { + this.asyncRequestBody = AsyncRequestBody.fromFile(path); + } + + @Override + public Optional contentLength() { + return asyncRequestBody.contentLength(); + } + + @Override + public void subscribe(Subscriber subscriber) { + subscriber.onSubscribe(new Subscription() { + @Override + public void request(long l) { + subscriber.onError(new IllegalStateException("subscription not supported")); + } + + @Override + public void cancel() { + + } + }); + + } +} diff --git a/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crt/DefaultS3CrtAsyncClient.java b/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crt/DefaultS3CrtAsyncClient.java index 3c796363cd6f..36a30ba829b4 100644 --- a/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crt/DefaultS3CrtAsyncClient.java +++ b/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crt/DefaultS3CrtAsyncClient.java @@ -22,6 +22,7 @@ import static software.amazon.awssdk.services.s3.internal.crt.S3NativeClientConfiguration.DEFAULT_PART_SIZE_IN_BYTES; import java.net.URI; +import java.nio.file.Path; import java.util.ArrayList; import java.util.List; import java.util.concurrent.CompletableFuture; @@ -37,6 +38,7 @@ import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration; import software.amazon.awssdk.core.client.config.SdkAdvancedClientOption; import software.amazon.awssdk.core.interceptor.Context; +import software.amazon.awssdk.core.interceptor.ExecutionAttribute; import software.amazon.awssdk.core.interceptor.ExecutionAttributes; import software.amazon.awssdk.core.interceptor.ExecutionInterceptor; import software.amazon.awssdk.core.interceptor.SdkExecutionAttribute; @@ -58,11 +60,13 @@ import software.amazon.awssdk.services.s3.model.CopyObjectResponse; import software.amazon.awssdk.services.s3.model.GetObjectRequest; import software.amazon.awssdk.services.s3.model.PutObjectRequest; +import software.amazon.awssdk.services.s3.model.PutObjectResponse; import software.amazon.awssdk.utils.CollectionUtils; import software.amazon.awssdk.utils.Validate; @SdkInternalApi public final class DefaultS3CrtAsyncClient extends DelegatingS3AsyncClient implements S3CrtAsyncClient { + public static final ExecutionAttribute OBJECT_FILE_PATH = new ExecutionAttribute<>("objectFilePath"); private static final String CRT_CLIENT_CLASSPATH = "software.amazon.awssdk.crt.s3.S3Client"; private final CopyObjectHelper copyObjectHelper; @@ -76,6 +80,19 @@ private DefaultS3CrtAsyncClient(DefaultS3CrtClientBuilder builder) { thresholdInBytes); } + @Override + public CompletableFuture putObject(PutObjectRequest putObjectRequest, Path sourcePath) { + AwsRequestOverrideConfiguration overrideConfig = + putObjectRequest.overrideConfiguration() + .map(config -> config.toBuilder().putExecutionAttribute(OBJECT_FILE_PATH, sourcePath)) + .orElseGet(() -> AwsRequestOverrideConfiguration.builder() + .putExecutionAttribute(OBJECT_FILE_PATH, sourcePath)) + .build(); + + return putObject(putObjectRequest.toBuilder().overrideConfiguration(overrideConfig).build(), + new CrtContentLengthOnlyAsyncFileRequestBody(sourcePath)); + } + @Override public CompletableFuture copyObject(CopyObjectRequest copyObjectRequest) { return copyObjectHelper.copyObject(copyObjectRequest); @@ -308,6 +325,8 @@ public void afterMarshalling(Context.AfterMarshalling context, executionAttributes.getAttribute(SdkExecutionAttribute.OPERATION_NAME)) .put(HTTP_CHECKSUM, executionAttributes.getAttribute(SdkInternalExecutionAttribute.HTTP_CHECKSUM)) .put(SIGNING_REGION, executionAttributes.getAttribute(AwsSignerExecutionAttribute.SIGNING_REGION)) + .put(S3InternalSdkHttpExecutionAttribute.OBJECT_FILE_PATH, + executionAttributes.getAttribute(OBJECT_FILE_PATH)) .build(); // For putObject and getObject, we rely on CRT to perform checksum validation diff --git a/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crt/S3CrtAsyncHttpClient.java b/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crt/S3CrtAsyncHttpClient.java index f8bf0d809ff1..cb05109e35f0 100644 --- a/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crt/S3CrtAsyncHttpClient.java +++ b/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crt/S3CrtAsyncHttpClient.java @@ -15,15 +15,18 @@ package software.amazon.awssdk.services.s3.internal.crt; +import static software.amazon.awssdk.services.s3.crt.S3CrtSdkHttpExecutionAttribute.CRT_PROGRESS_LISTENER; +import static software.amazon.awssdk.services.s3.crt.S3CrtSdkHttpExecutionAttribute.METAREQUEST_PAUSE_OBSERVABLE; import static software.amazon.awssdk.services.s3.internal.crt.CrtChecksumUtils.checksumConfig; import static software.amazon.awssdk.services.s3.internal.crt.S3InternalSdkHttpExecutionAttribute.CRT_PAUSE_RESUME_TOKEN; import static software.amazon.awssdk.services.s3.internal.crt.S3InternalSdkHttpExecutionAttribute.HTTP_CHECKSUM; -import static software.amazon.awssdk.services.s3.internal.crt.S3InternalSdkHttpExecutionAttribute.METAREQUEST_PAUSE_OBSERVABLE; +import static software.amazon.awssdk.services.s3.internal.crt.S3InternalSdkHttpExecutionAttribute.OBJECT_FILE_PATH; import static software.amazon.awssdk.services.s3.internal.crt.S3InternalSdkHttpExecutionAttribute.OPERATION_NAME; import static software.amazon.awssdk.services.s3.internal.crt.S3InternalSdkHttpExecutionAttribute.SIGNING_REGION; import static software.amazon.awssdk.utils.FunctionalUtils.invokeSafely; import java.net.URI; +import java.nio.file.Path; import java.time.Duration; import java.util.ArrayList; import java.util.List; @@ -74,6 +77,7 @@ private S3CrtAsyncHttpClient(Builder builder) { s3NativeClientConfiguration.endpointOverride().toString()) .withCredentialsProvider(s3NativeClientConfiguration.credentialsProvider()) .withClientBootstrap(s3NativeClientConfiguration.clientBootstrap()) + .withTlsContext(s3NativeClientConfiguration.tlsContext()) .withPartSize(s3NativeClientConfiguration.partSizeBytes()) .withMultipartUploadThreshold(s3NativeClientConfiguration.thresholdInBytes()) .withComputeContentMd5(false) @@ -115,14 +119,16 @@ public CompletableFuture execute(AsyncExecuteRequest asyncRequest) { URI uri = asyncRequest.request().getUri(); HttpRequest httpRequest = toCrtRequest(asyncRequest); S3CrtResponseHandlerAdapter responseHandler = - new S3CrtResponseHandlerAdapter(executeFuture, asyncRequest.responseHandler()); + new S3CrtResponseHandlerAdapter(executeFuture, + asyncRequest.responseHandler(), + asyncRequest.httpExecutionAttributes().getAttribute(CRT_PROGRESS_LISTENER)); S3MetaRequestOptions.MetaRequestType requestType = requestType(asyncRequest); HttpChecksum httpChecksum = asyncRequest.httpExecutionAttributes().getAttribute(HTTP_CHECKSUM); ResumeToken resumeToken = asyncRequest.httpExecutionAttributes().getAttribute(CRT_PAUSE_RESUME_TOKEN); Region signingRegion = asyncRequest.httpExecutionAttributes().getAttribute(SIGNING_REGION); - + Path requestFilePath = asyncRequest.httpExecutionAttributes().getAttribute(OBJECT_FILE_PATH); ChecksumConfig checksumConfig = checksumConfig(httpChecksum, requestType, s3NativeClientConfiguration.checksumValidationEnabled()); URI endpoint = getEndpoint(uri); @@ -133,7 +139,8 @@ public CompletableFuture execute(AsyncExecuteRequest asyncRequest) { .withChecksumConfig(checksumConfig) .withEndpoint(endpoint) .withResponseHandler(responseHandler) - .withResumeToken(resumeToken); + .withResumeToken(resumeToken) + .withRequestFilePath(requestFilePath); // Create a new SigningConfig object only if the signing region has changed from the previously configured region. if (signingRegion != null && !s3ClientOptions.getRegion().equals(signingRegion.id())) { @@ -196,6 +203,8 @@ private static void addCancelCallback(CompletableFuture executeFuture, private static HttpRequest toCrtRequest(AsyncExecuteRequest asyncRequest) { SdkHttpRequest sdkRequest = asyncRequest.request(); + Path requestFilePath = asyncRequest.httpExecutionAttributes().getAttribute(OBJECT_FILE_PATH); + String method = sdkRequest.method().name(); String encodedPath = sdkRequest.encodedPath(); if (encodedPath == null || encodedPath.isEmpty()) { @@ -208,8 +217,9 @@ private static HttpRequest toCrtRequest(AsyncExecuteRequest asyncRequest) { HttpHeader[] crtHeaderArray = createHttpHeaderList(asyncRequest).toArray(new HttpHeader[0]); + S3CrtRequestBodyStreamAdapter sdkToCrtRequestPublisher = - new S3CrtRequestBodyStreamAdapter(asyncRequest.requestContentPublisher()); + requestFilePath == null ? new S3CrtRequestBodyStreamAdapter(asyncRequest.requestContentPublisher()) : null; return new HttpRequest(method, encodedPath + encodedQueryString, crtHeaderArray, sdkToCrtRequestPublisher); } diff --git a/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crt/S3CrtRequestBodyStreamAdapter.java b/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crt/S3CrtRequestBodyStreamAdapter.java index 2c22a1768824..7960af250325 100644 --- a/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crt/S3CrtRequestBodyStreamAdapter.java +++ b/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crt/S3CrtRequestBodyStreamAdapter.java @@ -44,8 +44,7 @@ public boolean sendRequestBody(ByteBuffer outBuffer) { bodyPublisher.subscribe(requestBodySubscriber); } - // blocking here because CRT S3 requires the buffer to be completely filled - return requestBodySubscriber.blockingTransferTo(outBuffer) == ByteBufferStoringSubscriber.TransferResult.END_OF_STREAM; + return requestBodySubscriber.transferTo(outBuffer) == ByteBufferStoringSubscriber.TransferResult.END_OF_STREAM; } @Override diff --git a/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crt/S3CrtResponseHandlerAdapter.java b/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crt/S3CrtResponseHandlerAdapter.java index f743c0f3bc3c..cff1a6b6193a 100644 --- a/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crt/S3CrtResponseHandlerAdapter.java +++ b/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crt/S3CrtResponseHandlerAdapter.java @@ -20,11 +20,13 @@ import java.nio.ByteBuffer; import java.util.concurrent.CompletableFuture; import software.amazon.awssdk.annotations.SdkInternalApi; +import software.amazon.awssdk.core.async.listener.PublisherListener; import software.amazon.awssdk.core.exception.SdkClientException; import software.amazon.awssdk.crt.CRT; import software.amazon.awssdk.crt.http.HttpHeader; import software.amazon.awssdk.crt.s3.S3FinishedResponseContext; import software.amazon.awssdk.crt.s3.S3MetaRequest; +import software.amazon.awssdk.crt.s3.S3MetaRequestProgress; import software.amazon.awssdk.crt.s3.S3MetaRequestResponseHandler; import software.amazon.awssdk.http.SdkCancellationException; import software.amazon.awssdk.http.SdkHttpResponse; @@ -46,9 +48,14 @@ public final class S3CrtResponseHandlerAdapter implements S3MetaRequestResponseH private final SdkHttpResponse.Builder respBuilder = SdkHttpResponse.builder(); private volatile S3MetaRequest metaRequest; - public S3CrtResponseHandlerAdapter(CompletableFuture executeFuture, SdkAsyncHttpResponseHandler responseHandler) { + private final PublisherListener progressListener; + + public S3CrtResponseHandlerAdapter(CompletableFuture executeFuture, + SdkAsyncHttpResponseHandler responseHandler, + PublisherListener progressListener) { this.resultFuture = executeFuture; this.responseHandler = responseHandler; + this.progressListener = progressListener == null ? new NoOpPublisherListener() : progressListener; } @Override @@ -103,7 +110,7 @@ private void onSuccessfulResponseComplete() { failResponseHandlerAndFuture(failure); return; } - + this.progressListener.subscriberOnComplete(); completeFutureAndCloseRequest(); }); } @@ -159,4 +166,12 @@ private static boolean isErrorResponse(int responseStatus) { public void metaRequest(S3MetaRequest s3MetaRequest) { metaRequest = s3MetaRequest; } + + @Override + public void onProgress(S3MetaRequestProgress progress) { + this.progressListener.subscriberOnNext(progress); + } + + private static class NoOpPublisherListener implements PublisherListener { + } } diff --git a/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crt/S3InternalSdkHttpExecutionAttribute.java b/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crt/S3InternalSdkHttpExecutionAttribute.java index f7b817ab9ad2..5a0115222cd7 100644 --- a/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crt/S3InternalSdkHttpExecutionAttribute.java +++ b/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crt/S3InternalSdkHttpExecutionAttribute.java @@ -15,6 +15,7 @@ package software.amazon.awssdk.services.s3.internal.crt; +import java.nio.file.Path; import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.core.interceptor.trait.HttpChecksum; import software.amazon.awssdk.crt.s3.ResumeToken; @@ -32,8 +33,6 @@ public final class S3InternalSdkHttpExecutionAttribute extends SdkHttpExecuti public static final S3InternalSdkHttpExecutionAttribute HTTP_CHECKSUM = new S3InternalSdkHttpExecutionAttribute<>(HttpChecksum.class); - public static final S3InternalSdkHttpExecutionAttribute METAREQUEST_PAUSE_OBSERVABLE = - new S3InternalSdkHttpExecutionAttribute<>(S3MetaRequestPauseObservable.class); public static final S3InternalSdkHttpExecutionAttribute CRT_PAUSE_RESUME_TOKEN = new S3InternalSdkHttpExecutionAttribute<>(ResumeToken.class); @@ -41,6 +40,10 @@ public final class S3InternalSdkHttpExecutionAttribute extends SdkHttpExecuti public static final S3InternalSdkHttpExecutionAttribute SIGNING_REGION = new S3InternalSdkHttpExecutionAttribute<>(Region.class); + public static final S3InternalSdkHttpExecutionAttribute OBJECT_FILE_PATH = + new S3InternalSdkHttpExecutionAttribute<>(Path.class); + + private S3InternalSdkHttpExecutionAttribute(Class valueClass) { super(valueClass); } diff --git a/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crt/S3NativeClientConfiguration.java b/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crt/S3NativeClientConfiguration.java index fe5bb9a5dbae..1f41a81ad949 100644 --- a/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crt/S3NativeClientConfiguration.java +++ b/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/crt/S3NativeClientConfiguration.java @@ -143,6 +143,10 @@ public CredentialsProvider credentialsProvider() { return credentialsProvider; } + public TlsContext tlsContext() { + return tlsContext; + } + public long partSizeBytes() { return partSizeInBytes; } diff --git a/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/multipart/GenericMultipartHelper.java b/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/multipart/GenericMultipartHelper.java index 38e76394958e..1d251ad69678 100644 --- a/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/multipart/GenericMultipartHelper.java +++ b/services/s3/src/main/java/software/amazon/awssdk/services/s3/internal/multipart/GenericMultipartHelper.java @@ -24,6 +24,7 @@ import java.util.stream.IntStream; import software.amazon.awssdk.annotations.SdkInternalApi; import software.amazon.awssdk.core.exception.SdkClientException; +import software.amazon.awssdk.core.exception.SdkException; import software.amazon.awssdk.services.s3.S3AsyncClient; import software.amazon.awssdk.services.s3.model.AbortMultipartUploadRequest; import software.amazon.awssdk.services.s3.model.CompleteMultipartUploadRequest; @@ -59,7 +60,8 @@ public void handleException(CompletableFuture returnFuture, Throwable throwable) { Throwable cause = throwable instanceof CompletionException ? throwable.getCause() : throwable; - if (cause instanceof Error) { + if (cause instanceof Error || cause instanceof SdkException) { + cause.addSuppressed(SdkClientException.create(message.get())); returnFuture.completeExceptionally(cause); } else { SdkClientException exception = SdkClientException.create(message.get(), cause); diff --git a/services/s3/src/main/resources/codegen-resources/service-2.json b/services/s3/src/main/resources/codegen-resources/service-2.json index 462d9de782d9..914eb518be77 100644 --- a/services/s3/src/main/resources/codegen-resources/service-2.json +++ b/services/s3/src/main/resources/codegen-resources/service-2.json @@ -51,7 +51,7 @@ {"shape":"ObjectNotInActiveTierError"} ], "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectCOPY.html", - "documentation":"

      Creates a copy of an object that is already stored in Amazon S3.

      You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your object up to 5 GB in size in a single atomic action using this API. However, to copy an object greater than 5 GB, you must use the multipart upload Upload Part - Copy (UploadPartCopy) API. For more information, see Copy Object Using the REST Multipart Upload API.

      All copy requests must be authenticated. Additionally, you must have read access to the source object and write access to the destination bucket. For more information, see REST Authentication. Both the Region that you want to copy the object from and the Region that you want to copy the object to must be enabled for your account.

      A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3 is copying the files. If the error occurs before the copy action starts, you receive a standard Amazon S3 error. If the error occurs during the copy operation, the error response is embedded in the 200 OK response. This means that a 200 OK response can contain either a success or an error. If you call the S3 API directly, make sure to design your application to parse the contents of the response and handle it appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The SDKs detect the embedded error and apply error handling per your configuration settings (including automatically retrying the request as appropriate). If the condition persists, the SDKs throws an exception (or, for the SDKs that don't use exceptions, they return the error).

      If the copy is successful, you receive a response with information about the copied object.

      If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not, it would not contain the content-length, and you would need to read the entire body.

      The copy request charge is based on the storage class and Region that you specify for the destination object. The request can also result in a data retrieval charge for the source if the source storage class bills for data retrieval. For pricing information, see Amazon S3 pricing.

      Amazon S3 transfer acceleration does not support cross-Region copies. If you request a cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad Request error. For more information, see Transfer Acceleration.

      Metadata

      When copying an object, you can preserve all metadata (the default) or specify new metadata. However, the access control list (ACL) is not preserved and is set to private for the user making the request. To override the default ACL setting, specify a new ACL when generating a copy request. For more information, see Using ACLs.

      To specify whether you want the object metadata copied from the source object or replaced with metadata provided in the request, you can optionally add the x-amz-metadata-directive header. When you grant permissions, you can use the s3:x-amz-metadata-directive condition key to enforce certain metadata behavior when objects are uploaded. For more information, see Specifying Conditions in a Policy in the Amazon S3 User Guide. For a complete list of Amazon S3-specific condition keys, see Actions, Resources, and Condition Keys for Amazon S3.

      x-amz-website-redirect-location is unique to each object and must be specified in the request headers to copy the value.

      x-amz-copy-source-if Headers

      To only copy an object under certain conditions, such as whether the Etag matches or whether the object was modified before or after a specified date, use the following request parameters:

      • x-amz-copy-source-if-match

      • x-amz-copy-source-if-none-match

      • x-amz-copy-source-if-unmodified-since

      • x-amz-copy-source-if-modified-since

      If both the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since headers are present in the request and evaluate as follows, Amazon S3 returns 200 OK and copies the data:

      • x-amz-copy-source-if-match condition evaluates to true

      • x-amz-copy-source-if-unmodified-since condition evaluates to false

      If both the x-amz-copy-source-if-none-match and x-amz-copy-source-if-modified-since headers are present in the request and evaluate as follows, Amazon S3 returns the 412 Precondition Failed response code:

      • x-amz-copy-source-if-none-match condition evaluates to false

      • x-amz-copy-source-if-modified-since condition evaluates to true

      All headers with the x-amz- prefix, including x-amz-copy-source, must be signed.

      Server-side encryption

      Amazon S3 automatically encrypts all new objects that are copied to an S3 bucket. When copying an object, if you don't specify encryption information in your copy request, the encryption setting of the target object is set to the default encryption configuration of the destination bucket. By default, all buckets have a base level of encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). If the destination bucket has a default encryption configuration that uses server-side encryption with Key Management Service (KMS) keys (SSE-KMS), dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), or server-side encryption with customer-provided encryption keys (SSE-C), Amazon S3 uses the corresponding KMS key, or a customer-provided key to encrypt the target object copy.

      When you perform a CopyObject operation, if you want to use a different type of encryption setting for the target object, you can use other appropriate encryption-related headers to encrypt the target object with a KMS key, an Amazon S3 managed key, or a customer-provided key. With server-side encryption, Amazon S3 encrypts your data as it writes your data to disks in its data centers and decrypts the data when you access it. If the encryption setting in your request is different from the default encryption configuration of the destination bucket, the encryption setting in your request takes precedence. If the source object for the copy is stored in Amazon S3 using SSE-C, you must provide the necessary encryption information in your request so that Amazon S3 can decrypt the object for copying. For more information about server-side encryption, see Using Server-Side Encryption.

      If a target object uses SSE-KMS, you can enable an S3 Bucket Key for the object. For more information, see Amazon S3 Bucket Keys in the Amazon S3 User Guide.

      Access Control List (ACL)-Specific Request Headers

      When copying an object, you can optionally use headers to grant ACL-based permissions. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups that are defined by Amazon S3. These permissions are then added to the ACL on the object. For more information, see Access Control List (ACL) Overview and Managing ACLs Using the REST API.

      If the bucket that you're copying objects to uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. Buckets that use this setting only accept PUT requests that don't specify an ACL or PUT requests that specify bucket owner full control ACLs, such as the bucket-owner-full-control canned ACL or an equivalent form of this ACL expressed in the XML format.

      For more information, see Controlling ownership of objects and disabling ACLs in the Amazon S3 User Guide.

      If your bucket uses the bucket owner enforced setting for Object Ownership, all objects written to the bucket by any account will be owned by the bucket owner.

      Checksums

      When copying an object, if it has a checksum, that checksum will be copied to the new object by default. When you copy the object over, you can optionally specify a different checksum algorithm to use with the x-amz-checksum-algorithm header.

      Storage Class Options

      You can use the CopyObject action to change the storage class of an object that is already stored in Amazon S3 by using the StorageClass parameter. For more information, see Storage Classes in the Amazon S3 User Guide.

      If the source object's storage class is GLACIER, you must restore a copy of this object before you can use it as a source object for the copy operation. For more information, see RestoreObject. For more information, see Copying Objects.

      Versioning

      By default, x-amz-copy-source header identifies the current version of an object to copy. If the current version is a delete marker, Amazon S3 behaves as if the object was deleted. To copy a different version, use the versionId subresource.

      If you enable versioning on the target bucket, Amazon S3 generates a unique version ID for the object being copied. This version ID is different from the version ID of the source object. Amazon S3 returns the version ID of the copied object in the x-amz-version-id response header in the response.

      If you do not enable versioning or suspend it on the target bucket, the version ID that Amazon S3 generates is always null.

      The following operations are related to CopyObject:

      ", + "documentation":"

      Creates a copy of an object that is already stored in Amazon S3.

      You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your object up to 5 GB in size in a single atomic action using this API. However, to copy an object greater than 5 GB, you must use the multipart upload Upload Part - Copy (UploadPartCopy) API. For more information, see Copy Object Using the REST Multipart Upload API.

      All copy requests must be authenticated. Additionally, you must have read access to the source object and write access to the destination bucket. For more information, see REST Authentication. Both the Region that you want to copy the object from and the Region that you want to copy the object to must be enabled for your account.

      A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3 is copying the files. If the error occurs before the copy action starts, you receive a standard Amazon S3 error. If the error occurs during the copy operation, the error response is embedded in the 200 OK response. This means that a 200 OK response can contain either a success or an error. If you call the S3 API directly, make sure to design your application to parse the contents of the response and handle it appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The SDKs detect the embedded error and apply error handling per your configuration settings (including automatically retrying the request as appropriate). If the condition persists, the SDKs throws an exception (or, for the SDKs that don't use exceptions, they return the error).

      If the copy is successful, you receive a response with information about the copied object.

      If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not, it would not contain the content-length, and you would need to read the entire body.

      The copy request charge is based on the storage class and Region that you specify for the destination object. The request can also result in a data retrieval charge for the source if the source storage class bills for data retrieval. For pricing information, see Amazon S3 pricing.

      Amazon S3 transfer acceleration does not support cross-Region copies. If you request a cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad Request error. For more information, see Transfer Acceleration.

      Metadata

      When copying an object, you can preserve all metadata (the default) or specify new metadata. However, the access control list (ACL) is not preserved and is set to private for the user making the request. To override the default ACL setting, specify a new ACL when generating a copy request. For more information, see Using ACLs.

      To specify whether you want the object metadata copied from the source object or replaced with metadata provided in the request, you can optionally add the x-amz-metadata-directive header. When you grant permissions, you can use the s3:x-amz-metadata-directive condition key to enforce certain metadata behavior when objects are uploaded. For more information, see Specifying Conditions in a Policy in the Amazon S3 User Guide. For a complete list of Amazon S3-specific condition keys, see Actions, Resources, and Condition Keys for Amazon S3.

      x-amz-website-redirect-location is unique to each object and must be specified in the request headers to copy the value.

      x-amz-copy-source-if Headers

      To only copy an object under certain conditions, such as whether the Etag matches or whether the object was modified before or after a specified date, use the following request parameters:

      • x-amz-copy-source-if-match

      • x-amz-copy-source-if-none-match

      • x-amz-copy-source-if-unmodified-since

      • x-amz-copy-source-if-modified-since

      If both the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since headers are present in the request and evaluate as follows, Amazon S3 returns 200 OK and copies the data:

      • x-amz-copy-source-if-match condition evaluates to true

      • x-amz-copy-source-if-unmodified-since condition evaluates to false

      If both the x-amz-copy-source-if-none-match and x-amz-copy-source-if-modified-since headers are present in the request and evaluate as follows, Amazon S3 returns the 412 Precondition Failed response code:

      • x-amz-copy-source-if-none-match condition evaluates to false

      • x-amz-copy-source-if-modified-since condition evaluates to true

      All headers with the x-amz- prefix, including x-amz-copy-source, must be signed.

      Server-side encryption

      Amazon S3 automatically encrypts all new objects that are copied to an S3 bucket. When copying an object, if you don't specify encryption information in your copy request, the encryption setting of the target object is set to the default encryption configuration of the destination bucket. By default, all buckets have a base level of encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). If the destination bucket has a default encryption configuration that uses server-side encryption with Key Management Service (KMS) keys (SSE-KMS), dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), or server-side encryption with customer-provided encryption keys (SSE-C), Amazon S3 uses the corresponding KMS key, or a customer-provided key to encrypt the target object copy.

      When you perform a CopyObject operation, if you want to use a different type of encryption setting for the target object, you can use other appropriate encryption-related headers to encrypt the target object with a KMS key, an Amazon S3 managed key, or a customer-provided key. With server-side encryption, Amazon S3 encrypts your data as it writes your data to disks in its data centers and decrypts the data when you access it. If the encryption setting in your request is different from the default encryption configuration of the destination bucket, the encryption setting in your request takes precedence. If the source object for the copy is stored in Amazon S3 using SSE-C, you must provide the necessary encryption information in your request so that Amazon S3 can decrypt the object for copying. For more information about server-side encryption, see Using Server-Side Encryption.

      If a target object uses SSE-KMS, you can enable an S3 Bucket Key for the object. For more information, see Amazon S3 Bucket Keys in the Amazon S3 User Guide.

      Access Control List (ACL)-Specific Request Headers

      When copying an object, you can optionally use headers to grant ACL-based permissions. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups that are defined by Amazon S3. These permissions are then added to the ACL on the object. For more information, see Access Control List (ACL) Overview and Managing ACLs Using the REST API.

      If the bucket that you're copying objects to uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. Buckets that use this setting only accept PUT requests that don't specify an ACL or PUT requests that specify bucket owner full control ACLs, such as the bucket-owner-full-control canned ACL or an equivalent form of this ACL expressed in the XML format.

      For more information, see Controlling ownership of objects and disabling ACLs in the Amazon S3 User Guide.

      If your bucket uses the bucket owner enforced setting for Object Ownership, all objects written to the bucket by any account will be owned by the bucket owner.

      Checksums

      When copying an object, if it has a checksum, that checksum will be copied to the new object by default. When you copy the object over, you can optionally specify a different checksum algorithm to use with the x-amz-checksum-algorithm header.

      Storage Class Options

      You can use the CopyObject action to change the storage class of an object that is already stored in Amazon S3 by using the StorageClass parameter. For more information, see Storage Classes in the Amazon S3 User Guide.

      If the source object's storage class is GLACIER or DEEP_ARCHIVE, or the object's storage class is INTELLIGENT_TIERING and it's S3 Intelligent-Tiering access tier is Archive Access or Deep Archive Access, you must restore a copy of this object before you can use it as a source object for the copy operation. For more information, see RestoreObject. For more information, see Copying Objects.

      Versioning

      By default, x-amz-copy-source header identifies the current version of an object to copy. If the current version is a delete marker, Amazon S3 behaves as if the object was deleted. To copy a different version, use the versionId subresource.

      If you enable versioning on the target bucket, Amazon S3 generates a unique version ID for the object being copied. This version ID is different from the version ID of the source object. Amazon S3 returns the version ID of the copied object in the x-amz-version-id response header in the response.

      If you do not enable versioning or suspend it on the target bucket, the version ID that Amazon S3 generates is always null.

      The following operations are related to CopyObject:

      ", "alias":"PutObjectCopy" }, "CreateBucket":{ @@ -67,7 +67,7 @@ {"shape":"BucketAlreadyOwnedByYou"} ], "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUT.html", - "documentation":"

      Creates a new S3 bucket. To create a bucket, you must register with Amazon S3 and have a valid Amazon Web Services Access Key ID to authenticate requests. Anonymous requests are never allowed to create buckets. By creating the bucket, you become the bucket owner.

      Not every string is an acceptable bucket name. For information about bucket naming restrictions, see Bucket naming rules.

      If you want to create an Amazon S3 on Outposts bucket, see Create Bucket.

      By default, the bucket is created in the US East (N. Virginia) Region. You can optionally specify a Region in the request body. You might choose a Region to optimize latency, minimize costs, or address regulatory requirements. For example, if you reside in Europe, you will probably find it advantageous to create buckets in the Europe (Ireland) Region. For more information, see Accessing a bucket.

      If you send your create bucket request to the s3.amazonaws.com endpoint, the request goes to the us-east-1 Region. Accordingly, the signature calculations in Signature Version 4 must use us-east-1 as the Region, even if the location constraint in the request specifies another Region where the bucket is to be created. If you create a bucket in a Region other than US East (N. Virginia), your application must be able to handle 307 redirect. For more information, see Virtual hosting of buckets.

      Permissions

      In addition to s3:CreateBucket, the following permissions are required when your CreateBucket request includes specific headers:

      • Access control lists (ACLs) - If your CreateBucket request specifies access control list (ACL) permissions and the ACL is public-read, public-read-write, authenticated-read, or if you specify access permissions explicitly through any other ACL, both s3:CreateBucket and s3:PutBucketAcl permissions are needed. If the ACL for the CreateBucket request is private or if the request doesn't specify any ACLs, only s3:CreateBucket permission is needed.

      • Object Lock - If ObjectLockEnabledForBucket is set to true in your CreateBucket request, s3:PutBucketObjectLockConfiguration and s3:PutBucketVersioning permissions are required.

      • S3 Object Ownership - If your CreateBucket request includes the x-amz-object-ownership header, then the s3:PutBucketOwnershipControls permission is required. By default, ObjectOwnership is set to BucketOWnerEnforced and ACLs are disabled. We recommend keeping ACLs disabled, except in uncommon use cases where you must control access for each object individually. If you want to change the ObjectOwnership setting, you can use the x-amz-object-ownership header in your CreateBucket request to set the ObjectOwnership setting of your choice. For more information about S3 Object Ownership, see Controlling object ownership in the Amazon S3 User Guide.

      • S3 Block Public Access - If your specific use case requires granting public access to your S3 resources, you can disable Block Public Access. You can create a new bucket with Block Public Access enabled, then separately call the DeletePublicAccessBlock API. To use this operation, you must have the s3:PutBucketPublicAccessBlock permission. By default, all Block Public Access settings are enabled for new buckets. To avoid inadvertent exposure of your resources, we recommend keeping the S3 Block Public Access settings enabled. For more information about S3 Block Public Access, see Blocking public access to your Amazon S3 storage in the Amazon S3 User Guide.

      If your CreateBucket request sets BucketOwnerEnforced for Amazon S3 Object Ownership and specifies a bucket ACL that provides access to an external Amazon Web Services account, your request fails with a 400 error and returns the InvalidBucketAcLWithObjectOwnership error code. For more information, see Setting Object Ownership on an existing bucket in the Amazon S3 User Guide.

      The following operations are related to CreateBucket:

      ", + "documentation":"

      Creates a new S3 bucket. To create a bucket, you must register with Amazon S3 and have a valid Amazon Web Services Access Key ID to authenticate requests. Anonymous requests are never allowed to create buckets. By creating the bucket, you become the bucket owner.

      Not every string is an acceptable bucket name. For information about bucket naming restrictions, see Bucket naming rules.

      If you want to create an Amazon S3 on Outposts bucket, see Create Bucket.

      By default, the bucket is created in the US East (N. Virginia) Region. You can optionally specify a Region in the request body. To constrain the bucket creation to a specific Region, you can use LocationConstraint condition key. You might choose a Region to optimize latency, minimize costs, or address regulatory requirements. For example, if you reside in Europe, you will probably find it advantageous to create buckets in the Europe (Ireland) Region. For more information, see Accessing a bucket.

      If you send your create bucket request to the s3.amazonaws.com endpoint, the request goes to the us-east-1 Region. Accordingly, the signature calculations in Signature Version 4 must use us-east-1 as the Region, even if the location constraint in the request specifies another Region where the bucket is to be created. If you create a bucket in a Region other than US East (N. Virginia), your application must be able to handle 307 redirect. For more information, see Virtual hosting of buckets.

      Permissions

      In addition to s3:CreateBucket, the following permissions are required when your CreateBucket request includes specific headers:

      • Access control lists (ACLs) - If your CreateBucket request specifies access control list (ACL) permissions and the ACL is public-read, public-read-write, authenticated-read, or if you specify access permissions explicitly through any other ACL, both s3:CreateBucket and s3:PutBucketAcl permissions are needed. If the ACL for the CreateBucket request is private or if the request doesn't specify any ACLs, only s3:CreateBucket permission is needed.

      • Object Lock - If ObjectLockEnabledForBucket is set to true in your CreateBucket request, s3:PutBucketObjectLockConfiguration and s3:PutBucketVersioning permissions are required.

      • S3 Object Ownership - If your CreateBucket request includes the x-amz-object-ownership header, then the s3:PutBucketOwnershipControls permission is required. By default, ObjectOwnership is set to BucketOWnerEnforced and ACLs are disabled. We recommend keeping ACLs disabled, except in uncommon use cases where you must control access for each object individually. If you want to change the ObjectOwnership setting, you can use the x-amz-object-ownership header in your CreateBucket request to set the ObjectOwnership setting of your choice. For more information about S3 Object Ownership, see Controlling object ownership in the Amazon S3 User Guide.

      • S3 Block Public Access - If your specific use case requires granting public access to your S3 resources, you can disable Block Public Access. You can create a new bucket with Block Public Access enabled, then separately call the DeletePublicAccessBlock API. To use this operation, you must have the s3:PutBucketPublicAccessBlock permission. By default, all Block Public Access settings are enabled for new buckets. To avoid inadvertent exposure of your resources, we recommend keeping the S3 Block Public Access settings enabled. For more information about S3 Block Public Access, see Blocking public access to your Amazon S3 storage in the Amazon S3 User Guide.

      If your CreateBucket request sets BucketOwnerEnforced for Amazon S3 Object Ownership and specifies a bucket ACL that provides access to an external Amazon Web Services account, your request fails with a 400 error and returns the InvalidBucketAcLWithObjectOwnership error code. For more information, see Setting Object Ownership on an existing bucket in the Amazon S3 User Guide.

      The following operations are related to CreateBucket:

      ", "alias":"PutBucket", "staticContextParams":{ "DisableAccessPoints":{"value":true} @@ -812,7 +812,7 @@ "requestUri":"/{Bucket}?encryption" }, "input":{"shape":"PutBucketEncryptionRequest"}, - "documentation":"

      This action uses the encryption subresource to configure default encryption and Amazon S3 Bucket Keys for an existing bucket.

      By default, all buckets have a default encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). You can optionally configure default encryption for a bucket by using server-side encryption with Key Management Service (KMS) keys (SSE-KMS), dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), or server-side encryption with customer-provided keys (SSE-C). If you specify default encryption by using SSE-KMS, you can also configure Amazon S3 Bucket Keys. For information about bucket default encryption, see Amazon S3 bucket default encryption in the Amazon S3 User Guide. For more information about S3 Bucket Keys, see Amazon S3 Bucket Keys in the Amazon S3 User Guide.

      This action requires Amazon Web Services Signature Version 4. For more information, see Authenticating Requests (Amazon Web Services Signature Version 4).

      To use this operation, you must have permission to perform the s3:PutEncryptionConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide.

      The following operations are related to PutBucketEncryption:

      ", + "documentation":"

      This action uses the encryption subresource to configure default encryption and Amazon S3 Bucket Keys for an existing bucket.

      By default, all buckets have a default encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). You can optionally configure default encryption for a bucket by using server-side encryption with Key Management Service (KMS) keys (SSE-KMS) or dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS). If you specify default encryption by using SSE-KMS, you can also configure Amazon S3 Bucket Keys. If you use PutBucketEncryption to set your default bucket encryption to SSE-KMS, you should verify that your KMS key ID is correct. Amazon S3 does not validate the KMS key ID provided in PutBucketEncryption requests.

      This action requires Amazon Web Services Signature Version 4. For more information, see Authenticating Requests (Amazon Web Services Signature Version 4).

      To use this operation, you must have permission to perform the s3:PutEncryptionConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide.

      The following operations are related to PutBucketEncryption:

      ", "httpChecksum":{ "requestAlgorithmMember":"ChecksumAlgorithm", "requestChecksumRequired":true @@ -942,7 +942,7 @@ "requestUri":"/{Bucket}?replication" }, "input":{"shape":"PutBucketReplicationRequest"}, - "documentation":"

      Creates a replication configuration or replaces an existing one. For more information, see Replication in the Amazon S3 User Guide.

      Specify the replication configuration in the request body. In the replication configuration, you provide the name of the destination bucket or buckets where you want Amazon S3 to replicate objects, the IAM role that Amazon S3 can assume to replicate objects on your behalf, and other relevant information.

      A replication configuration must include at least one rule, and can contain a maximum of 1,000. Each rule identifies a subset of objects to replicate by filtering the objects in the source bucket. To choose additional subsets of objects to replicate, add a rule for each subset.

      To specify a subset of the objects in the source bucket to apply a replication rule to, add the Filter element as a child of the Rule element. You can filter objects based on an object key prefix, one or more object tags, or both. When you add the Filter element in the configuration, you must also add the following elements: DeleteMarkerReplication, Status, and Priority.

      If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see Backward Compatibility.

      For information about enabling versioning on a bucket, see Using Versioning.

      Handling Replication of Encrypted Objects

      By default, Amazon S3 doesn't replicate objects that are stored at rest using server-side encryption with KMS keys. To replicate Amazon Web Services KMS-encrypted objects, add the following: SourceSelectionCriteria, SseKmsEncryptedObjects, Status, EncryptionConfiguration, and ReplicaKmsKeyID. For information about replication configuration, see Replicating Objects Created with SSE Using KMS keys.

      For information on PutBucketReplication errors, see List of replication-related error codes

      Permissions

      To create a PutBucketReplication request, you must have s3:PutReplicationConfiguration permissions for the bucket.

      By default, a resource owner, in this case the Amazon Web Services account that created the bucket, can perform this operation. The resource owner can also grant others permissions to perform the operation. For more information about permissions, see Specifying Permissions in a Policy and Managing Access Permissions to Your Amazon S3 Resources.

      To perform this operation, the user or role performing the action must have the iam:PassRole permission.

      The following operations are related to PutBucketReplication:

      ", + "documentation":"

      Creates a replication configuration or replaces an existing one. For more information, see Replication in the Amazon S3 User Guide.

      Specify the replication configuration in the request body. In the replication configuration, you provide the name of the destination bucket or buckets where you want Amazon S3 to replicate objects, the IAM role that Amazon S3 can assume to replicate objects on your behalf, and other relevant information. You can invoke this request for a specific Amazon Web Services Region by using the aws:RequestedRegion condition key.

      A replication configuration must include at least one rule, and can contain a maximum of 1,000. Each rule identifies a subset of objects to replicate by filtering the objects in the source bucket. To choose additional subsets of objects to replicate, add a rule for each subset.

      To specify a subset of the objects in the source bucket to apply a replication rule to, add the Filter element as a child of the Rule element. You can filter objects based on an object key prefix, one or more object tags, or both. When you add the Filter element in the configuration, you must also add the following elements: DeleteMarkerReplication, Status, and Priority.

      If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see Backward Compatibility.

      For information about enabling versioning on a bucket, see Using Versioning.

      Handling Replication of Encrypted Objects

      By default, Amazon S3 doesn't replicate objects that are stored at rest using server-side encryption with KMS keys. To replicate Amazon Web Services KMS-encrypted objects, add the following: SourceSelectionCriteria, SseKmsEncryptedObjects, Status, EncryptionConfiguration, and ReplicaKmsKeyID. For information about replication configuration, see Replicating Objects Created with SSE Using KMS keys.

      For information on PutBucketReplication errors, see List of replication-related error codes

      Permissions

      To create a PutBucketReplication request, you must have s3:PutReplicationConfiguration permissions for the bucket.

      By default, a resource owner, in this case the Amazon Web Services account that created the bucket, can perform this operation. The resource owner can also grant others permissions to perform the operation. For more information about permissions, see Specifying Permissions in a Policy and Managing Access Permissions to Your Amazon S3 Resources.

      To perform this operation, the user or role performing the action must have the iam:PassRole permission.

      The following operations are related to PutBucketReplication:

      ", "httpChecksum":{ "requestAlgorithmMember":"ChecksumAlgorithm", "requestChecksumRequired":true @@ -970,7 +970,7 @@ }, "input":{"shape":"PutBucketTaggingRequest"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTtagging.html", - "documentation":"

      Sets the tags for a bucket.

      Use tags to organize your Amazon Web Services bill to reflect your own cost structure. To do this, sign up to get your Amazon Web Services account bill with tag key values included. Then, to see the cost of combined resources, organize your billing information according to resources with the same tag key values. For example, you can tag several resources with a specific application name, and then organize your billing information to see the total cost of that application across several services. For more information, see Cost Allocation and Tagging and Using Cost Allocation in Amazon S3 Bucket Tags.

      When this operation sets the tags for a bucket, it will overwrite any current tags the bucket already has. You cannot use this operation to add tags to an existing list of tags.

      To use this operation, you must have permissions to perform the s3:PutBucketTagging action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

      PutBucketTagging has the following special errors:

      • Error code: InvalidTagError

      • Error code: MalformedXMLError

        • Description: The XML provided does not match the schema.

      • Error code: OperationAbortedError

        • Description: A conflicting conditional action is currently in progress against this resource. Please try again.

      • Error code: InternalError

        • Description: The service was unable to apply the provided tag to the bucket.

      The following operations are related to PutBucketTagging:

      ", + "documentation":"

      Sets the tags for a bucket.

      Use tags to organize your Amazon Web Services bill to reflect your own cost structure. To do this, sign up to get your Amazon Web Services account bill with tag key values included. Then, to see the cost of combined resources, organize your billing information according to resources with the same tag key values. For example, you can tag several resources with a specific application name, and then organize your billing information to see the total cost of that application across several services. For more information, see Cost Allocation and Tagging and Using Cost Allocation in Amazon S3 Bucket Tags.

      When this operation sets the tags for a bucket, it will overwrite any current tags the bucket already has. You cannot use this operation to add tags to an existing list of tags.

      To use this operation, you must have permissions to perform the s3:PutBucketTagging action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

      PutBucketTagging has the following special errors. For more Amazon S3 errors see, Error Responses.

      • InvalidTag - The tag provided was not a valid tag. This error can occur if the tag did not pass input validation. For more information, see Using Cost Allocation in Amazon S3 Bucket Tags.

      • MalformedXML - The XML provided does not match the schema.

      • OperationAborted - A conflicting conditional action is currently in progress against this resource. Please try again.

      • InternalError - The service was unable to apply the provided tag to the bucket.

      The following operations are related to PutBucketTagging:

      ", "httpChecksum":{ "requestAlgorithmMember":"ChecksumAlgorithm", "requestChecksumRequired":true @@ -998,7 +998,7 @@ }, "input":{"shape":"PutBucketWebsiteRequest"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTwebsite.html", - "documentation":"

      Sets the configuration of the website that is specified in the website subresource. To configure a bucket as a website, you can add this subresource on the bucket with website configuration information such as the file name of the index document and any redirect rules. For more information, see Hosting Websites on Amazon S3.

      This PUT action requires the S3:PutBucketWebsite permission. By default, only the bucket owner can configure the website attached to a bucket; however, bucket owners can allow other users to set the website configuration by writing a bucket policy that grants them the S3:PutBucketWebsite permission.

      To redirect all website requests sent to the bucket's website endpoint, you add a website configuration with the following elements. Because all requests are sent to another website, you don't need to provide index document name for the bucket.

      • WebsiteConfiguration

      • RedirectAllRequestsTo

      • HostName

      • Protocol

      If you want granular control over redirects, you can use the following elements to add routing rules that describe conditions for redirecting requests and information about the redirect destination. In this case, the website configuration must provide an index document for the bucket, because some requests might not be redirected.

      • WebsiteConfiguration

      • IndexDocument

      • Suffix

      • ErrorDocument

      • Key

      • RoutingRules

      • RoutingRule

      • Condition

      • HttpErrorCodeReturnedEquals

      • KeyPrefixEquals

      • Redirect

      • Protocol

      • HostName

      • ReplaceKeyPrefixWith

      • ReplaceKeyWith

      • HttpRedirectCode

      Amazon S3 has a limitation of 50 routing rules per website configuration. If you require more than 50 routing rules, you can use object redirect. For more information, see Configuring an Object Redirect in the Amazon S3 User Guide.

      ", + "documentation":"

      Sets the configuration of the website that is specified in the website subresource. To configure a bucket as a website, you can add this subresource on the bucket with website configuration information such as the file name of the index document and any redirect rules. For more information, see Hosting Websites on Amazon S3.

      This PUT action requires the S3:PutBucketWebsite permission. By default, only the bucket owner can configure the website attached to a bucket; however, bucket owners can allow other users to set the website configuration by writing a bucket policy that grants them the S3:PutBucketWebsite permission.

      To redirect all website requests sent to the bucket's website endpoint, you add a website configuration with the following elements. Because all requests are sent to another website, you don't need to provide index document name for the bucket.

      • WebsiteConfiguration

      • RedirectAllRequestsTo

      • HostName

      • Protocol

      If you want granular control over redirects, you can use the following elements to add routing rules that describe conditions for redirecting requests and information about the redirect destination. In this case, the website configuration must provide an index document for the bucket, because some requests might not be redirected.

      • WebsiteConfiguration

      • IndexDocument

      • Suffix

      • ErrorDocument

      • Key

      • RoutingRules

      • RoutingRule

      • Condition

      • HttpErrorCodeReturnedEquals

      • KeyPrefixEquals

      • Redirect

      • Protocol

      • HostName

      • ReplaceKeyPrefixWith

      • ReplaceKeyWith

      • HttpRedirectCode

      Amazon S3 has a limitation of 50 routing rules per website configuration. If you require more than 50 routing rules, you can use object redirect. For more information, see Configuring an Object Redirect in the Amazon S3 User Guide.

      The maximum request length is limited to 128 KB.

      ", "httpChecksum":{ "requestAlgorithmMember":"ChecksumAlgorithm", "requestChecksumRequired":true @@ -1087,7 +1087,7 @@ }, "input":{"shape":"PutObjectTaggingRequest"}, "output":{"shape":"PutObjectTaggingOutput"}, - "documentation":"

      Sets the supplied tag-set to an object that already exists in a bucket.

      A tag is a key-value pair. You can associate tags with an object by sending a PUT request against the tagging subresource that is associated with the object. You can retrieve tags by sending a GET request. For more information, see GetObjectTagging.

      For tagging-related restrictions related to characters and encodings, see Tag Restrictions. Note that Amazon S3 limits the maximum number of tags to 10 tags per object.

      To use this operation, you must have permission to perform the s3:PutObjectTagging action. By default, the bucket owner has this permission and can grant this permission to others.

      To put tags of any other version, use the versionId query parameter. You also need permission for the s3:PutObjectVersionTagging action.

      For information about the Amazon S3 object tagging feature, see Object Tagging.

      PutObjectTagging has the following special errors:

        • Code: InvalidTagError

        • Cause: The tag provided was not a valid tag. This error can occur if the tag did not pass input validation. For more information, see Object Tagging.

        • Code: MalformedXMLError

        • Cause: The XML provided does not match the schema.

        • Code: OperationAbortedError

        • Cause: A conflicting conditional action is currently in progress against this resource. Please try again.

        • Code: InternalError

        • Cause: The service was unable to apply the provided tag to the object.

      The following operations are related to PutObjectTagging:

      ", + "documentation":"

      Sets the supplied tag-set to an object that already exists in a bucket. A tag is a key-value pair. For more information, see Object Tagging.

      You can associate tags with an object by sending a PUT request against the tagging subresource that is associated with the object. You can retrieve tags by sending a GET request. For more information, see GetObjectTagging.

      For tagging-related restrictions related to characters and encodings, see Tag Restrictions. Note that Amazon S3 limits the maximum number of tags to 10 tags per object.

      To use this operation, you must have permission to perform the s3:PutObjectTagging action. By default, the bucket owner has this permission and can grant this permission to others.

      To put tags of any other version, use the versionId query parameter. You also need permission for the s3:PutObjectVersionTagging action.

      PutObjectTagging has the following special errors. For more Amazon S3 errors see, Error Responses.

      • InvalidTag - The tag provided was not a valid tag. This error can occur if the tag did not pass input validation. For more information, see Object Tagging.

      • MalformedXML - The XML provided does not match the schema.

      • OperationAborted - A conflicting conditional action is currently in progress against this resource. Please try again.

      • InternalError - The service was unable to apply the provided tag to the object.

      The following operations are related to PutObjectTagging:

      ", "httpChecksum":{ "requestAlgorithmMember":"ChecksumAlgorithm", "requestChecksumRequired":true @@ -1100,7 +1100,7 @@ "requestUri":"/{Bucket}?publicAccessBlock" }, "input":{"shape":"PutPublicAccessBlockRequest"}, - "documentation":"

      Creates or modifies the PublicAccessBlock configuration for an Amazon S3 bucket. To use this operation, you must have the s3:PutBucketPublicAccessBlock permission. For more information about Amazon S3 permissions, see Specifying Permissions in a Policy.

      When Amazon S3 evaluates the PublicAccessBlock configuration for a bucket or an object, it checks the PublicAccessBlock configuration for both the bucket (or the bucket that contains the object) and the bucket owner's account. If the PublicAccessBlock configurations are different between the bucket and the account, Amazon S3 uses the most restrictive combination of the bucket-level and account-level settings.

      For more information about when Amazon S3 considers a bucket or an object public, see The Meaning of \"Public\".

      The following operations are related to PutPublicAccessBlock:

      ", + "documentation":"

      Creates or modifies the PublicAccessBlock configuration for an Amazon S3 bucket. To use this operation, you must have the s3:PutBucketPublicAccessBlock permission. For more information about Amazon S3 permissions, see Specifying Permissions in a Policy.

      When Amazon S3 evaluates the PublicAccessBlock configuration for a bucket or an object, it checks the PublicAccessBlock configuration for both the bucket (or the bucket that contains the object) and the bucket owner's account. If the PublicAccessBlock configurations are different between the bucket and the account, S3 uses the most restrictive combination of the bucket-level and account-level settings.

      For more information about when Amazon S3 considers a bucket or an object public, see The Meaning of \"Public\".

      The following operations are related to PutPublicAccessBlock:

      ", "httpChecksum":{ "requestAlgorithmMember":"ChecksumAlgorithm", "requestChecksumRequired":true @@ -2203,7 +2203,7 @@ }, "StorageClass":{ "shape":"StorageClass", - "documentation":"

      By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. The STANDARD storage class provides high durability and high availability. Depending on performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For more information, see Storage Classes in the Amazon S3 User Guide.

      ", + "documentation":"

      If the x-amz-storage-class header is not used, the copied object will be stored in the STANDARD Storage Class by default. The STANDARD storage class provides high durability and high availability. Depending on performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For more information, see Storage Classes in the Amazon S3 User Guide.

      ", "location":"header", "locationName":"x-amz-storage-class" }, @@ -2233,7 +2233,7 @@ }, "SSEKMSKeyId":{ "shape":"SSEKMSKeyId", - "documentation":"

      Specifies the KMS key ID to use for object encryption. All GET and PUT requests for an object protected by KMS will fail if they're not made via SSL or using SigV4. For information about configuring any of the officially supported Amazon Web Services SDKs and Amazon Web Services CLI, see Specifying the Signature Version in Request Authentication in the Amazon S3 User Guide.

      ", + "documentation":"

      Specifies the KMS ID (Key ID, Key ARN, or Key Alias) to use for object encryption. All GET and PUT requests for an object protected by KMS will fail if they're not made via SSL or using SigV4. For information about configuring any of the officially supported Amazon Web Services SDKs and Amazon Web Services CLI, see Specifying the Signature Version in Request Authentication in the Amazon S3 User Guide.

      ", "location":"header", "locationName":"x-amz-server-side-encryption-aws-kms-key-id" }, @@ -2681,7 +2681,7 @@ }, "SSEKMSKeyId":{ "shape":"SSEKMSKeyId", - "documentation":"

      Specifies the ID of the symmetric encryption customer managed key to use for object encryption. All GET and PUT requests for an object protected by KMS will fail if they're not made via SSL or using SigV4. For information about configuring any of the officially supported Amazon Web Services SDKs and Amazon Web Services CLI, see Specifying the Signature Version in Request Authentication in the Amazon S3 User Guide.

      ", + "documentation":"

      Specifies the ID (Key ID, Key ARN, or Key Alias) of the symmetric encryption customer managed key to use for object encryption. All GET and PUT requests for an object protected by KMS will fail if they're not made via SSL or using SigV4. For information about configuring any of the officially supported Amazon Web Services SDKs and Amazon Web Services CLI, see Specifying the Signature Version in Request Authentication in the Amazon S3 User Guide.

      ", "location":"header", "locationName":"x-amz-server-side-encryption-aws-kms-key-id" }, @@ -3113,7 +3113,7 @@ "members":{ "DeleteMarker":{ "shape":"DeleteMarker", - "documentation":"

      Specifies whether the versioned object that was permanently deleted was (true) or was not (false) a delete marker.

      ", + "documentation":"

      Indicates whether the specified object version that was permanently deleted was (true) or was not (false) a delete marker before deletion. In a simple DELETE, this header indicates whether (true) or not (false) the current version of the object is a delete marker.

      ", "location":"header", "locationName":"x-amz-delete-marker" }, @@ -3329,7 +3329,7 @@ }, "DeleteMarker":{ "shape":"DeleteMarker", - "documentation":"

      Specifies whether the versioned object that was permanently deleted was (true) or was not (false) a delete marker. In a simple DELETE, this header indicates whether (true) or not (false) a delete marker was created.

      " + "documentation":"

      Indicates whether the specified object version that was permanently deleted was (true) or was not (false) a delete marker before deletion. In a simple DELETE, this header indicates whether (true) or not (false) the current version of the object is a delete marker.

      " }, "DeleteMarkerVersionId":{ "shape":"DeleteMarkerVersionId", @@ -8940,7 +8940,7 @@ }, "SSEKMSKeyId":{ "shape":"SSEKMSKeyId", - "documentation":"

      If x-amz-server-side-encryption has a valid value of aws:kms or aws:kms:dsse, this header specifies the ID of the Key Management Service (KMS) symmetric encryption customer managed key that was used for the object. If you specify x-amz-server-side-encryption:aws:kms or x-amz-server-side-encryption:aws:kms:dsse, but do not provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the Amazon Web Services managed key (aws/s3) to protect the data. If the KMS key does not exist in the same account that's issuing the command, you must use the full ARN and not just the ID.

      ", + "documentation":"

      If x-amz-server-side-encryption has a valid value of aws:kms or aws:kms:dsse, this header specifies the ID (Key ID, Key ARN, or Key Alias) of the Key Management Service (KMS) symmetric encryption customer managed key that was used for the object. If you specify x-amz-server-side-encryption:aws:kms or x-amz-server-side-encryption:aws:kms:dsse, but do not provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the Amazon Web Services managed key (aws/s3) to protect the data. If the KMS key does not exist in the same account that's issuing the command, you must use the full ARN and not just the ID.

      ", "location":"header", "locationName":"x-amz-server-side-encryption-aws-kms-key-id" }, @@ -9425,7 +9425,8 @@ "COMPLETE", "PENDING", "FAILED", - "REPLICA" + "REPLICA", + "COMPLETED" ] }, "ReplicationTime":{ @@ -9470,7 +9471,7 @@ }, "RequestPayer":{ "type":"string", - "documentation":"

      Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. For information about downloading objects from Requester Pays buckets, see Downloading Objects in Requester Pays Buckets in the Amazon S3 User Guide.

      ", + "documentation":"

      Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If either the source or destination Amazon S3 bucket has Requester Pays enabled, the requester will pay for corresponding charges to copy the object. For information about downloading objects from Requester Pays buckets, see Downloading Objects in Requester Pays Buckets in the Amazon S3 User Guide.

      ", "enum":["requester"] }, "RequestPaymentConfiguration":{ @@ -9942,7 +9943,7 @@ }, "KMSMasterKeyID":{ "shape":"SSEKMSKeyId", - "documentation":"

      Amazon Web Services Key Management Service (KMS) customer Amazon Web Services KMS key ID to use for the default encryption. This parameter is allowed if and only if SSEAlgorithm is set to aws:kms.

      You can specify the key ID or the Amazon Resource Name (ARN) of the KMS key. If you use a key ID, you can run into a LogDestination undeliverable error when creating a VPC flow log.

      If you are using encryption with cross-account or Amazon Web Services service operations you must use a fully qualified KMS key ARN. For more information, see Using encryption for cross-account operations.

      • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

      • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

      Amazon S3 only supports symmetric encryption KMS keys. For more information, see Asymmetric keys in Amazon Web Services KMS in the Amazon Web Services Key Management Service Developer Guide.

      " + "documentation":"

      Amazon Web Services Key Management Service (KMS) customer Amazon Web Services KMS key ID to use for the default encryption. This parameter is allowed if and only if SSEAlgorithm is set to aws:kms.

      You can specify the key ID, key alias, or the Amazon Resource Name (ARN) of the KMS key.

      • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

      • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

      • Key Alias: alias/alias-name

      If you use a key ID, you can run into a LogDestination undeliverable error when creating a VPC flow log.

      If you are using encryption with cross-account or Amazon Web Services service operations you must use a fully qualified KMS key ARN. For more information, see Using encryption for cross-account operations.

      Amazon S3 only supports symmetric encryption KMS keys. For more information, see Asymmetric keys in Amazon Web Services KMS in the Amazon Web Services Key Management Service Developer Guide.

      " } }, "documentation":"

      Describes the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied. If you don't specify a customer managed key at configuration, Amazon S3 automatically creates an Amazon Web Services KMS key in your Amazon Web Services account the first time that you add an object encrypted with SSE-KMS to a bucket. By default, Amazon S3 uses this KMS key for SSE-KMS. For more information, see PUT Bucket encryption in the Amazon S3 API Reference.

      " @@ -9979,7 +9980,7 @@ "flattened":true }, "Setting":{"type":"boolean"}, - "Size":{"type":"integer"}, + "Size":{"type":"long"}, "SkipValidation":{"type":"boolean"}, "SourceSelectionCriteria":{ "type":"structure", @@ -10906,7 +10907,7 @@ }, "SSEKMSKeyId":{ "shape":"SSEKMSKeyId", - "documentation":"

      If present, specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed key that was used for stored in Amazon S3 object.

      ", + "documentation":"

      If present, specifies the ID (Key ID, Key ARN, or Key Alias) of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed key that was used for stored in Amazon S3 object.

      ", "location":"header", "locationName":"x-amz-fwd-header-x-amz-server-side-encryption-aws-kms-key-id" }, diff --git a/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crossregion/S3CrossRegionAsyncClientRedirectTest.java b/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crossregion/S3CrossRegionAsyncClientRedirectTest.java index d7de49a5ff85..c4951f3a3bb4 100644 --- a/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crossregion/S3CrossRegionAsyncClientRedirectTest.java +++ b/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crossregion/S3CrossRegionAsyncClientRedirectTest.java @@ -36,7 +36,7 @@ import software.amazon.awssdk.services.s3.model.S3Exception; import software.amazon.awssdk.utils.CompletableFutureUtils; -public class S3CrossRegionAsyncClientRedirectTest extends S3DecoratorRedirectTestBase { +public class S3CrossRegionAsyncClientRedirectTest extends S3CrossRegionRedirectTestBase { private static S3AsyncClient mockDelegateAsyncClient; private S3AsyncClient decoratedS3AsyncClient; @@ -77,8 +77,7 @@ protected void stubServiceClientConfiguration() { @Override protected void stubClientAPICallWithFirstRedirectThenSuccessWithRegionInErrorResponse(Integer redirect) { when(mockDelegateAsyncClient.listObjects(any(ListObjectsRequest.class))) - .thenReturn(CompletableFutureUtils.failedFuture(new CompletionException(redirectException(redirect, CROSS_REGION.id(), null, - null)))) + .thenReturn(CompletableFutureUtils.failedFuture(new CompletionException(redirectException(redirect, CROSS_REGION.id(), null, null)))) .thenReturn(CompletableFuture.completedFuture(ListObjectsResponse.builder().contents(S3_OBJECTS).build() )); } @@ -132,6 +131,35 @@ protected void verifyHeadBucketServiceCall(int times) { verify(mockDelegateAsyncClient, times(times)).headBucket(any(Consumer.class)); } + @Override + protected void stubApiWithAuthorizationHeaderMalformedError() { + when(mockDelegateAsyncClient.listObjects(any(ListObjectsRequest.class))) + .thenReturn(CompletableFutureUtils.failedFuture( + new CompletionException(redirectException(400, null, "AuthorizationHeaderMalformed", null)))) + .thenReturn(CompletableFuture.completedFuture(ListObjectsResponse.builder().contents(S3_OBJECTS).build())); + } + + @Override + protected void stubApiWithAuthorizationHeaderWithInternalSoftwareError() { + + when(mockDelegateAsyncClient.headBucket(any(HeadBucketRequest.class))) + .thenReturn(CompletableFutureUtils.failedFuture( + new CompletionException(redirectException(500,null, "InternalError", null)))); + when(mockDelegateAsyncClient.headBucket(any(Consumer.class))) + .thenReturn(CompletableFutureUtils.failedFuture(new CompletionException(redirectException(500,null, + "InternalError", null)))); + } + + @Override + protected void stubHeadBucketRedirectWithAuthorizationHeaderMalformed() { + when(mockDelegateAsyncClient.headBucket(any(HeadBucketRequest.class))) + .thenReturn(CompletableFutureUtils.failedFuture( + new CompletionException(redirectException(400,CROSS_REGION.id(), "AuthorizationHeaderMalformed", null)))); + when(mockDelegateAsyncClient.headBucket(any(Consumer.class))) + .thenReturn(CompletableFutureUtils.failedFuture( + new CompletionException(redirectException(400,CROSS_REGION.id(), "AuthorizationHeaderMalformed", null)))); + } + @Override protected void verifyNoBucketCall() { assertThatExceptionOfType(CompletionException.class) diff --git a/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crossregion/S3CrossRegionAsyncClientTest.java b/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crossregion/S3CrossRegionAsyncClientTest.java index 382411840030..061cbccffe21 100644 --- a/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crossregion/S3CrossRegionAsyncClientTest.java +++ b/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crossregion/S3CrossRegionAsyncClientTest.java @@ -17,18 +17,18 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatExceptionOfType; -import static org.assertj.core.api.Assertions.assertThatIllegalStateException; -import static software.amazon.awssdk.services.s3.internal.crossregion.S3DecoratorRedirectTestBase.CHANGED_CROSS_REGION; -import static software.amazon.awssdk.services.s3.internal.crossregion.S3DecoratorRedirectTestBase.CROSS_REGION; -import static software.amazon.awssdk.services.s3.internal.crossregion.S3DecoratorRedirectTestBase.OVERRIDE_CONFIGURED_REGION; -import static software.amazon.awssdk.services.s3.internal.crossregion.S3DecoratorRedirectTestBase.X_AMZ_BUCKET_REGION; +import static software.amazon.awssdk.services.s3.internal.crossregion.S3CrossRegionRedirectTestBase.CHANGED_CROSS_REGION; +import static software.amazon.awssdk.services.s3.internal.crossregion.S3CrossRegionRedirectTestBase.CROSS_REGION; +import static software.amazon.awssdk.services.s3.internal.crossregion.S3CrossRegionRedirectTestBase.CROSS_REGION_BUCKET; +import static software.amazon.awssdk.services.s3.internal.crossregion.S3CrossRegionRedirectTestBase.OVERRIDE_CONFIGURED_REGION; +import static software.amazon.awssdk.services.s3.internal.crossregion.S3CrossRegionRedirectTestBase.X_AMZ_BUCKET_REGION; import java.net.URI; import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletionException; -import java.util.concurrent.ExecutionException; import java.util.function.Consumer; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -39,7 +39,6 @@ import org.junit.jupiter.params.provider.MethodSource; import software.amazon.awssdk.core.ResponseBytes; import software.amazon.awssdk.core.async.AsyncResponseTransformer; -import software.amazon.awssdk.core.exception.SdkClientException; import software.amazon.awssdk.core.interceptor.Context; import software.amazon.awssdk.core.interceptor.ExecutionAttributes; import software.amazon.awssdk.core.interceptor.ExecutionInterceptor; @@ -51,12 +50,8 @@ import software.amazon.awssdk.http.SdkHttpMethod; import software.amazon.awssdk.http.SdkHttpRequest; import software.amazon.awssdk.http.SdkHttpResponse; -import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.s3.S3AsyncClient; import software.amazon.awssdk.services.s3.S3AsyncClientBuilder; -import software.amazon.awssdk.services.s3.S3Client; -import software.amazon.awssdk.services.s3.S3Configuration; -import software.amazon.awssdk.services.s3.S3ServiceClientConfiguration; import software.amazon.awssdk.services.s3.endpoints.internal.DefaultS3EndpointProvider; import software.amazon.awssdk.services.s3.internal.crossregion.endpointprovider.BucketEndpointProvider; import software.amazon.awssdk.services.s3.model.GetObjectRequest; @@ -70,48 +65,114 @@ class S3CrossRegionAsyncClientTest { - private static final String RESPONSE = "response"; + private static final String ERROR_RESPONSE_FORMAT = "\\n\\t%s\\n"; private static final String BUCKET = "bucket"; private static final String KEY = "key"; private static final String TOKEN = "token"; - private MockAsyncHttpClient mockAsyncHttpClient ; + private MockAsyncHttpClient mockAsyncHttpClient; private CaptureInterceptor captureInterceptor; private S3AsyncClient s3Client; @BeforeEach - void before() { + void setUp() { mockAsyncHttpClient = new MockAsyncHttpClient(); captureInterceptor = new CaptureInterceptor(); s3Client = clientBuilder().build(); } - public static Stream stubResponses() { - Consumer redirectStubConsumer = mockSyncHttpClient -> - mockSyncHttpClient.stubResponses(customHttpResponse(301, CROSS_REGION.id()), successHttpResponse()); + private static Stream stubSuccessfulRedirectResponses() { + Consumer redirectStubConsumer = mockAsyncHttpClient -> + mockAsyncHttpClient.stubResponses(customHttpResponseWithUnknownErrorCode(301, CROSS_REGION.id()), successHttpResponse()); - Consumer successStubConsumer = mockSyncHttpClient -> - mockSyncHttpClient.stubResponses(successHttpResponse(), successHttpResponse()); + Consumer successStubConsumer = mockAsyncHttpClient -> + mockAsyncHttpClient.stubResponses(successHttpResponse(), successHttpResponse()); + + Consumer malFormerAuthError = mockAsyncHttpClient -> + mockAsyncHttpClient.stubResponses( + customHttpResponse(400, "AuthorizationHeaderMalformed", null), + customHttpResponse(400, "AuthorizationHeaderMalformed", CROSS_REGION_BUCKET), + successHttpResponse()); + + return Stream.of( + Arguments.of(redirectStubConsumer, BucketEndpointProvider.class, "Redirect Error with region in x-amz-bucket-header"), + Arguments.of(successStubConsumer, DefaultS3EndpointProvider.class, "Success response" ), + Arguments.of(malFormerAuthError, BucketEndpointProvider.class, "Authorization Malformed Error with region in x-amz-bucket-header in Head bucket response" ) + ); + } + + + private static Stream stubFailureResponses() { + + List noregionOnHeadBucketHttpMethodListMethodList = Arrays.asList(SdkHttpMethod.GET, SdkHttpMethod.HEAD); + List regionOnHeadBucketHttpMethodList = Arrays.asList(SdkHttpMethod.GET, SdkHttpMethod.HEAD, SdkHttpMethod.GET); + List noRegionOnHeadBucket = Arrays.asList(OVERRIDE_CONFIGURED_REGION.toString(), + OVERRIDE_CONFIGURED_REGION.toString()); + + List regionOnHeadBucket = Arrays.asList(OVERRIDE_CONFIGURED_REGION.toString(), + OVERRIDE_CONFIGURED_REGION.toString(), + CROSS_REGION.id()); + + Consumer redirectFailedWithNoRegionFailure = mockAsyncHttpClient -> + mockAsyncHttpClient.stubResponses(customHttpResponseWithUnknownErrorCode(301, null), + customHttpResponseWithUnknownErrorCode(301, null), + successHttpResponse(), successHttpResponse()); + + Consumer authMalformedWithNoRegion = mockAsyncHttpClient -> + mockAsyncHttpClient.stubResponses(customHttpResponse(400, "AuthorizationHeaderMalformed", null), + customHttpResponse(400, "AuthorizationHeaderMalformed", null)); + + Consumer authMalformedAuthorizationFailureAfterRegionRetrieval = mockAsyncHttpClient -> + mockAsyncHttpClient.stubResponses(customHttpResponse(400, "AuthorizationHeaderMalformed", null), + customHttpResponse(400, "AuthorizationHeaderMalformed", CROSS_REGION.id()), + customHttpResponse(400, "AuthorizationHeaderMalformed", CROSS_REGION.id())); return Stream.of( - Arguments.of(redirectStubConsumer, BucketEndpointProvider.class), - Arguments.of(successStubConsumer, DefaultS3EndpointProvider.class) + Arguments.of(redirectFailedWithNoRegionFailure, 301, 2, noRegionOnHeadBucket, noregionOnHeadBucketHttpMethodListMethodList), + Arguments.of(authMalformedWithNoRegion, 400, 2, noRegionOnHeadBucket, noregionOnHeadBucketHttpMethodListMethodList), + Arguments.of(authMalformedAuthorizationFailureAfterRegionRetrieval, 400, 3, regionOnHeadBucket, + regionOnHeadBucketHttpMethodList) ); } - @ParameterizedTest - @MethodSource("stubResponses") - void standardOp_crossRegionClient_noOverrideConfig_SuccessfullyIntercepts(Consumer stubConsumer, - Class endpointProviderType) { + public static HttpExecuteResponse successHttpResponse() { + return HttpExecuteResponse.builder() + .response(SdkHttpResponse.builder() + .statusCode(200) + .build()) + .build(); + } + + public static HttpExecuteResponse customHttpResponseWithUnknownErrorCode(int statusCode, String bucket_region) { + return customHttpResponse(statusCode, "UnknownError", bucket_region); + } + + public static HttpExecuteResponse customHttpResponse(int statusCode, String errorCode, String bucket_region) { + SdkHttpFullResponse.Builder httpResponseBuilder = SdkHttpResponse.builder(); + if (StringUtils.isNotBlank(bucket_region)) { + httpResponseBuilder.appendHeader(X_AMZ_BUCKET_REGION, bucket_region); + } + return HttpExecuteResponse.builder() + .response(httpResponseBuilder.statusCode(statusCode).build()) + .responseBody(AbortableInputStream.create(new StringInputStream(String.format(ERROR_RESPONSE_FORMAT, errorCode)))) + .build(); + } + + @ParameterizedTest(name = "{index} - {2}.") + @MethodSource("stubSuccessfulRedirectResponses") + void given_CrossRegionClientWithNoOverrideConfig_when_StandardOperationIsPerformed_then_SuccessfullyIntercepts(Consumer stubConsumer, + Class endpointProviderType, + String testCase) { stubConsumer.accept(mockAsyncHttpClient); S3AsyncClient crossRegionClient = new S3CrossRegionAsyncClient(s3Client); crossRegionClient.getObject(r -> r.bucket(BUCKET).key(KEY), AsyncResponseTransformer.toBytes()).join(); assertThat(captureInterceptor.endpointProvider).isInstanceOf(endpointProviderType); } - @ParameterizedTest - @MethodSource("stubResponses") - void standardOp_crossRegionClient_existingOverrideConfig_SuccessfullyIntercepts(Consumer stubConsumer, - Class endpointProviderType) { + @ParameterizedTest(name = "{index} - {2}.") + @MethodSource("stubSuccessfulRedirectResponses") + void given_CrossRegionClientWithExistingOverrideConfig_when_StandardOperationIsPerformed_then_SuccessfullyIntercepts(Consumer stubConsumer, + Class endpointProviderType, + String testCase) { stubConsumer.accept(mockAsyncHttpClient); S3AsyncClient crossRegionClient = new S3CrossRegionAsyncClient(s3Client); GetObjectRequest request = GetObjectRequest.builder() @@ -124,10 +185,11 @@ void standardOp_crossRegionClient_existingOverrideConfig_SuccessfullyIntercepts( assertThat(mockAsyncHttpClient.getLastRequest().headers().get("someheader")).isNotNull(); } - @ParameterizedTest - @MethodSource("stubResponses") - void paginatedOp_crossRegionClient_DoesIntercept(Consumer stubConsumer, - Class endpointProviderType) throws Exception { + @ParameterizedTest(name = "{index} - {2}.") + @MethodSource("stubSuccessfulRedirectResponses") + void given_CrossRegionClient_when_PaginatedOperationIsPerformed_then_DoesNotIntercept(Consumer stubConsumer, + Class endpointProviderType, + String testCase) throws Exception { stubConsumer.accept(mockAsyncHttpClient); S3AsyncClient crossRegionClient = new S3CrossRegionAsyncClient(s3Client); ListObjectsV2Publisher publisher = @@ -137,10 +199,11 @@ void paginatedOp_crossRegionClient_DoesIntercept(Consumer s assertThat(captureInterceptor.endpointProvider).isInstanceOf(endpointProviderType); } - @ParameterizedTest - @MethodSource("stubResponses") - void crossRegionClient_createdWithWrapping_SuccessfullyIntercepts(Consumer stubConsumer, - Class endpointProviderType) { + @ParameterizedTest(name = "{index} - {2}.") + @MethodSource("stubSuccessfulRedirectResponses") + void given_CrossRegionClientCreatedWithWrapping_when_OperationIsPerformed_then_SuccessfullyIntercepts(Consumer stubConsumer, + Class endpointProviderType, + String testCase) { stubConsumer.accept(mockAsyncHttpClient); S3AsyncClient crossRegionClient = clientBuilder().crossRegionAccessEnabled(true).build(); crossRegionClient.getObject(r -> r.bucket(BUCKET).key(KEY), AsyncResponseTransformer.toBytes()).join(); @@ -148,10 +211,10 @@ void crossRegionClient_createdWithWrapping_SuccessfullyIntercepts(Consumer requests = mockAsyncHttpClient.getRequests(); assertThat(requests).hasSize(3); - assertThat(requests.stream().map(req -> req.host().substring(10,req.host().length() - 14 )).collect(Collectors.toList())) + assertThat(requests.stream().map(req -> req.host().substring(10, req.host().length() - 14)).collect(Collectors.toList())) .isEqualTo(Arrays.asList(OVERRIDE_CONFIGURED_REGION.id(), OVERRIDE_CONFIGURED_REGION.id(), CROSS_REGION.id())); @@ -178,44 +241,49 @@ void crossRegionClient_CallsHeadObject_when_regionNameNotPresentInFallBackCall() List postCacheRequests = mockAsyncHttpClient.getRequests(); assertThat(postCacheRequests.stream() - .map(req -> req.host().substring(10,req.host().length() - 14 )) + .map(req -> req.host().substring(10, req.host().length() - 14)) .collect(Collectors.toList())) - .isEqualTo(Arrays.asList(CROSS_REGION.id())); + .isEqualTo(Collections.singletonList(CROSS_REGION.id())); assertThat(postCacheRequests.stream().map(req -> req.method()).collect(Collectors.toList())) - .isEqualTo(Arrays.asList(SdkHttpMethod.GET)); + .isEqualTo(Collections.singletonList(SdkHttpMethod.GET)); assertThat(captureInterceptor.endpointProvider).isInstanceOf(BucketEndpointProvider.class); - } - @Test - void crossRegionClient_CallsHeadObjectErrors_shouldTerminateTheAPI() { - mockAsyncHttpClient.stubResponses(customHttpResponse(301, null ), - customHttpResponse(400, null ), - successHttpResponse(), successHttpResponse()); + @ParameterizedTest(name = "{index} - Status code = {1} with HeadBucket bucket regions {3}.") + @MethodSource("stubFailureResponses") + void given_CrossRegionClient_when_CallsHeadObjectErrors_then_ShouldTerminateTheAPI( + Consumer stubFailureResponses, + Integer statusCode, Integer numberOfRequests, + List redirectedBuckets, + List sdkHttpMethods) { + + stubFailureResponses.accept(mockAsyncHttpClient); + S3AsyncClient crossRegionClient = clientBuilder().endpointOverride(null).region(OVERRIDE_CONFIGURED_REGION) .crossRegionAccessEnabled(true).build(); + String errorMessage = String.format("software.amazon.awssdk.services.s3.model.S3Exception: null " + + "(Service: S3, Status Code: %d, Request ID: null)" + , statusCode); assertThatExceptionOfType(CompletionException.class) .isThrownBy(() -> crossRegionClient.getObject(r -> r.bucket(BUCKET).key(KEY), AsyncResponseTransformer.toBytes()).join()) - .withMessageContaining("software.amazon.awssdk.services.s3.model.S3Exception: null (Service: S3, Status Code: 400, Request ID: null)"); + .withMessageContaining(errorMessage); List requests = mockAsyncHttpClient.getRequests(); - assertThat(requests).hasSize(2); + assertThat(requests).hasSize(numberOfRequests); - assertThat(requests.stream().map(req -> req.host().substring(10,req.host().length() - 14 )).collect(Collectors.toList())) - .isEqualTo(Arrays.asList(OVERRIDE_CONFIGURED_REGION.toString(), - OVERRIDE_CONFIGURED_REGION.toString())); + assertThat(requests.stream().map(req -> req.host().substring(10, req.host().length() - 14)).collect(Collectors.toList())) + .isEqualTo(redirectedBuckets); assertThat(requests.stream().map(req -> req.method()).collect(Collectors.toList())) - .isEqualTo(Arrays.asList(SdkHttpMethod.GET, - SdkHttpMethod.HEAD)); + .isEqualTo(sdkHttpMethods); } @Test - void crossRegionClient_CallsHeadObjectWithNoRegion_shouldTerminateHeadBucketAPI() { - mockAsyncHttpClient.stubResponses(customHttpResponse(301, null ), - customHttpResponse(301, null ), + void given_CrossRegionClient_when_CallsHeadObjectWithNoRegion_then_ShouldTerminateHeadBucketAPI() { + mockAsyncHttpClient.stubResponses(customHttpResponseWithUnknownErrorCode(301, null), + customHttpResponseWithUnknownErrorCode(301, null), successHttpResponse(), successHttpResponse()); S3AsyncClient crossRegionClient = clientBuilder().endpointOverride(null).region(OVERRIDE_CONFIGURED_REGION) @@ -223,13 +291,14 @@ void crossRegionClient_CallsHeadObjectWithNoRegion_shouldTerminateHeadBucketAPI( assertThatExceptionOfType(CompletionException.class) .isThrownBy(() -> crossRegionClient.getObject(r -> r.bucket(BUCKET).key(KEY), AsyncResponseTransformer.toBytes()).join()) - .withMessageContaining("software.amazon.awssdk.services.s3.model.S3Exception: null (Service: S3, Status Code: 301, Request ID: null)") + .withMessageContaining("software.amazon.awssdk.services.s3.model.S3Exception: null (Service: S3, Status Code: 301, " + + "Request ID: null)") .withCauseInstanceOf(S3Exception.class).withRootCauseExactlyInstanceOf(S3Exception.class); List requests = mockAsyncHttpClient.getRequests(); assertThat(requests).hasSize(2); - assertThat(requests.stream().map(req -> req.host().substring(10,req.host().length() - 14 )).collect(Collectors.toList())) + assertThat(requests.stream().map(req -> req.host().substring(10, req.host().length() - 14)).collect(Collectors.toList())) .isEqualTo(Arrays.asList(OVERRIDE_CONFIGURED_REGION.toString(), OVERRIDE_CONFIGURED_REGION.toString())); @@ -238,29 +307,29 @@ void crossRegionClient_CallsHeadObjectWithNoRegion_shouldTerminateHeadBucketAPI( SdkHttpMethod.HEAD)); } - @Test - void crossRegionClient_cancelsTheThread_when_futureIsCancelled(){ + void given_CrossRegionClient_when_FutureIsCancelled_then_ShouldCancelTheThread() { mockAsyncHttpClient.reset(); - mockAsyncHttpClient.stubResponses(customHttpResponse(301, null), - customHttpResponse(301, CROSS_REGION.id()), + mockAsyncHttpClient.stubResponses(customHttpResponseWithUnknownErrorCode(301, null), + customHttpResponseWithUnknownErrorCode(301, CROSS_REGION.id()), successHttpResponse(), successHttpResponse()); S3AsyncClient crossRegionClient = clientBuilder().endpointOverride(null).region(OVERRIDE_CONFIGURED_REGION).crossRegionAccessEnabled(true).build(); - CompletableFuture> completableFuture = crossRegionClient.getObject(r -> r.bucket(BUCKET).key(KEY) - , AsyncResponseTransformer.toBytes()); + + CompletableFuture> completableFuture = + crossRegionClient.getObject(r -> r.bucket(BUCKET).key(KEY), AsyncResponseTransformer.toBytes()); completableFuture.cancel(true); assertThat(completableFuture.isCancelled()).isTrue(); } @Test - void crossRegionClient_when_redirectsAfterCaching() { - mockAsyncHttpClient.stubResponses(customHttpResponse(301, CROSS_REGION.id()), - successHttpResponse(), - successHttpResponse(), - customHttpResponse(301, CHANGED_CROSS_REGION.id()), - successHttpResponse()); + void given_CrossRegionClient_when_RedirectsAfterCaching_then_ExpectedBehaviorOccurs() { + mockAsyncHttpClient.stubResponses(customHttpResponseWithUnknownErrorCode(301, CROSS_REGION.id()), + successHttpResponse(), + successHttpResponse(), + customHttpResponseWithUnknownErrorCode(301, CHANGED_CROSS_REGION.id()), + successHttpResponse()); S3AsyncClient crossRegionClient = clientBuilder().endpointOverride(null).region(OVERRIDE_CONFIGURED_REGION).crossRegionAccessEnabled(true).build(); crossRegionClient.getObject(r -> r.bucket(BUCKET).key(KEY), AsyncResponseTransformer.toBytes()).join(); @@ -272,7 +341,7 @@ void crossRegionClient_when_redirectsAfterCaching() { List requests = mockAsyncHttpClient.getRequests(); assertThat(requests).hasSize(5); - assertThat(requests.stream().map(req -> req.host().substring(10,req.host().length() - 14 )).collect(Collectors.toList())) + assertThat(requests.stream().map(req -> req.host().substring(10, req.host().length() - 14)).collect(Collectors.toList())) .isEqualTo(Arrays.asList(OVERRIDE_CONFIGURED_REGION.toString(), CROSS_REGION.toString(), CROSS_REGION.toString(), @@ -280,18 +349,19 @@ void crossRegionClient_when_redirectsAfterCaching() { CHANGED_CROSS_REGION.toString())); assertThat(requests.stream().map(req -> req.method()).collect(Collectors.toList())) - .isEqualTo(Arrays.asList(SdkHttpMethod.GET,SdkHttpMethod.GET,SdkHttpMethod.GET,SdkHttpMethod.GET,SdkHttpMethod.GET)); + .isEqualTo(Arrays.asList(SdkHttpMethod.GET, SdkHttpMethod.GET, SdkHttpMethod.GET, SdkHttpMethod.GET, + SdkHttpMethod.GET)); } @Test - void crossRegionClient_when_redirectsAfterCaching_withFallBackRedirectWithNoRegion() { - mockAsyncHttpClient.stubResponses(customHttpResponse(301, null ), - customHttpResponse(301, CROSS_REGION.id()), - successHttpResponse(), - successHttpResponse(), - customHttpResponse(301, null), - customHttpResponse(301, CHANGED_CROSS_REGION.id()), - successHttpResponse()); + void given_CrossRegionClient_when_RedirectsAfterCaching_withFallbackRedirectWithNoRegion_then_RetriedCallWithRegionSucceeds() { + mockAsyncHttpClient.stubResponses(customHttpResponseWithUnknownErrorCode(301, null), + customHttpResponseWithUnknownErrorCode(301, CROSS_REGION.id()), + successHttpResponse(), + successHttpResponse(), + customHttpResponseWithUnknownErrorCode(301, null), + customHttpResponseWithUnknownErrorCode(301, CHANGED_CROSS_REGION.id()), + successHttpResponse()); S3AsyncClient crossRegionClient = clientBuilder().endpointOverride(null).region(OVERRIDE_CONFIGURED_REGION).crossRegionAccessEnabled(true).build(); crossRegionClient.getObject(r -> r.bucket(BUCKET).key(KEY), AsyncResponseTransformer.toBytes()).join(); @@ -303,7 +373,7 @@ void crossRegionClient_when_redirectsAfterCaching_withFallBackRedirectWithNoRegi List requests = mockAsyncHttpClient.getRequests(); assertThat(requests).hasSize(7); - assertThat(requests.stream().map(req -> req.host().substring(10,req.host().length() - 14 )).collect(Collectors.toList())) + assertThat(requests.stream().map(req -> req.host().substring(10, req.host().length() - 14)).collect(Collectors.toList())) .isEqualTo(Arrays.asList( OVERRIDE_CONFIGURED_REGION.toString(), OVERRIDE_CONFIGURED_REGION.toString(), CROSS_REGION.toString(), CROSS_REGION.toString(), @@ -316,9 +386,8 @@ void crossRegionClient_when_redirectsAfterCaching_withFallBackRedirectWithNoRegi SdkHttpMethod.GET, SdkHttpMethod.HEAD, SdkHttpMethod.GET)); } - @Test - void standardOp_crossRegionClient_containUserAgent() { + void given_CrossRegionClient_when_StandardOperation_then_ContainsUserAgent() { mockAsyncHttpClient.stubResponses(successHttpResponse()); S3AsyncClient crossRegionClient = clientBuilder().crossRegionAccessEnabled(true).build(); @@ -326,18 +395,13 @@ void standardOp_crossRegionClient_containUserAgent() { assertThat(mockAsyncHttpClient.getLastRequest().firstMatchingHeader("User-Agent").get()).contains("hll/cross-region"); } - @Test - void standardOp_crossRegionClient_FromContextParamBuilder_containUserAgent(){ - mockAsyncHttpClient.stubResponses(successHttpResponse()); - S3AsyncClient crossRegionClient = clientBuilder().crossRegionAccessEnabled(true).build(); - crossRegionClient.getObject(r -> r.bucket(BUCKET).key(KEY), AsyncResponseTransformer.toBytes()).join(); - assertThat(mockAsyncHttpClient.getLastRequest().firstMatchingHeader("User-Agent").get()).contains("hll/cross-region"); - } - @ParameterizedTest - @MethodSource("stubResponses") - void crossRegionClient_fromParamBuilder_createdWithWrapping_SuccessfullyIntercepts(Consumer stubConsumer, - Class endpointProviderType) { + + @ParameterizedTest(name = "{index} - {2}.") + @MethodSource("stubSuccessfulRedirectResponses") + void given_CrossRegionAccessEnabled_when_SuccessfulResponse_then_EndpointIsUpdated(Consumer stubConsumer, + Class endpointProviderType, + String testCase) { stubConsumer.accept(mockAsyncHttpClient); S3AsyncClient crossRegionClient = clientBuilder().crossRegionAccessEnabled(true).build(); crossRegionClient.getObject(r -> r.bucket(BUCKET).key(KEY), AsyncResponseTransformer.toBytes()).join(); @@ -345,11 +409,11 @@ void crossRegionClient_fromParamBuilder_createdWithWrapping_SuccessfullyIntercep } @Test - void standardOp_simpleClient_doesNotContainCrossRegionUserAgent() { + void given_SimpleClient_when_StandardOperation_then_DoesNotContainCrossRegionUserAgent() { mockAsyncHttpClient.stubResponses(successHttpResponse()); S3AsyncClient crossRegionClient = clientBuilder().crossRegionAccessEnabled(false).build(); crossRegionClient.getObject(r -> r.bucket(BUCKET).key(KEY), AsyncResponseTransformer.toBytes()).join(); - assertThat(mockAsyncHttpClient.getLastRequest().firstMatchingHeader("User-Agent").get()).doesNotContain("hll/cross-region"); + assertThat(mockAsyncHttpClient.getLastRequest().firstMatchingHeader("User-Agent").get()).doesNotContain("hll/cross"); } private S3AsyncClientBuilder clientBuilder() { @@ -367,25 +431,4 @@ public void beforeMarshalling(Context.BeforeMarshalling context, ExecutionAttrib endpointProvider = executionAttributes.getAttribute(SdkInternalExecutionAttribute.ENDPOINT_PROVIDER); } } - - - public static HttpExecuteResponse successHttpResponse() { - return HttpExecuteResponse.builder() - .response(SdkHttpResponse.builder() - .statusCode(200) - .build()) - .responseBody(AbortableInputStream.create(new StringInputStream(RESPONSE))) - .build(); - } - - public static HttpExecuteResponse customHttpResponse(int statusCode, String bucket_region) { - SdkHttpFullResponse.Builder httpResponseBuilder = SdkHttpResponse.builder(); - if (StringUtils.isNotBlank(bucket_region)) { - httpResponseBuilder.appendHeader(X_AMZ_BUCKET_REGION, bucket_region); - } - return HttpExecuteResponse.builder() - .response(httpResponseBuilder.statusCode(statusCode).build()) - .responseBody(AbortableInputStream.create(new StringInputStream(RESPONSE))) - .build(); - } } diff --git a/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crossregion/S3DecoratorRedirectTestBase.java b/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crossregion/S3CrossRegionRedirectTestBase.java similarity index 73% rename from services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crossregion/S3DecoratorRedirectTestBase.java rename to services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crossregion/S3CrossRegionRedirectTestBase.java index 18c384412445..d5123149ad00 100644 --- a/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crossregion/S3DecoratorRedirectTestBase.java +++ b/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crossregion/S3CrossRegionRedirectTestBase.java @@ -39,7 +39,7 @@ import software.amazon.awssdk.services.s3.model.S3Exception; import software.amazon.awssdk.services.s3.model.S3Object; -public abstract class S3DecoratorRedirectTestBase { +public abstract class S3CrossRegionRedirectTestBase { public static final String X_AMZ_BUCKET_REGION = "x-amz-bucket-region"; protected static final String CROSS_REGION_BUCKET = "anyBucket"; @@ -77,11 +77,11 @@ void decoratorUsesCache_when_CrossRegionAlreadyPresent(Integer redirect) throws stubServiceClientConfiguration(); stubRedirectSuccessSuccess(redirect); - ListObjectsResponse listObjectsResponse = apiCallToService(); - assertThat(listObjectsResponse.contents()).isEqualTo(S3_OBJECTS); + ListObjectsResponse firstListObjectCall = apiCallToService(); + assertThat(firstListObjectCall.contents()).isEqualTo(S3_OBJECTS); - ListObjectsResponse listObjectsResponseSecondCall = apiCallToService(); - assertThat(listObjectsResponseSecondCall.contents()).isEqualTo(S3_OBJECTS); + ListObjectsResponse secondListObjectCall = apiCallToService(); + assertThat(secondListObjectCall.contents()).isEqualTo(S3_OBJECTS); ArgumentCaptor requestArgumentCaptor = ArgumentCaptor.forClass(ListObjectsRequest.class); verifyTheApiServiceCall(3, requestArgumentCaptor); @@ -131,15 +131,16 @@ void headBucketCalledAndCached__when_RedirectDoesNotHasRegionName(Integer redire stubServiceClientConfiguration(); stubRedirectWithNoRegionAndThenSuccess(redirect); stubHeadBucketRedirect(); - ListObjectsResponse listObjectsResponse = apiCallToService(); - assertThat(listObjectsResponse.contents()).isEqualTo(S3_OBJECTS); + ListObjectsResponse firstListObjectCall = apiCallToService(); + assertThat(firstListObjectCall.contents()).isEqualTo(S3_OBJECTS); ArgumentCaptor preCacheCaptor = ArgumentCaptor.forClass(ListObjectsRequest.class); verifyTheApiServiceCall(2, preCacheCaptor); // We need to get the BucketEndpointProvider in order to update the cache verifyTheEndPointProviderOverridden(1, preCacheCaptor, CROSS_REGION.id()); - listObjectsResponse = apiCallToService(); - assertThat(listObjectsResponse.contents()).isEqualTo(S3_OBJECTS); + + ListObjectsResponse secondListObjectCall = apiCallToService(); + assertThat(secondListObjectCall.contents()).isEqualTo(S3_OBJECTS); // We need to captor again so that we get the args used in second API Call ArgumentCaptor overAllPostCacheCaptor = ArgumentCaptor.forClass(ListObjectsRequest.class); verifyTheApiServiceCall(3, overAllPostCacheCaptor); @@ -162,6 +163,62 @@ void requestsAreNotOverridden_when_NoBucketInRequest() throws Throwable { verifyHeadBucketServiceCall(0); } + @Test + void given_CrossRegionClient_when_AuthorizationFailureInMainCall_then_RegionRetrievedFromHeadBucketFailureResponse() throws Throwable { + stubServiceClientConfiguration(); + stubApiWithAuthorizationHeaderMalformedError() ; + stubHeadBucketRedirect(); + ListObjectsResponse firstListObjectCall = apiCallToService(); + assertThat(firstListObjectCall.contents()).isEqualTo(S3_OBJECTS); + + ArgumentCaptor preCacheCaptor = ArgumentCaptor.forClass(ListObjectsRequest.class); + verifyTheApiServiceCall(2, preCacheCaptor); + // We need to get the BucketEndpointProvider in order to update the cache + verifyTheEndPointProviderOverridden(1, preCacheCaptor, CROSS_REGION.id()); + + + ListObjectsResponse secondListObjectCall = apiCallToService(); + assertThat(secondListObjectCall.contents()).isEqualTo(S3_OBJECTS); + // We need to captor again so that we get the args used in second API Call + ArgumentCaptor overAllPostCacheCaptor = ArgumentCaptor.forClass(ListObjectsRequest.class); + verifyTheApiServiceCall(3, overAllPostCacheCaptor); + assertThat(overAllPostCacheCaptor.getAllValues().get(0).overrideConfiguration().get().endpointProvider()).isNotPresent(); + verifyTheEndPointProviderOverridden(1, overAllPostCacheCaptor, CROSS_REGION.id()); + verifyTheEndPointProviderOverridden(2, overAllPostCacheCaptor, CROSS_REGION.id()); + verifyHeadBucketServiceCall(1); + } + + + @Test + void given_CrossRegionClient_when_AuthorizationFailureInHeadBucketWithRegion_then_CrossRegionCallSucceeds() throws Throwable { + stubServiceClientConfiguration(); + stubApiWithAuthorizationHeaderMalformedError() ; + stubHeadBucketRedirectWithAuthorizationHeaderMalformed(); + ListObjectsResponse firstListObjectCall = apiCallToService(); + assertThat(firstListObjectCall.contents()).isEqualTo(S3_OBJECTS); + + ArgumentCaptor preCacheCaptor = ArgumentCaptor.forClass(ListObjectsRequest.class); + verifyTheApiServiceCall(2, preCacheCaptor); + // We need to get the BucketEndpointProvider in order to update the cache + verifyTheEndPointProviderOverridden(1, preCacheCaptor, CROSS_REGION.id()); + ListObjectsResponse secondListObjectCall = apiCallToService(); + assertThat(secondListObjectCall.contents()).isEqualTo(S3_OBJECTS); + // We need to captor again so that we get the args used in second API Call + ArgumentCaptor overAllPostCacheCaptor = ArgumentCaptor.forClass(ListObjectsRequest.class); + verifyTheApiServiceCall(3, overAllPostCacheCaptor); + assertThat(overAllPostCacheCaptor.getAllValues().get(0).overrideConfiguration().get().endpointProvider()).isNotPresent(); + verifyTheEndPointProviderOverridden(1, overAllPostCacheCaptor, CROSS_REGION.id()); + verifyTheEndPointProviderOverridden(2, overAllPostCacheCaptor, CROSS_REGION.id()); + verifyHeadBucketServiceCall(1); + } + + protected abstract void stubApiWithAuthorizationHeaderWithInternalSoftwareError(); + + + protected abstract void stubHeadBucketRedirectWithAuthorizationHeaderMalformed(); + + protected abstract void stubApiWithAuthorizationHeaderMalformedError(); + protected abstract void verifyNoBucketCall(); protected abstract void verifyNoBucketApiCall(int i, ArgumentCaptor requestArgumentCaptor); diff --git a/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crossregion/S3CrossRegionSyncClientRedirectTest.java b/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crossregion/S3CrossRegionSyncClientRedirectTest.java index 4ac1c582327f..276cf2c43728 100644 --- a/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crossregion/S3CrossRegionSyncClientRedirectTest.java +++ b/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crossregion/S3CrossRegionSyncClientRedirectTest.java @@ -33,7 +33,7 @@ import software.amazon.awssdk.services.s3.model.ListObjectsResponse; import software.amazon.awssdk.services.s3.model.S3Exception; -public class S3CrossRegionSyncClientRedirectTest extends S3DecoratorRedirectTestBase { +public class S3CrossRegionSyncClientRedirectTest extends S3CrossRegionRedirectTestBase { private static S3Client mockDelegateClient; private S3Client decoratedS3Client; @@ -44,6 +44,25 @@ public void setup() { decoratedS3Client = new S3CrossRegionSyncClient(mockDelegateClient); } + @Override + protected void stubApiWithAuthorizationHeaderWithInternalSoftwareError() { + when(mockDelegateClient.headBucket(any(HeadBucketRequest.class))) + .thenThrow(redirectException(500, null, "InternalError", null)); + } + @Override + protected void stubHeadBucketRedirectWithAuthorizationHeaderMalformed() { + when(mockDelegateClient.headBucket(any(HeadBucketRequest.class))) + .thenThrow(redirectException(400, CROSS_REGION.id(), "AuthorizationHeaderMalformed", null)) + .thenReturn(HeadBucketResponse.builder().build()); + } + + @Override + protected void stubApiWithAuthorizationHeaderMalformedError() { + when(mockDelegateClient.listObjects(any(ListObjectsRequest.class))) + .thenThrow(redirectException(400, null, "AuthorizationHeaderMalformed", null)) + .thenReturn(ListObjectsResponse.builder().contents(S3_OBJECTS).build()); + } + @Override protected void verifyNoBucketCall() { assertThatExceptionOfType(S3Exception.class) diff --git a/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crossregion/S3CrossRegionSyncClientTest.java b/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crossregion/S3CrossRegionSyncClientTest.java index f576d09d317e..0501768c2e73 100644 --- a/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crossregion/S3CrossRegionSyncClientTest.java +++ b/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crossregion/S3CrossRegionSyncClientTest.java @@ -17,12 +17,13 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatExceptionOfType; -import static org.assertj.core.api.Assertions.assertThatIllegalStateException; import static software.amazon.awssdk.services.s3.internal.crossregion.S3CrossRegionAsyncClientTest.customHttpResponse; +import static software.amazon.awssdk.services.s3.internal.crossregion.S3CrossRegionAsyncClientTest.customHttpResponseWithUnknownErrorCode; import static software.amazon.awssdk.services.s3.internal.crossregion.S3CrossRegionAsyncClientTest.successHttpResponse; -import static software.amazon.awssdk.services.s3.internal.crossregion.S3DecoratorRedirectTestBase.CHANGED_CROSS_REGION; -import static software.amazon.awssdk.services.s3.internal.crossregion.S3DecoratorRedirectTestBase.CROSS_REGION; -import static software.amazon.awssdk.services.s3.internal.crossregion.S3DecoratorRedirectTestBase.OVERRIDE_CONFIGURED_REGION; +import static software.amazon.awssdk.services.s3.internal.crossregion.S3CrossRegionRedirectTestBase.CHANGED_CROSS_REGION; +import static software.amazon.awssdk.services.s3.internal.crossregion.S3CrossRegionRedirectTestBase.CROSS_REGION; +import static software.amazon.awssdk.services.s3.internal.crossregion.S3CrossRegionRedirectTestBase.CROSS_REGION_BUCKET; +import static software.amazon.awssdk.services.s3.internal.crossregion.S3CrossRegionRedirectTestBase.OVERRIDE_CONFIGURED_REGION; import java.util.Arrays; import java.util.List; @@ -63,53 +64,121 @@ class S3CrossRegionSyncClientTest { private S3Client defaultS3Client; @BeforeEach - void before() { + void setUp() { mockSyncHttpClient = new MockSyncHttpClient(); captureInterceptor = new CaptureInterceptor(); defaultS3Client = clientBuilder().build(); } - private static Stream stubResponses() { + private static Stream stubSuccessfulRedirectResponses() { Consumer redirectStubConsumer = mockSyncHttpClient -> - mockSyncHttpClient.stubResponses(customHttpResponse(301, CROSS_REGION.id()), successHttpResponse()); + mockSyncHttpClient.stubResponses(customHttpResponseWithUnknownErrorCode(301, CROSS_REGION.id()), successHttpResponse()); Consumer successStubConsumer = mockSyncHttpClient -> mockSyncHttpClient.stubResponses(successHttpResponse(), successHttpResponse()); + Consumer malFormerAuthError = mockSyncHttpClient -> + mockSyncHttpClient.stubResponses( + customHttpResponse(400, "AuthorizationHeaderMalformed",null ), + customHttpResponse(400, "AuthorizationHeaderMalformed",CROSS_REGION_BUCKET ), + successHttpResponse()); + return Stream.of( - Arguments.of(redirectStubConsumer, BucketEndpointProvider.class), - Arguments.of(successStubConsumer, DefaultS3EndpointProvider.class) + Arguments.of(redirectStubConsumer, + BucketEndpointProvider.class, + "Redirect Error with region in x-amz-bucket-header"), + Arguments.of(successStubConsumer, + DefaultS3EndpointProvider.class, + "Success response" ), + Arguments.of(malFormerAuthError, + BucketEndpointProvider.class, + "Authorization Malformed Error with region in x-amz-bucket-header in Head bucket response" ) + ); + } + + public static Stream stubFailureResponses() { + + List noregionOnHeadBucketHttpMethodListMethodList = Arrays.asList(SdkHttpMethod.GET, SdkHttpMethod.HEAD); + List regionOnHeadBucketHttpMethodList = Arrays.asList(SdkHttpMethod.GET, SdkHttpMethod.HEAD, SdkHttpMethod.GET); + List noRegionOnHeadBucket = Arrays.asList(OVERRIDE_CONFIGURED_REGION.toString(), + OVERRIDE_CONFIGURED_REGION.toString()); + + List regionOnHeadBucket = Arrays.asList(OVERRIDE_CONFIGURED_REGION.toString(), + OVERRIDE_CONFIGURED_REGION.toString(), + CROSS_REGION.id()); + + Consumer redirectFailedWithNoRegionFailure = mockSyncHttpClient -> + mockSyncHttpClient.stubResponses(customHttpResponseWithUnknownErrorCode(301, null), + customHttpResponseWithUnknownErrorCode(301, null), + successHttpResponse(), successHttpResponse()); + + Consumer authMalformedWithNoRegion = mockSyncHttpClient -> + mockSyncHttpClient.stubResponses(customHttpResponse(400, "AuthorizationHeaderMalformed", null), + customHttpResponse(400, "AuthorizationHeaderMalformed", null)); + + Consumer authMalformedAuthorizationFailureAfterRegionRetrieval = mockSyncHttpClient -> + mockSyncHttpClient.stubResponses(customHttpResponse(400, "AuthorizationHeaderMalformed", null), + customHttpResponse(400, "AuthorizationHeaderMalformed", CROSS_REGION.id()), + customHttpResponse(400, "AuthorizationHeaderMalformed", CROSS_REGION.id())); + + + return Stream.of( + Arguments.of(redirectFailedWithNoRegionFailure, + 301, + 2, + noRegionOnHeadBucket, + noregionOnHeadBucketHttpMethodListMethodList + ), + Arguments.of(authMalformedWithNoRegion, + 400, + 2, + noRegionOnHeadBucket, + noregionOnHeadBucketHttpMethodListMethodList + ), + Arguments.of(authMalformedAuthorizationFailureAfterRegionRetrieval, + 400, + 3, + regionOnHeadBucket, + regionOnHeadBucketHttpMethodList + ) + ); } private static Stream stubOverriddenEndpointProviderResponses() { Consumer redirectStubConsumer = mockSyncHttpClient -> - mockSyncHttpClient.stubResponses(customHttpResponse(301, CROSS_REGION.id()), successHttpResponse()); + mockSyncHttpClient.stubResponses(customHttpResponseWithUnknownErrorCode(301, CROSS_REGION.id()), successHttpResponse()); Consumer successStubConsumer = mockSyncHttpClient -> mockSyncHttpClient.stubResponses(successHttpResponse(), successHttpResponse()); return Stream.of( - Arguments.of(redirectStubConsumer, BucketEndpointProvider.class, CROSS_REGION), - Arguments.of(successStubConsumer, TestEndpointProvider.class, OVERRIDE_CONFIGURED_REGION) + Arguments.of(redirectStubConsumer, BucketEndpointProvider.class, CROSS_REGION, + "Redirect error with Region in x-amz-bucket-region header"), + Arguments.of(successStubConsumer, TestEndpointProvider.class, OVERRIDE_CONFIGURED_REGION, + "Success response.") ); } - @ParameterizedTest - @MethodSource("stubResponses") - void standardOp_crossRegionClient_noOverrideConfig_SuccessfullyIntercepts(Consumer stubConsumer, - Class endpointProviderType) { + @ParameterizedTest(name = "{index} - {2}.") + @MethodSource("stubSuccessfulRedirectResponses") + void given_CrossRegionClientWithNoOverrideConfig_when_StandardOperationIsPerformed_then_SuccessfullyIntercepts( + Consumer stubConsumer, + Class endpointProviderType, + String testCaseName) { stubConsumer.accept(mockSyncHttpClient); S3Client crossRegionClient = new S3CrossRegionSyncClient(defaultS3Client); crossRegionClient.getObject(r -> r.bucket(BUCKET).key(KEY)); assertThat(captureInterceptor.endpointProvider).isInstanceOf(endpointProviderType); } - @ParameterizedTest - @MethodSource("stubResponses") - void standardOp_crossRegionClient_existingOverrideConfig_SuccessfullyIntercepts(Consumer stubConsumer, - Class endpointProviderType) { + @ParameterizedTest(name = "{index} - {2}.") + @MethodSource("stubSuccessfulRedirectResponses") + void given_CrossRegionClientWithExistingOverrideConfig_when_StandardOperationIsPerformed_then_SuccessfullyIntercepts( + Consumer stubConsumer, + Class endpointProviderType, + String testCaseName) { stubConsumer.accept(mockSyncHttpClient); S3Client crossRegionClient = new S3CrossRegionSyncClient(defaultS3Client); GetObjectRequest request = GetObjectRequest.builder() @@ -122,10 +191,11 @@ void standardOp_crossRegionClient_existingOverrideConfig_SuccessfullyIntercepts( assertThat(mockSyncHttpClient.getLastRequest().headers().get("someheader")).isNotNull(); } - @ParameterizedTest - @MethodSource("stubResponses") - void paginatedOp_crossRegionClient_DoesNotIntercept(Consumer stubConsumer, - Class endpointProviderType) { + @ParameterizedTest(name = "{index} - {2}.") + @MethodSource("stubSuccessfulRedirectResponses") + void given_CrossRegionClient_when_PaginatedOperationIsPerformed_then_DoesNotIntercept(Consumer stubConsumer, + Class endpointProviderType, + String testCaseName) { stubConsumer.accept(mockSyncHttpClient); S3Client crossRegionClient = new S3CrossRegionSyncClient(defaultS3Client); ListObjectsV2Iterable iterable = @@ -134,23 +204,25 @@ void paginatedOp_crossRegionClient_DoesNotIntercept(Consumer assertThat(captureInterceptor.endpointProvider).isInstanceOf(endpointProviderType); } - @ParameterizedTest - @MethodSource("stubResponses") - void crossRegionClient_createdWithWrapping_SuccessfullyIntercepts(Consumer stubConsumer, - Class endpointProviderType) { + @ParameterizedTest(name = "{index} - {2}.") + @MethodSource("stubSuccessfulRedirectResponses") + void given_CrossRegionClientCreatedWithWrapping_when_OperationIsPerformed_then_SuccessfullyIntercepts(Consumer stubConsumer, + Class endpointProviderType, + String testCaseName) { stubConsumer.accept(mockSyncHttpClient); - - + + S3Client crossRegionClient = clientBuilder().crossRegionAccessEnabled(true).build(); crossRegionClient.getObject(r -> r.bucket(BUCKET).key(KEY)); assertThat(captureInterceptor.endpointProvider).isInstanceOf(endpointProviderType); } - @ParameterizedTest + @ParameterizedTest(name = "{index} - {3}.") @MethodSource("stubOverriddenEndpointProviderResponses") - void standardOp_crossRegionClient_takesCustomEndpointProviderInRequest(Consumer stubConsumer, + void given_CrossRegionClientWithCustomEndpointProvider_when_StandardOperationIsPerformed_then_UsesCustomEndpoint(Consumer stubConsumer, Class endpointProviderType, - Region region) { + Region region, + String testCaseName) { stubConsumer.accept(mockSyncHttpClient); S3Client crossRegionClient = clientBuilder().crossRegionAccessEnabled(true) .endpointProvider(new TestEndpointProvider()) @@ -169,11 +241,12 @@ void standardOp_crossRegionClient_takesCustomEndpointProviderInRequest(Consumer< assertThat(mockSyncHttpClient.getLastRequest().host()).contains(region.id()); } - @ParameterizedTest + @ParameterizedTest(name = "{index} - {3}.") @MethodSource("stubOverriddenEndpointProviderResponses") - void standardOp_crossRegionClient_takesCustomEndpointProviderInClient(Consumer stubConsumer, + void given_CrossRegionClientWithCustomEndpointProvider_when_StandardOperationIsPerformed_then_UsesCustomEndpointInClient(Consumer stubConsumer, Class endpointProviderType, - Region region) { + Region region, + String testCaseName) { stubConsumer.accept(mockSyncHttpClient); S3Client crossRegionClient = clientBuilder().crossRegionAccessEnabled(true) .endpointProvider(new TestEndpointProvider()) @@ -192,9 +265,9 @@ void standardOp_crossRegionClient_takesCustomEndpointProviderInClient(Consumer stubFailureResponses, + Integer statusCode, Integer numberOfRequests, + List redirectedBucketRegions, + List sdkHttpMethods) { + + stubFailureResponses.accept(mockSyncHttpClient); S3Client crossRegionClient = clientBuilder().endpointOverride(null).region(OVERRIDE_CONFIGURED_REGION).crossRegionAccessEnabled(true).build(); + String description = String.format("Status Code: %d", statusCode); assertThatExceptionOfType(S3Exception.class) .isThrownBy(() -> crossRegionClient.getObject(r -> r.bucket(BUCKET).key(KEY))) - .withMessageContaining("Status Code: 400"); + .withMessageContaining(description); List requests = mockSyncHttpClient.getRequests(); - assertThat(requests).hasSize(2); + assertThat(requests).hasSize(numberOfRequests); assertThat(requests.stream().map(req -> req.host().substring(10,req.host().length() - 14 )).collect(Collectors.toList())) - .isEqualTo(Arrays.asList(OVERRIDE_CONFIGURED_REGION.toString(), - OVERRIDE_CONFIGURED_REGION.toString())); + .isEqualTo(redirectedBucketRegions); assertThat(requests.stream().map(req -> req.method()).collect(Collectors.toList())) - .isEqualTo(Arrays.asList(SdkHttpMethod.GET, - SdkHttpMethod.HEAD)); + .isEqualTo(sdkHttpMethods); } @Test - void crossRegionClient_CallsHeadObjectWithNoRegion_shouldTerminateHeadBucketAPI() { - mockSyncHttpClient.stubResponses(customHttpResponse(301, null ), - customHttpResponse(301, null ), + void given_CrossRegionClient_when_CallsHeadObjectWithNoRegion_then_ShouldTerminateHeadBucketAPI() { + mockSyncHttpClient.stubResponses(customHttpResponseWithUnknownErrorCode(301, null ), + customHttpResponseWithUnknownErrorCode(301, null ), successHttpResponse(), successHttpResponse()); S3Client crossRegionClient = clientBuilder().endpointOverride(null).region(OVERRIDE_CONFIGURED_REGION).crossRegionAccessEnabled(true).build(); @@ -340,7 +416,7 @@ void crossRegionClient_CallsHeadObjectWithNoRegion_shouldTerminateHeadBucketAPI( @Test - void standardOp_crossRegionClient_containUserAgent() { + void given_CrossRegionClient_when_StandardOperation_then_ContainsUserAgent() { mockSyncHttpClient.stubResponses(successHttpResponse()); S3Client crossRegionClient = clientBuilder().crossRegionAccessEnabled(true).build(); crossRegionClient.getObject(r -> r.bucket(BUCKET).key(KEY)); @@ -348,7 +424,7 @@ void standardOp_crossRegionClient_containUserAgent() { } @Test - void standardOp_simpleClient_doesNotContainCrossRegionUserAgent() { + void given_SimpleClient_when_StandardOperation_then_DoesNotContainCrossRegionUserAgent() { mockSyncHttpClient.stubResponses(successHttpResponse()); S3Client crossRegionClient = clientBuilder().crossRegionAccessEnabled(false).build(); crossRegionClient.getObject(r -> r.bucket(BUCKET).key(KEY)); diff --git a/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crt/CopyObjectHelperTest.java b/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crt/CopyObjectHelperTest.java index bd5c34f91048..911b38c139e7 100644 --- a/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crt/CopyObjectHelperTest.java +++ b/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crt/CopyObjectHelperTest.java @@ -82,8 +82,8 @@ void copyObject_HeadObjectRequestFailed_shouldFail() { CompletableFuture future = copyHelper.copyObject(copyObjectRequest()); - assertThatThrownBy(future::join).hasCauseInstanceOf(SdkClientException.class) - .hasMessageContaining("Failed to retrieve metadata") + assertThatThrownBy(future::join).hasCauseInstanceOf(NoSuchBucketException.class) + .hasStackTraceContaining("Failed to retrieve metadata") .hasRootCause(exception); } @@ -199,7 +199,7 @@ void multiPartCopy_onePartFailed_shouldFailOtherPartsAndAbort() { CompletableFuture future = copyHelper.copyObject(copyObjectRequest); - assertThatThrownBy(future::join).hasMessageContaining("Failed to send multipart requests").hasRootCause(exception); + assertThatThrownBy(future::join).hasStackTraceContaining("Failed to send multipart requests").hasCause(exception); verify(s3AsyncClient, never()).completeMultipartUpload(any(CompleteMultipartUploadRequest.class)); @@ -237,7 +237,7 @@ void multiPartCopy_completeMultipartFailed_shouldFailAndAbort() { CompletableFuture future = copyHelper.copyObject(copyObjectRequest); - assertThatThrownBy(future::join).hasMessageContaining("Failed to send multipart requests").hasRootCause(exception); + assertThatThrownBy(future::join).hasStackTraceContaining("Failed to send multipart requests").hasCause(exception); ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(AbortMultipartUploadRequest.class); verify(s3AsyncClient).abortMultipartUpload(argumentCaptor.capture()); diff --git a/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crt/S3CrtResponseHandlerAdapterTest.java b/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crt/S3CrtResponseHandlerAdapterTest.java index d6f263886c05..681eef34b9fa 100644 --- a/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crt/S3CrtResponseHandlerAdapterTest.java +++ b/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/crt/S3CrtResponseHandlerAdapterTest.java @@ -61,8 +61,8 @@ public void setup() { future = new CompletableFuture<>(); sdkResponseHandler = new TestResponseHandler(); responseHandlerAdapter = new S3CrtResponseHandlerAdapter(future, - sdkResponseHandler); - + sdkResponseHandler, + null); responseHandlerAdapter.metaRequest(s3MetaRequest); } diff --git a/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/multipart/UploadObjectHelperTest.java b/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/multipart/UploadObjectHelperTest.java index 9758b77a9d84..c18d4c993114 100644 --- a/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/multipart/UploadObjectHelperTest.java +++ b/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/multipart/UploadObjectHelperTest.java @@ -195,7 +195,7 @@ void mpu_onePartFailed_shouldFailOtherPartsAndAbort(AsyncRequestBody asyncReques asyncRequestBody); assertThatThrownBy(() -> future.get(100, TimeUnit.MILLISECONDS)) - .hasMessageContaining("Failed to send multipart upload requests").hasRootCause(exception); + .hasStackTraceContaining("Failed to send multipart upload requests").hasCause(exception); verify(s3AsyncClient, never()).completeMultipartUpload(any(CompleteMultipartUploadRequest.class)); @@ -277,8 +277,8 @@ void uploadObject_createMultipartUploadFailed_shouldFail(AsyncRequestBody asyncR CompletableFuture future = uploadHelper.uploadObject(putObjectRequest, asyncRequestBody); - assertThatThrownBy(future::join).hasMessageContaining("Failed to initiate multipart upload") - .hasRootCause(exception); + assertThatThrownBy(future::join).hasStackTraceContaining("Failed to initiate multipart upload") + .hasCause(exception); } @ParameterizedTest @@ -302,8 +302,8 @@ void uploadObject_completeMultipartFailed_shouldFailAndAbort(AsyncRequestBody as CompletableFuture future = uploadHelper.uploadObject(putObjectRequest, asyncRequestBody); - assertThatThrownBy(future::join).hasMessageContaining("Failed to send multipart requests") - .hasRootCause(exception); + assertThatThrownBy(future::join).hasCause(exception) + .hasStackTraceContaining("Failed to send multipart requests"); } @ParameterizedTest() diff --git a/services/s3control/pom.xml b/services/s3control/pom.xml index fac6053fc2c9..48dbfe3097c9 100644 --- a/services/s3control/pom.xml +++ b/services/s3control/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT s3control AWS Java SDK :: Services :: Amazon S3 Control diff --git a/services/s3control/src/it/java/software.amazon.awssdk.services.s3control/S3MrapIntegrationTest.java b/services/s3control/src/it/java/software.amazon.awssdk.services.s3control/S3MrapIntegrationTest.java index d0abe039aef7..af18e2257d91 100644 --- a/services/s3control/src/it/java/software.amazon.awssdk.services.s3control/S3MrapIntegrationTest.java +++ b/services/s3control/src/it/java/software.amazon.awssdk.services.s3control/S3MrapIntegrationTest.java @@ -22,17 +22,21 @@ import java.io.IOException; import java.nio.charset.StandardCharsets; import java.time.Duration; -import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Optional; -import org.junit.BeforeClass; -import org.junit.Test; +import java.util.stream.Stream; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; +import software.amazon.awssdk.auth.signer.AwsSignerExecutionAttribute; import software.amazon.awssdk.auth.signer.S3SignerExecutionAttribute; import software.amazon.awssdk.auth.signer.internal.SignerConstant; import software.amazon.awssdk.awscore.presigner.PresignedRequest; import software.amazon.awssdk.core.SdkRequest; -import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration; import software.amazon.awssdk.core.interceptor.Context; import software.amazon.awssdk.core.interceptor.ExecutionAttributes; import software.amazon.awssdk.core.interceptor.ExecutionInterceptor; @@ -48,7 +52,6 @@ import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.s3.S3Client; import software.amazon.awssdk.services.s3.S3Configuration; -import software.amazon.awssdk.services.s3.model.Bucket; import software.amazon.awssdk.services.s3.model.BucketAlreadyOwnedByYouException; import software.amazon.awssdk.services.s3.model.NoSuchKeyException; import software.amazon.awssdk.services.s3.model.PutObjectRequest; @@ -57,7 +60,6 @@ import software.amazon.awssdk.services.s3.presigner.model.PresignedGetObjectRequest; import software.amazon.awssdk.services.s3control.model.BucketAlreadyExistsException; import software.amazon.awssdk.services.s3control.model.CreateMultiRegionAccessPointInput; -import software.amazon.awssdk.services.s3control.model.CreateMultiRegionAccessPointResponse; import software.amazon.awssdk.services.s3control.model.GetMultiRegionAccessPointResponse; import software.amazon.awssdk.services.s3control.model.ListMultiRegionAccessPointsResponse; import software.amazon.awssdk.services.s3control.model.MultiRegionAccessPointStatus; @@ -69,15 +71,14 @@ public class S3MrapIntegrationTest extends S3ControlIntegrationTestBase { private static final Logger log = Logger.loggerFor(S3MrapIntegrationTest.class); - private static final String CHUNKED_PAYLOAD_SIGNING = "STREAMING-AWS4-ECDSA-P256-SHA256-PAYLOAD"; + private static final String SIGV4A_CHUNKED_PAYLOAD_SIGNING = "STREAMING-AWS4-ECDSA-P256-SHA256-PAYLOAD"; + private static final String SIGV4_CHUNKED_PAYLOAD_SIGNING = "STREAMING-AWS4-HMAC-SHA256-PAYLOAD"; private static final String UNSIGNED_PAYLOAD = "UNSIGNED-PAYLOAD"; - private static final Region REGION = Region.US_WEST_2; private static String bucket; private static String mrapName; private static final String KEY = "aws-java-sdk-small-test-object"; private static final String CONTENT = "A short string for a small test object"; - private static final int RETRY_TIMES = 10; private static final int RETRY_DELAY_IN_SECONDS = 30; @@ -86,8 +87,9 @@ public class S3MrapIntegrationTest extends S3ControlIntegrationTestBase { private static String mrapAlias; private static StsClient stsClient; private static S3Client s3Client; + private static S3Client s3ClientWithPayloadSigning; - @BeforeClass + @BeforeAll public static void setupFixture() { captureInterceptor = new CaptureRequestInterceptor(); @@ -96,98 +98,92 @@ public static void setupFixture() { .credentialsProvider(CREDENTIALS_PROVIDER_CHAIN) .build(); - s3Client = S3Client.builder() - .region(REGION) - .credentialsProvider(CREDENTIALS_PROVIDER_CHAIN) - .build(); + s3Client = mrapEnabledS3Client(Collections.singletonList(captureInterceptor)); + s3ClientWithPayloadSigning = mrapEnabledS3Client(Arrays.asList(captureInterceptor, new PayloadSigningInterceptor())); stsClient = StsClient.builder() .credentialsProvider(CREDENTIALS_PROVIDER_CHAIN) .region(REGION) .build(); - String accountId = getAccountId(); + accountId = stsClient.getCallerIdentity().account(); bucket = "do-not-delete-s3mraptest-" + accountId; mrapName = "javaintegtest" + accountId; log.info(() -> "bucket " + bucket); - createBucketIfNotExist(bucket); - createMrapIfNotExist(mrapName); - mrapAlias = getMrapAliasAndVerify(); + createBucketIfNotExist(bucket); + createMrapIfNotExist(accountId, mrapName); + mrapAlias = getMrapAliasAndVerify(accountId, mrapName); } - private static void createBucketIfNotExist(String bucket) { - try { - s3Client.createBucket(b -> b.bucket(bucket)); - s3Client.waiter().waitUntilBucketExists(b -> b.bucket(bucket)); - } catch (BucketAlreadyOwnedByYouException | BucketAlreadyExistsException e) { - // ignore - } + @ParameterizedTest(name = "{index}:key = {1}, {0}") + @MethodSource("keys") + public void when_callingMrapWithDifferentPaths_unsignedPayload_requestIsAccepted(String name, String key, String expected) { + putGetDeleteObjectMrap(s3Client, UNSIGNED_PAYLOAD, key, expected); } - private static String getAccountId() { - return stsClient.getCallerIdentity().account(); + @ParameterizedTest(name = "{index}:key = {1}, {0}") + @MethodSource("keys") + public void when_callingMrapWithDifferentPaths_signedPayload_requestIsAccepted(String name, String key, String expected) { + putGetDeleteObjectMrap(s3ClientWithPayloadSigning, SIGV4A_CHUNKED_PAYLOAD_SIGNING, key, expected); } - public static String getMrapAliasAndVerify() { - GetMultiRegionAccessPointResponse mrap = s3control.getMultiRegionAccessPoint(r -> r.accountId(accountId).name(mrapName)); - assertThat(mrap.accessPoint()).isNotNull(); - assertThat(mrap.accessPoint().name()).isEqualTo(mrapName); - log.info(() -> "Alias: " + mrap.accessPoint().alias()); - return mrap.accessPoint().alias(); + @ParameterizedTest(name = "{index}:key = {1}, {0}") + @MethodSource("keys") + public void when_callingS3WithDifferentPaths_unsignedPayload_requestIsAccepted(String name, String key, String expected) { + putGetDeleteObjectStandard(s3Client, UNSIGNED_PAYLOAD, key, expected); } - @Test - public void object_lifecycle_workflow_through_mrap_unsigned_payload() { - signingWorkflow(Collections.emptyList(), UNSIGNED_PAYLOAD); + @ParameterizedTest(name = "{index}:key = {1}, {0}") + @MethodSource("keys") + public void when_callingS3WithDifferentPaths_signedPayload_requestIsAccepted(String name, String key, String expected) { + putGetDeleteObjectStandard(s3ClientWithPayloadSigning, SIGV4_CHUNKED_PAYLOAD_SIGNING, key, expected); } @Test - public void object_lifecycle_workflow_through_mrap_signed_payload() { - signingWorkflow(Collections.singletonList(new PayloadSigningInterceptor()), CHUNKED_PAYLOAD_SIGNING); - } - - public void signingWorkflow(List interceptors, String payloadSigningTag) { - S3Client s3 = s3Client(interceptors); + public void when_creatingPresignedMrapUrl_getRequestWorks() { S3Presigner presigner = s3Presigner(); + PresignedGetObjectRequest presignedGetObjectRequest = + presigner.presignGetObject(p -> p.getObjectRequest(r -> r.bucket(constructMrapArn(accountId, mrapAlias)).key(KEY)) + .signatureDuration(Duration.ofMinutes(10))); - listAndVerify(s3); - putAndVerify(s3, payloadSigningTag); - getAndVerify(s3); - presignGetAndVerify(presigner); - deleteAndVerify(s3); - } + deleteObjectIfExists(s3Client, constructMrapArn(accountId, mrapAlias), KEY); + s3Client.putObject(r -> r.bucket(constructMrapArn(accountId, mrapAlias)).key(KEY), RequestBody.fromString(CONTENT)); - private void listAndVerify(S3Client s3) { - List buckets = s3.listBuckets().buckets(); - assertThat(buckets.stream().map(Bucket::name)).contains(bucket); - verifySigv4SignedRequest(captureInterceptor.request()); + String object = applyPresignedUrl(presignedGetObjectRequest, null); + assertEquals(CONTENT, object); + verifySigv4aRequest(captureInterceptor.request(), UNSIGNED_PAYLOAD); } - private void putAndVerify(S3Client s3, String payloadSigningTag) { - deleteObjectIfExists(s3); - s3.putObject(r -> r.bucket(constructMrapArn(accountId, mrapAlias)).key(KEY), RequestBody.fromString(CONTENT)); + public void putGetDeleteObjectMrap(S3Client testClient, String payloadSigningTag, String key, String expected) { + deleteObjectIfExists(testClient, constructMrapArn(accountId, mrapAlias), key); + testClient.putObject(r -> r.bucket(constructMrapArn(accountId, mrapAlias)).key(key), RequestBody.fromString(CONTENT)); verifySigv4aRequest(captureInterceptor.request(), payloadSigningTag); - } - private void getAndVerify(S3Client s3) { - String object = - s3.getObjectAsBytes(r -> r.bucket(constructMrapArn(accountId, mrapAlias)).key(KEY)).asString(StandardCharsets.UTF_8); + String object = testClient.getObjectAsBytes(r -> r.bucket(constructMrapArn(accountId, mrapAlias)).key(key)).asString(StandardCharsets.UTF_8); assertEquals(CONTENT, object); verifySigv4aRequest(captureInterceptor.request(), UNSIGNED_PAYLOAD); - } - private void presignGetAndVerify(S3Presigner presigner) { - PresignedGetObjectRequest presignedGetObjectRequest = - presigner.presignGetObject(p -> p.getObjectRequest(r -> r.bucket(constructMrapArn(accountId, mrapAlias)).key(KEY)) - .signatureDuration(Duration.ofMinutes(10))); - String object = applyPresignedUrl(presignedGetObjectRequest, null); - assertEquals(CONTENT, object); + testClient.deleteObject(r -> r.bucket(constructMrapArn(accountId, mrapAlias)).key(key)); verifySigv4aRequest(captureInterceptor.request(), UNSIGNED_PAYLOAD); + + assertThat(captureInterceptor.normalizePath).isNotNull().isEqualTo(false); + assertThat(captureInterceptor.request.encodedPath()).isEqualTo(expected); } - private void deleteAndVerify(S3Client s3) { - s3.deleteObject(r -> r.bucket(constructMrapArn(accountId, mrapAlias)).key(KEY)); - verifySigv4aRequest(captureInterceptor.request(), UNSIGNED_PAYLOAD); + public void putGetDeleteObjectStandard(S3Client testClient, String payloadSigningTag, String key, String expected) { + deleteObjectIfExists(testClient, bucket, key); + testClient.putObject(r -> r.bucket(bucket).key(key), RequestBody.fromString(CONTENT)); + verifySigv4Request(captureInterceptor.request(), payloadSigningTag); + + String object = testClient.getObjectAsBytes(r -> r.bucket(bucket).key(key)).asString(StandardCharsets.UTF_8); + assertEquals(CONTENT, object); + verifySigv4Request(captureInterceptor.request(), UNSIGNED_PAYLOAD); + + testClient.deleteObject(r -> r.bucket(bucket).key(key)); + verifySigv4Request(captureInterceptor.request(), UNSIGNED_PAYLOAD); + + assertThat(captureInterceptor.normalizePath).isNotNull().isEqualTo(false); + assertThat(captureInterceptor.request.encodedPath()).isEqualTo(expected); } private void verifySigv4aRequest(SdkHttpRequest signedRequest, String payloadSigningTag) { @@ -198,13 +194,35 @@ private void verifySigv4aRequest(SdkHttpRequest signedRequest, String payloadSig assertThat(signedRequest.headers().get("X-Amz-Region-Set").get(0)).isEqualTo("*"); } - private void verifySigv4SignedRequest(SdkHttpRequest signedRequest) { + private void verifySigv4Request(SdkHttpRequest signedRequest, String payloadSigningTag) { assertThat(signedRequest.headers().get("Authorization").get(0)).contains(SignerConstant.AWS4_SIGNING_ALGORITHM); - assertThat(signedRequest.headers().get("Host").get(0)).isEqualTo(String.format("s3.%s.amazonaws.com", REGION.id())); - assertThat(signedRequest.headers().get("x-amz-content-sha256").get(0)).isEqualTo(UNSIGNED_PAYLOAD); + assertThat(signedRequest.headers().get("Host").get(0)).isEqualTo(String.format("%s.s3.%s.amazonaws.com", + bucket, REGION.id())); + assertThat(signedRequest.headers().get("x-amz-content-sha256").get(0)).isEqualTo(payloadSigningTag); assertThat(signedRequest.headers().get("X-Amz-Date").get(0)).isNotEmpty(); } + private static Stream keys() { + return Stream.of( + Arguments.of("Slash -> unchanged", "/", "//"), + Arguments.of("Single segment with initial slash -> unchanged", "/foo", "//foo"), + Arguments.of("Single segment no slash -> slash prepended", "foo", "/foo"), + Arguments.of("Multiple segments -> unchanged", "/foo/bar", "//foo/bar"), + Arguments.of("Multiple segments with trailing slash -> unchanged", "/foo/bar/", "//foo/bar/"), + Arguments.of("Multiple segments, urlEncoded slash -> encodes percent", "/foo%2Fbar", "//foo%252Fbar"), + Arguments.of("Single segment, dot -> should remove dot", "/.", "//."), + Arguments.of("Multiple segments with dot -> should remove dot", "/foo/./bar", "//foo/./bar"), + Arguments.of("Multiple segments with ending dot -> should remove dot and trailing slash", "/foo/bar/.", "//foo/bar/."), + Arguments.of("Multiple segments with dots -> should remove dots and preceding segment", "/foo/bar/../baz", "//foo/bar/../baz"), + Arguments.of("First segment has colon -> unchanged, url encoded first", "foo:/bar", "/foo%3A/bar"), + Arguments.of("Multiple segments, urlEncoded slash -> encodes percent", "/foo%2F.%2Fbar", "//foo%252F.%252Fbar"), + Arguments.of("No url encode, Multiple segments with dot -> unchanged", "/foo/./bar", "//foo/./bar"), + Arguments.of("Multiple segments with dots -> unchanged", "/foo/bar/../baz", "//foo/bar/../baz"), + Arguments.of("double slash", "//H", "///H"), + Arguments.of("double slash in middle", "A//H", "/A//H") + ); + } + private String constructMrapArn(String account, String mrapAlias) { return String.format("arn:aws:s3::%s:accesspoint:%s", account, mrapAlias); } @@ -213,29 +231,6 @@ private String constructMrapHostname(String mrapAlias) { return String.format("%s.accesspoint.s3-global.amazonaws.com", mrapAlias); } - private void deleteObjectIfExists(S3Client s3) { - try { - s3.deleteObject(r -> r.bucket(constructMrapArn(accountId, mrapAlias)).key(KEY)); - } catch (NoSuchKeyException e) { - } - } - - private S3Client s3Client(List interceptors) { - List interceptorList = new ArrayList<>(interceptors); - interceptorList.add(captureInterceptor); - - return S3Client.builder() - .region(REGION) - .credentialsProvider(CREDENTIALS_PROVIDER_CHAIN) - .serviceConfiguration(S3Configuration.builder() - .useArnRegionEnabled(true) - .build()) - .overrideConfiguration(ClientOverrideConfiguration.builder() - .executionInterceptors(interceptorList) - .build()) - .build(); - } - private S3Presigner s3Presigner() { return S3Presigner.builder() .region(REGION) @@ -247,26 +242,25 @@ private S3Presigner s3Presigner() { .build(); } - private static void createMrapIfNotExist(String mrapName) { + private static void createMrapIfNotExist(String account, String mrapName) { software.amazon.awssdk.services.s3control.model.Region mrapRegion = software.amazon.awssdk.services.s3control.model.Region.builder().bucket(bucket).build(); - - if (s3control.listMultiRegionAccessPoints(r -> r.accountId(accountId)) - .accessPoints().stream().noneMatch(a -> a.name().equals(S3MrapIntegrationTest.mrapName))) { + boolean mrapNotExists = s3control.listMultiRegionAccessPoints(r -> r.accountId(account)) + .accessPoints().stream() + .noneMatch(a -> a.name().equals(S3MrapIntegrationTest.mrapName)); + if (mrapNotExists) { CreateMultiRegionAccessPointInput details = CreateMultiRegionAccessPointInput.builder() .name(mrapName) .regions(mrapRegion) .build(); log.info(() -> "Creating MRAP: " + mrapName); - CreateMultiRegionAccessPointResponse response = s3control.createMultiRegionAccessPoint(r -> r.accountId(accountId) - .details(details)); + s3control.createMultiRegionAccessPoint(r -> r.accountId(account).details(details)); waitForResourceCreation(mrapName); } } private static void waitForResourceCreation(String mrapName) throws IllegalStateException { - Waiter waiter = Waiter.builder(ListMultiRegionAccessPointsResponse.class) .addAcceptor(WaiterAcceptor.successOnResponseAcceptor(r -> @@ -279,6 +273,14 @@ private static void waitForResourceCreation(String mrapName) throws IllegalState waiter.run(() -> s3control.listMultiRegionAccessPoints(r -> r.accountId(accountId))); } + public static String getMrapAliasAndVerify(String account, String mrapName) { + GetMultiRegionAccessPointResponse mrap = s3control.getMultiRegionAccessPoint(r -> r.accountId(account).name(mrapName)); + assertThat(mrap.accessPoint()).isNotNull(); + assertThat(mrap.accessPoint().name()).isEqualTo(mrapName); + log.info(() -> "Alias: " + mrap.accessPoint().alias()); + return mrap.accessPoint().alias(); + } + private String applyPresignedUrl(PresignedRequest presignedRequest, String content) { try { HttpExecuteRequest.Builder builder = HttpExecuteRequest.builder().request(presignedRequest.httpRequest()); @@ -296,9 +298,38 @@ private String applyPresignedUrl(PresignedRequest presignedRequest, String conte return null; } + private static S3Client mrapEnabledS3Client(List executionInterceptors) { + return S3Client.builder() + .region(REGION) + .credentialsProvider(CREDENTIALS_PROVIDER_CHAIN) + .serviceConfiguration(S3Configuration.builder() + .useArnRegionEnabled(true) + .build()) + .overrideConfiguration(o -> o.executionInterceptors(executionInterceptors)) + .build(); + } + + private void deleteObjectIfExists(S3Client s31, String bucket1, String key) { + System.out.println(bucket1); + try { + s31.deleteObject(r -> r.bucket(bucket1).key(key)); + } catch (NoSuchKeyException e) { + } + } + + private static void createBucketIfNotExist(String bucket) { + try { + s3Client.createBucket(b -> b.bucket(bucket)); + s3Client.waiter().waitUntilBucketExists(b -> b.bucket(bucket)); + } catch (BucketAlreadyOwnedByYouException | BucketAlreadyExistsException e) { + // ignore + } + } + private static class CaptureRequestInterceptor implements ExecutionInterceptor { private SdkHttpRequest request; + private Boolean normalizePath; public SdkHttpRequest request() { return request; @@ -307,6 +338,7 @@ public SdkHttpRequest request() { @Override public void beforeTransmission(Context.BeforeTransmission context, ExecutionAttributes executionAttributes) { this.request = context.httpRequest(); + this.normalizePath = executionAttributes.getAttribute(AwsSignerExecutionAttribute.SIGNER_NORMALIZE_PATH); } } diff --git a/services/s3outposts/pom.xml b/services/s3outposts/pom.xml index f786c1e5277e..b1447047e23f 100644 --- a/services/s3outposts/pom.xml +++ b/services/s3outposts/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT s3outposts AWS Java SDK :: Services :: S3 Outposts diff --git a/services/s3outposts/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/s3outposts/src/main/resources/codegen-resources/endpoint-rule-set.json index 755a138c8860..e64cb77cbbbd 100644 --- a/services/s3outposts/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/s3outposts/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://s3-outposts-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://s3-outposts-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://s3-outposts-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://s3-outposts-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://s3-outposts.{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://s3-outposts.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://s3-outposts.{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://s3-outposts.{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/services/s3outposts/src/main/resources/codegen-resources/endpoint-tests.json b/services/s3outposts/src/main/resources/codegen-resources/endpoint-tests.json index 2d8077a877ff..f0cf683fa134 100644 --- a/services/s3outposts/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/s3outposts/src/main/resources/codegen-resources/endpoint-tests.json @@ -8,9 +8,9 @@ } }, "params": { + "Region": "af-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "af-south-1" + "UseDualStack": false } }, { @@ -21,9 +21,9 @@ } }, "params": { + "Region": "ap-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-east-1" + "UseDualStack": false } }, { @@ -34,9 +34,9 @@ } }, "params": { + "Region": "ap-northeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { @@ -47,9 +47,9 @@ } }, "params": { + "Region": "ap-northeast-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { @@ -60,9 +60,9 @@ } }, "params": { + "Region": "ap-northeast-3", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-3" + "UseDualStack": false } }, { @@ -73,9 +73,9 @@ } }, "params": { + "Region": "ap-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-south-1" + "UseDualStack": false } }, { @@ -86,9 +86,9 @@ } }, "params": { + "Region": "ap-southeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { @@ -99,9 +99,9 @@ } }, "params": { + "Region": "ap-southeast-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { @@ -112,9 +112,9 @@ } }, "params": { + "Region": "ca-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ca-central-1" + "UseDualStack": false } }, { @@ -125,9 +125,9 @@ } }, "params": { + "Region": "eu-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { @@ -138,9 +138,9 @@ } }, "params": { + "Region": "eu-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-north-1" + "UseDualStack": false } }, { @@ -151,9 +151,9 @@ } }, "params": { + "Region": "eu-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-south-1" + "UseDualStack": false } }, { @@ -164,9 +164,9 @@ } }, "params": { + "Region": "eu-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { @@ -177,9 +177,9 @@ } }, "params": { + "Region": "eu-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-2" + "UseDualStack": false } }, { @@ -190,9 +190,9 @@ } }, "params": { + "Region": "eu-west-3", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-3" + "UseDualStack": false } }, { @@ -203,9 +203,9 @@ } }, "params": { + "Region": "me-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "me-south-1" + "UseDualStack": false } }, { @@ -216,9 +216,9 @@ } }, "params": { + "Region": "sa-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { @@ -229,9 +229,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -242,9 +242,9 @@ } }, "params": { + "Region": "us-east-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-2" + "UseDualStack": false } }, { @@ -255,9 +255,9 @@ } }, "params": { + "Region": "us-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-1" + "UseDualStack": false } }, { @@ -268,9 +268,9 @@ } }, "params": { + "Region": "us-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -281,9 +281,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -294,9 +294,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -307,9 +307,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -320,9 +320,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -333,9 +333,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -346,9 +346,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -359,9 +359,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -372,9 +372,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -385,9 +385,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -398,9 +398,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -411,9 +411,20 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -424,9 +435,20 @@ } }, "params": { + "Region": "us-iso-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", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -437,9 +459,20 @@ } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -450,9 +483,20 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -463,9 +507,9 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -476,9 +520,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -501,9 +545,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" } }, @@ -513,11 +557,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/services/sagemaker/pom.xml b/services/sagemaker/pom.xml index 440e2ee55094..fd284032827e 100644 --- a/services/sagemaker/pom.xml +++ b/services/sagemaker/pom.xml @@ -20,7 +20,7 @@ services software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 sagemaker diff --git a/services/sagemaker/src/main/resources/codegen-resources/service-2.json b/services/sagemaker/src/main/resources/codegen-resources/service-2.json index 08d9efc114a0..68521b128457 100644 --- a/services/sagemaker/src/main/resources/codegen-resources/service-2.json +++ b/services/sagemaker/src/main/resources/codegen-resources/service-2.json @@ -137,7 +137,7 @@ {"shape":"ResourceInUse"}, {"shape":"ResourceLimitExceeded"} ], - "documentation":"

      Creates an Autopilot job also referred to as Autopilot experiment or AutoML job.

      We recommend using the new versions CreateAutoMLJobV2 and DescribeAutoMLJobV2, which offer backward compatibility.

      CreateAutoMLJobV2 can manage tabular problem types identical to those of its previous version CreateAutoMLJob, as well as non-tabular problem types such as image or text classification.

      Find guidelines about how to migrate a CreateAutoMLJob to CreateAutoMLJobV2 in Migrate a CreateAutoMLJob to CreateAutoMLJobV2.

      You can find the best-performing model after you run an AutoML job by calling DescribeAutoMLJobV2 (recommended) or DescribeAutoMLJob.

      " + "documentation":"

      Creates an Autopilot job also referred to as Autopilot experiment or AutoML job.

      We recommend using the new versions CreateAutoMLJobV2 and DescribeAutoMLJobV2, which offer backward compatibility.

      CreateAutoMLJobV2 can manage tabular problem types identical to those of its previous version CreateAutoMLJob, as well as time-series forecasting, and non-tabular problem types such as image or text classification.

      Find guidelines about how to migrate a CreateAutoMLJob to CreateAutoMLJobV2 in Migrate a CreateAutoMLJob to CreateAutoMLJobV2.

      You can find the best-performing model after you run an AutoML job by calling DescribeAutoMLJobV2 (recommended) or DescribeAutoMLJob.

      " }, "CreateAutoMLJobV2":{ "name":"CreateAutoMLJobV2", @@ -151,7 +151,7 @@ {"shape":"ResourceInUse"}, {"shape":"ResourceLimitExceeded"} ], - "documentation":"

      Creates an Autopilot job also referred to as Autopilot experiment or AutoML job V2.

      CreateAutoMLJobV2 and DescribeAutoMLJobV2 are new versions of CreateAutoMLJob and DescribeAutoMLJob which offer backward compatibility.

      CreateAutoMLJobV2 can manage tabular problem types identical to those of its previous version CreateAutoMLJob, as well as non-tabular problem types such as image or text classification.

      Find guidelines about how to migrate a CreateAutoMLJob to CreateAutoMLJobV2 in Migrate a CreateAutoMLJob to CreateAutoMLJobV2.

      For the list of available problem types supported by CreateAutoMLJobV2, see AutoMLProblemTypeConfig.

      You can find the best-performing model after you run an AutoML job V2 by calling DescribeAutoMLJobV2.

      " + "documentation":"

      Creates an Autopilot job also referred to as Autopilot experiment or AutoML job V2.

      CreateAutoMLJobV2 and DescribeAutoMLJobV2 are new versions of CreateAutoMLJob and DescribeAutoMLJob which offer backward compatibility.

      CreateAutoMLJobV2 can manage tabular problem types identical to those of its previous version CreateAutoMLJob, as well as time-series forecasting, and non-tabular problem types such as image or text classification.

      Find guidelines about how to migrate a CreateAutoMLJob to CreateAutoMLJobV2 in Migrate a CreateAutoMLJob to CreateAutoMLJobV2.

      For the list of available problem types supported by CreateAutoMLJobV2, see AutoMLProblemTypeConfig.

      You can find the best-performing model after you run an AutoML job V2 by calling DescribeAutoMLJobV2.

      " }, "CreateCodeRepository":{ "name":"CreateCodeRepository", @@ -3895,6 +3895,32 @@ "max":15, "min":1 }, + "AdditionalS3DataSource":{ + "type":"structure", + "required":[ + "S3DataType", + "S3Uri" + ], + "members":{ + "S3DataType":{ + "shape":"AdditionalS3DataSourceDataType", + "documentation":"

      The data type of the additional data source that you specify for use in inference or training.

      " + }, + "S3Uri":{ + "shape":"S3Uri", + "documentation":"

      The uniform resource identifier (URI) used to identify an additional data source used in inference or training.

      " + }, + "CompressionType":{ + "shape":"CompressionType", + "documentation":"

      The type of compression used for an additional data source used in inference or training. Specify None if your additional data source is not compressed.

      " + } + }, + "documentation":"

      A data source used for training or inference that is in addition to the input dataset or model data.

      " + }, + "AdditionalS3DataSourceDataType":{ + "type":"string", + "enum":["S3Object"] + }, "AgentVersion":{ "type":"structure", "required":[ @@ -5311,7 +5337,7 @@ }, "TimeSeriesForecastingJobConfig":{ "shape":"TimeSeriesForecastingJobConfig", - "documentation":"

      Settings used to configure an AutoML job V2 for a time-series forecasting problem type.

      The TimeSeriesForecastingJobConfig problem type is only available in private beta. Contact Amazon Web Services Support or your account manager to learn more about access privileges.

      " + "documentation":"

      Settings used to configure an AutoML job V2 for a time-series forecasting problem type.

      " } }, "documentation":"

      A collection of settings specific to the problem type used to configure an AutoML job V2. There must be one and only one config of the following type.

      ", @@ -5640,6 +5666,10 @@ "EndTimeOffset":{ "shape":"MonitoringTimeOffsetString", "documentation":"

      If specified, monitoring jobs subtract this time from the end time. For information about using offsets for scheduling monitoring jobs, see Schedule Model Quality Monitoring Jobs.

      " + }, + "ExcludeFeaturesAttribute":{ + "shape":"ExcludeFeaturesAttribute", + "documentation":"

      The attributes of the input data to exclude from the analysis.

      " } }, "documentation":"

      Input object for the batch transform job.

      " @@ -5902,14 +5932,14 @@ "members":{ "CsvContentTypes":{ "shape":"CsvContentTypes", - "documentation":"

      The list of all content type headers that SageMaker will treat as CSV and capture accordingly.

      " + "documentation":"

      The list of all content type headers that Amazon SageMaker will treat as CSV and capture accordingly.

      " }, "JsonContentTypes":{ "shape":"JsonContentTypes", "documentation":"

      The list of all content type headers that SageMaker will treat as JSON and capture accordingly.

      " } }, - "documentation":"

      Configuration specifying how to treat different headers. If no headers are specified SageMaker will by default base64 encode when capturing the data.

      " + "documentation":"

      Configuration specifying how to treat different headers. If no headers are specified Amazon SageMaker will by default base64 encode when capturing the data.

      " }, "CaptureMode":{ "type":"string", @@ -6629,6 +6659,17 @@ "min":1, "pattern":"[\\w-]+_[0-9a-zA-Z]+" }, + "CollectionConfig":{ + "type":"structure", + "members":{ + "VectorConfig":{ + "shape":"VectorConfig", + "documentation":"

      Configuration for your vector collection type.

      • Dimension: The number of elements in your vector.

      " + } + }, + "documentation":"

      Configuration for your collection.

      ", + "union":true + }, "CollectionConfiguration":{ "type":"structure", "members":{ @@ -6662,6 +6703,14 @@ "max":20, "min":0 }, + "CollectionType":{ + "type":"string", + "enum":[ + "List", + "Set", + "Vector" + ] + }, "CompilationJobArn":{ "type":"string", "max":256, @@ -7038,6 +7087,12 @@ }, "documentation":"

      A flag to indicating that automatic model tuning (AMT) has detected model convergence, defined as a lack of significant improvement (1% or less) against an objective metric.

      " }, + "CountryCode":{ + "type":"string", + "max":2, + "min":2, + "pattern":"[A-Z]{2}" + }, "CreateActionRequest":{ "type":"structure", "required":[ @@ -7536,7 +7591,7 @@ "StoppingCondition":{"shape":"MonitoringStoppingCondition"}, "Tags":{ "shape":"TagList", - "documentation":"

      (Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide.

      " + "documentation":"

      (Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide.

      " } } }, @@ -8420,7 +8475,7 @@ "StoppingCondition":{"shape":"MonitoringStoppingCondition"}, "Tags":{ "shape":"TagList", - "documentation":"

      (Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide.

      " + "documentation":"

      (Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide.

      " } } }, @@ -8550,7 +8605,7 @@ "StoppingCondition":{"shape":"MonitoringStoppingCondition"}, "Tags":{ "shape":"TagList", - "documentation":"

      (Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide.

      " + "documentation":"

      (Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide.

      " } } }, @@ -8715,6 +8770,10 @@ "AdditionalInferenceSpecifications":{ "shape":"AdditionalInferenceSpecifications", "documentation":"

      An array of additional Inference Specification objects. Each additional Inference Specification specifies artifacts based on this model package that can be used on inference endpoints. Generally used with SageMaker Neo to store the compiled artifacts.

      " + }, + "SkipModelValidation":{ + "shape":"SkipModelValidation", + "documentation":"

      Indicates if you want to skip model validation.

      " } } }, @@ -8768,7 +8827,7 @@ "StoppingCondition":{"shape":"MonitoringStoppingCondition"}, "Tags":{ "shape":"TagList", - "documentation":"

      (Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide.

      " + "documentation":"

      (Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide.

      " } } }, @@ -9707,7 +9766,7 @@ }, "KmsKeyId":{ "shape":"KmsKeyId", - "documentation":"

      The Amazon Resource Name (ARN) of a Amazon Web Services Key Management Service key that SageMaker uses to encrypt the captured data at rest using Amazon S3 server-side encryption.

      The KmsKeyId can be any of the following formats:

      • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

      • Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

      • Alias name: alias/ExampleAlias

      • Alias name ARN: arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias

      " + "documentation":"

      The Amazon Resource Name (ARN) of an Key Management Service key that SageMaker uses to encrypt the captured data at rest using Amazon S3 server-side encryption.

      The KmsKeyId can be any of the following formats:

      • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

      • Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

      • Alias name: alias/ExampleAlias

      • Alias name ARN: arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias

      " }, "CaptureOptions":{ "shape":"CaptureOptionList", @@ -9829,7 +9888,7 @@ }, "RecordPreprocessorSourceUri":{ "shape":"S3Uri", - "documentation":"

      An Amazon S3 URI to a script that is called per row prior to running analysis. It can base64 decode the payload and convert it into a flatted json so that the built-in container can use the converted data. Applicable only for the built-in (first party) containers.

      " + "documentation":"

      An Amazon S3 URI to a script that is called per row prior to running analysis. It can base64 decode the payload and convert it into a flattened JSON so that the built-in container can use the converted data. Applicable only for the built-in (first party) containers.

      " }, "PostAnalyticsProcessorSourceUri":{ "shape":"S3Uri", @@ -13219,7 +13278,7 @@ }, "RoleArn":{ "shape":"RoleArn", - "documentation":"

      The Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access Management (IAM) role that has read permission to the input data location and write permission to the output data location in Amazon S3.

      " + "documentation":"

      The Amazon Resource Name (ARN) of the IAM role that has read permission to the input data location and write permission to the output data location in Amazon S3.

      " }, "StoppingCondition":{"shape":"MonitoringStoppingCondition"} } @@ -13410,7 +13469,7 @@ }, "RoleArn":{ "shape":"RoleArn", - "documentation":"

      The Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access Management (IAM) role that has read permission to the input data location and write permission to the output data location in Amazon S3.

      " + "documentation":"

      The Amazon Resource Name (ARN) of the IAM role that has read permission to the input data location and write permission to the output data location in Amazon S3.

      " }, "StoppingCondition":{"shape":"MonitoringStoppingCondition"} } @@ -13629,6 +13688,10 @@ "AdditionalInferenceSpecifications":{ "shape":"AdditionalInferenceSpecifications", "documentation":"

      An array of additional Inference Specification objects. Each additional Inference Specification specifies artifacts based on this model package that can be used on inference endpoints. Generally used with SageMaker Neo to store the compiled artifacts.

      " + }, + "SkipModelValidation":{ + "shape":"SkipModelValidation", + "documentation":"

      Indicates if you want to skip model validation.

      " } } }, @@ -15154,6 +15217,11 @@ "type":"list", "member":{"shape":"Device"} }, + "Dimension":{ + "type":"integer", + "max":8192, + "min":1 + }, "DirectInternetAccess":{ "type":"string", "enum":[ @@ -16004,7 +16072,7 @@ }, "S3DataDistributionType":{ "shape":"ProcessingS3DataDistributionType", - "documentation":"

      Whether input data distributed in Amazon S3 is fully replicated or sharded by an S3 key. Defaults to FullyReplicated

      " + "documentation":"

      Whether input data distributed in Amazon S3 is fully replicated or sharded by an Amazon S3 key. Defaults to FullyReplicated

      " }, "FeaturesAttribute":{ "shape":"String", @@ -16029,6 +16097,10 @@ "EndTimeOffset":{ "shape":"MonitoringTimeOffsetString", "documentation":"

      If specified, monitoring jobs substract this time from the end time. For information about using offsets for scheduling monitoring jobs, see Schedule Model Quality Monitoring Jobs.

      " + }, + "ExcludeFeaturesAttribute":{ + "shape":"ExcludeFeaturesAttribute", + "documentation":"

      The attributes of the input data to exclude from the analysis.

      " } }, "documentation":"

      Input object for the endpoint

      " @@ -16268,6 +16340,10 @@ "max":1024, "pattern":"[\\S\\s]*" }, + "ExcludeFeaturesAttribute":{ + "type":"string", + "max":100 + }, "ExecutionRoleIdentityConfig":{ "type":"string", "enum":[ @@ -16493,6 +16569,14 @@ "FeatureType":{ "shape":"FeatureType", "documentation":"

      The value type of a feature. Valid values are Integral, Fractional, or String.

      " + }, + "CollectionType":{ + "shape":"CollectionType", + "documentation":"

      A grouping of elements where each element within the collection must have the same feature type (String, Integral, or Fractional).

      • List: An ordered collection of elements.

      • Set: An unordered collection of unique elements.

      • Vector: A specialized list that represents a fixed-size array of elements. The vector dimension is determined by you. Must have elements with fractional feature types.

      " + }, + "CollectionConfig":{ + "shape":"CollectionConfig", + "documentation":"

      Configuration for your collection.

      " } }, "documentation":"

      A list of features. You must include FeatureName and FeatureType. Valid feature FeatureTypes are Integral, Fractional and String.

      " @@ -17370,6 +17454,22 @@ "max":10, "min":1 }, + "HolidayConfig":{ + "type":"list", + "member":{"shape":"HolidayConfigAttributes"}, + "max":1, + "min":1 + }, + "HolidayConfigAttributes":{ + "type":"structure", + "members":{ + "CountryCode":{ + "shape":"CountryCode", + "documentation":"

      The country code for the holiday calendar.

      For the list of public holiday calendars supported by AutoML job V2, see Country Codes. Use the country code corresponding to the country of your choice.

      " + } + }, + "documentation":"

      Stores the holiday featurization attributes applicable to each item of time-series datasets during the training of a forecasting model. This allows the model to identify patterns associated with specific holidays.

      " + }, "HookParameters":{ "type":"map", "key":{"shape":"ConfigKey"}, @@ -20647,7 +20747,7 @@ }, "SortOrder":{ "shape":"SortOrder", - "documentation":"

      The sort order for results. The default is Descending.

      " + "documentation":"

      Whether to sort the results in Ascending or Descending order. The default is Descending.

      " }, "NextToken":{ "shape":"NextToken", @@ -21986,7 +22086,7 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

      If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of jobs, use it in the subsequent request.

      " + "documentation":"

      The token returned if the response is truncated. To retrieve the next set of job executions, use it in the next request.

      " } } }, @@ -22200,7 +22300,7 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

      If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of jobs, use it in the subsequent request.

      " + "documentation":"

      The token returned if the response is truncated. To retrieve the next set of job executions, use it in the next request.

      " } } }, @@ -22354,7 +22454,7 @@ }, "SortOrder":{ "shape":"SortOrder", - "documentation":"

      The sort order for results. The default is Descending.

      " + "documentation":"

      Whether to sort the results in Ascending or Descending order. The default is Descending.

      " }, "NextToken":{ "shape":"NextToken", @@ -22537,7 +22637,7 @@ }, "SortBy":{ "shape":"MonitoringExecutionSortKey", - "documentation":"

      Whether to sort results by Status, CreationTime, ScheduledTime field. The default is CreationTime.

      " + "documentation":"

      Whether to sort the results by the Status, CreationTime, or ScheduledTime field. The default is CreationTime.

      " }, "SortOrder":{ "shape":"SortOrder", @@ -22599,7 +22699,7 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

      If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of jobs, use it in the subsequent reques

      " + "documentation":"

      The token returned if the response is truncated. To retrieve the next set of job executions, use it in the next request.

      " } } }, @@ -22612,7 +22712,7 @@ }, "SortBy":{ "shape":"MonitoringScheduleSortKey", - "documentation":"

      Whether to sort results by Status, CreationTime, ScheduledTime field. The default is CreationTime.

      " + "documentation":"

      Whether to sort the results by the Status, CreationTime, or ScheduledTime field. The default is CreationTime.

      " }, "SortOrder":{ "shape":"SortOrder", @@ -22670,7 +22770,7 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

      If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of jobs, use it in the subsequent request.

      " + "documentation":"

      The token returned if the response is truncated. To retrieve the next set of job executions, use it in the next request.

      " } } }, @@ -24707,7 +24807,7 @@ }, "ConfigUri":{ "shape":"S3Uri", - "documentation":"

      JSON formatted S3 file that defines explainability parameters. For more information on this JSON configuration file, see Configure model explainability parameters.

      " + "documentation":"

      JSON formatted Amazon S3 file that defines explainability parameters. For more information on this JSON configuration file, see Configure model explainability parameters.

      " }, "Environment":{ "shape":"MonitoringEnvironmentMap", @@ -25013,6 +25113,10 @@ "DriftCheckBaselines":{ "shape":"DriftCheckBaselines", "documentation":"

      Represents the drift check baselines that can be used when the model monitor is set using the model package.

      " + }, + "SkipModelValidation":{ + "shape":"SkipModelValidation", + "documentation":"

      Indicates if you want to skip model validation.

      " } }, "documentation":"

      A versioned model that can be deployed for SageMaker inference.

      " @@ -25072,6 +25176,10 @@ "NearestModelName":{ "shape":"String", "documentation":"

      The name of a pre-trained machine learning benchmarked by Amazon SageMaker Inference Recommender model that matches your model. You can find a list of benchmarked models by calling ListModelMetadata.

      " + }, + "AdditionalS3DataSource":{ + "shape":"AdditionalS3DataSource", + "documentation":"

      The additional data source that is used during inference in the Docker container for your model package.

      " } }, "documentation":"

      Describes the Docker container for the model package.

      " @@ -25376,7 +25484,7 @@ }, "RecordPreprocessorSourceUri":{ "shape":"S3Uri", - "documentation":"

      An Amazon S3 URI to a script that is called per row prior to running analysis. It can base64 decode the payload and convert it into a flatted json so that the built-in container can use the converted data. Applicable only for the built-in (first party) containers.

      " + "documentation":"

      An Amazon S3 URI to a script that is called per row prior to running analysis. It can base64 decode the payload and convert it into a flattened JSON so that the built-in container can use the converted data. Applicable only for the built-in (first party) containers.

      " }, "PostAnalyticsProcessorSourceUri":{ "shape":"S3Uri", @@ -25418,7 +25526,7 @@ "documentation":"

      The ground truth label provided for the model.

      " } }, - "documentation":"

      The input for the model quality monitoring job. Currently endponts are supported for input for model quality monitoring jobs.

      " + "documentation":"

      The input for the model quality monitoring job. Currently endpoints are supported for input for model quality monitoring jobs.

      " }, "ModelRegisterSettings":{ "type":"structure", @@ -25702,7 +25810,7 @@ }, "RecordPreprocessorSourceUri":{ "shape":"S3Uri", - "documentation":"

      An Amazon S3 URI to a script that is called per row prior to running analysis. It can base64 decode the payload and convert it into a flatted json so that the built-in container can use the converted data. Applicable only for the built-in (first party) containers.

      " + "documentation":"

      An Amazon S3 URI to a script that is called per row prior to running analysis. It can base64 decode the payload and convert it into a flattened JSON so that the built-in container can use the converted data. Applicable only for the built-in (first party) containers.

      " }, "PostAnalyticsProcessorSourceUri":{ "shape":"S3Uri", @@ -25751,7 +25859,7 @@ }, "VolumeKmsKeyId":{ "shape":"KmsKeyId", - "documentation":"

      The Amazon Web Services Key Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the model monitoring job.

      " + "documentation":"

      The Key Management Service (KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the model monitoring job.

      " } }, "documentation":"

      Configuration for the cluster used to run model monitoring jobs.

      " @@ -25931,7 +26039,7 @@ }, "MonitoringOutputConfig":{ "shape":"MonitoringOutputConfig", - "documentation":"

      The array of outputs from the monitoring job to be uploaded to Amazon Simple Storage Service (Amazon S3).

      " + "documentation":"

      The array of outputs from the monitoring job to be uploaded to Amazon S3.

      " }, "MonitoringResources":{ "shape":"MonitoringResources", @@ -26015,7 +26123,7 @@ "members":{ "Line":{ "shape":"Boolean", - "documentation":"

      Indicates if the file should be read as a json object per line.

      " + "documentation":"

      Indicates if the file should be read as a JSON object per line.

      " } }, "documentation":"

      Represents the JSON dataset format used when running a monitoring job.

      " @@ -26061,7 +26169,7 @@ }, "KmsKeyId":{ "shape":"KmsKeyId", - "documentation":"

      The Amazon Web Services Key Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption.

      " + "documentation":"

      The Key Management Service (KMS) key that Amazon SageMaker uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption.

      " } }, "documentation":"

      The output configuration for monitoring jobs.

      " @@ -26817,6 +26925,10 @@ "TtlDuration":{ "shape":"TtlDuration", "documentation":"

      Time to live duration, where the record is hard deleted after the expiration time is reached; ExpiresAt = EventTime + TtlDuration. For information on HardDelete, see the DeleteRecord API in the Amazon SageMaker API Reference guide.

      " + }, + "StorageType":{ + "shape":"StorageType", + "documentation":"

      Option for different tiers of low latency storage for real-time data retrieval.

      • Standard: A managed low latency data store for feature groups.

      • InMemory: A managed data store for feature groups that supports very low latency retrieval.

      " } }, "documentation":"

      Use this to specify the Amazon Web Services Key Management Service (KMS) Key ID, or KMSKeyId, for at rest data encryption. You can turn OnlineStore on or off by specifying the EnableOnlineStore flag at General Assembly.

      The default value is False.

      " @@ -28357,7 +28469,8 @@ "ml.inf2.xlarge", "ml.inf2.8xlarge", "ml.inf2.24xlarge", - "ml.inf2.48xlarge" + "ml.inf2.48xlarge", + "ml.p5.48xlarge" ] }, "ProductionVariantList":{ @@ -30267,7 +30380,15 @@ "members":{ "ScheduleExpression":{ "shape":"ScheduleExpression", - "documentation":"

      A cron expression that describes details about the monitoring schedule.

      Currently the only supported cron expressions are:

      • If you want to set the job to start every hour, please use the following:

        Hourly: cron(0 * ? * * *)

      • If you want to start the job daily:

        cron(0 [00-23] ? * * *)

      For example, the following are valid cron expressions:

      • Daily at noon UTC: cron(0 12 ? * * *)

      • Daily at midnight UTC: cron(0 0 ? * * *)

      To support running every 6, 12 hours, the following are also supported:

      cron(0 [00-23]/[01-24] ? * * *)

      For example, the following are valid cron expressions:

      • Every 12 hours, starting at 5pm UTC: cron(0 17/12 ? * * *)

      • Every two hours starting at midnight: cron(0 0/2 ? * * *)

      • Even though the cron expression is set to start at 5PM UTC, note that there could be a delay of 0-20 minutes from the actual requested time to run the execution.

      • We recommend that if you would like a daily schedule, you do not provide this parameter. Amazon SageMaker will pick a time for running every day.

      " + "documentation":"

      A cron expression that describes details about the monitoring schedule.

      The supported cron expressions are:

      • If you want to set the job to start every hour, use the following:

        Hourly: cron(0 * ? * * *)

      • If you want to start the job daily:

        cron(0 [00-23] ? * * *)

      • If you want to run the job one time, immediately, use the following keyword:

        NOW

      For example, the following are valid cron expressions:

      • Daily at noon UTC: cron(0 12 ? * * *)

      • Daily at midnight UTC: cron(0 0 ? * * *)

      To support running every 6, 12 hours, the following are also supported:

      cron(0 [00-23]/[01-24] ? * * *)

      For example, the following are valid cron expressions:

      • Every 12 hours, starting at 5pm UTC: cron(0 17/12 ? * * *)

      • Every two hours starting at midnight: cron(0 0/2 ? * * *)

      • Even though the cron expression is set to start at 5PM UTC, note that there could be a delay of 0-20 minutes from the actual requested time to run the execution.

      • We recommend that if you would like a daily schedule, you do not provide this parameter. Amazon SageMaker will pick a time for running every day.

      You can also specify the keyword NOW to run the monitoring job immediately, one time, without recurring.

      " + }, + "DataAnalysisStartTime":{ + "shape":"String", + "documentation":"

      Sets the start time for a monitoring job window. Express this time as an offset to the times that you schedule your monitoring jobs to run. You schedule monitoring jobs with the ScheduleExpression parameter. Specify this offset in ISO 8601 duration format. For example, if you want to monitor the five hours of data in your dataset that precede the start of each monitoring job, you would specify: \"-PT5H\".

      The start time that you specify must not precede the end time that you specify by more than 24 hours. You specify the end time with the DataAnalysisEndTime parameter.

      If you set ScheduleExpression to NOW, this parameter is required.

      " + }, + "DataAnalysisEndTime":{ + "shape":"String", + "documentation":"

      Sets the end time for a monitoring job window. Express this time as an offset to the times that you schedule your monitoring jobs to run. You schedule monitoring jobs with the ScheduleExpression parameter. Specify this offset in ISO 8601 duration format. For example, if you want to end the window one hour before the start of each monitoring job, you would specify: \"-PT1H\".

      The end time that you specify must not follow the start time that you specify by more than 24 hours. You specify the start time with the DataAnalysisStartTime parameter.

      If you set ScheduleExpression to NOW, this parameter is required.

      " } }, "documentation":"

      Configuration details about the monitoring schedule.

      " @@ -30505,10 +30626,7 @@ }, "SelectiveExecutionConfig":{ "type":"structure", - "required":[ - "SourcePipelineExecutionArn", - "SelectedSteps" - ], + "required":["SelectedSteps"], "members":{ "SourcePipelineExecutionArn":{ "shape":"PipelineExecutionArn", @@ -30739,6 +30857,13 @@ "type":"string", "pattern":"UserName" }, + "SkipModelValidation":{ + "type":"string", + "enum":[ + "All", + "None" + ] + }, "SnsTopicArn":{ "type":"string", "max":2048, @@ -31355,6 +31480,13 @@ }, "documentation":"

      Specifies a limit to how long a model training job or model compilation job can run. It also specifies how long a managed spot training job has to complete. When the job reaches the time limit, SageMaker ends the training or compilation job. Use this API to cap model training costs.

      To stop a training job, SageMaker sends the algorithm the SIGTERM signal, which delays job termination for 120 seconds. Algorithms can use this 120-second window to save the model artifacts, so the results of training are not lost.

      The training algorithms provided by SageMaker automatically save the intermediate results of a model training job when possible. This attempt to save artifacts is only a best effort case as model might not be in a state from which it can be saved. For example, if training has just started, the model might not be ready to save. When saved, this intermediate data is a valid model artifact. You can use it to create a model with CreateModel.

      The Neural Topic Model (NTM) currently does not support saving intermediate model artifacts. When training NTMs, make sure that the maximum runtime is sufficient for the training job to complete.

      " }, + "StorageType":{ + "type":"string", + "enum":[ + "Standard", + "InMemory" + ] + }, "String":{"type":"string"}, "String1024":{ "type":"string", @@ -31904,9 +32036,13 @@ "TimeSeriesConfig":{ "shape":"TimeSeriesConfig", "documentation":"

      The collection of components that defines the time-series.

      " + }, + "HolidayConfig":{ + "shape":"HolidayConfig", + "documentation":"

      The collection of holiday featurization attributes used to incorporate national holiday information into your forecasting model.

      " } }, - "documentation":"

      The collection of settings used by an AutoML job V2 for the time-series forecasting problem type.

      The TimeSeriesForecastingJobConfig problem type is only available in private beta. Contact Amazon Web Services Support or your account manager to learn more about access privileges.

      " + "documentation":"

      The collection of settings used by an AutoML job V2 for the time-series forecasting problem type.

      " }, "TimeSeriesForecastingSettings":{ "type":"structure", @@ -32492,6 +32628,10 @@ "SupportedTuningJobObjectiveMetrics":{ "shape":"HyperParameterTuningJobObjectives", "documentation":"

      A list of the metrics that the algorithm emits that can be used as the objective metric in a hyperparameter tuning job.

      " + }, + "AdditionalS3DataSource":{ + "shape":"AdditionalS3DataSource", + "documentation":"

      The additional data source used during the training job.

      " } }, "documentation":"

      Defines how the algorithm is used for a training job.

      " @@ -34717,6 +34857,17 @@ "type":"float", "min":0 }, + "VectorConfig":{ + "type":"structure", + "required":["Dimension"], + "members":{ + "Dimension":{ + "shape":"Dimension", + "documentation":"

      The number of elements in your vector.

      " + } + }, + "documentation":"

      Configuration for your vector collection type.

      " + }, "VendorGuidance":{ "type":"string", "enum":[ diff --git a/services/sagemakera2iruntime/pom.xml b/services/sagemakera2iruntime/pom.xml index 7d142dd0f92f..387161a69b8c 100644 --- a/services/sagemakera2iruntime/pom.xml +++ b/services/sagemakera2iruntime/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT sagemakera2iruntime AWS Java SDK :: Services :: SageMaker A2I Runtime diff --git a/services/sagemakera2iruntime/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/sagemakera2iruntime/src/main/resources/codegen-resources/endpoint-rule-set.json index cf4bf4803a0c..8f95cbaec587 100644 --- a/services/sagemakera2iruntime/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/sagemakera2iruntime/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "parseURL", + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,221 +140,175 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://a2i-runtime.sagemaker-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] }, { "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] - }, + } + ], + "type": "tree", + "rules": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://a2i-runtime.sagemaker-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://a2i-runtime.sagemaker-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://a2i-runtime.sagemaker-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://a2i-runtime.sagemaker.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://a2i-runtime.sagemaker.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://a2i-runtime.sagemaker.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://a2i-runtime.sagemaker.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/sagemakera2iruntime/src/main/resources/codegen-resources/endpoint-tests.json b/services/sagemakera2iruntime/src/main/resources/codegen-resources/endpoint-tests.json index 91c92af29cd0..cdc8feb8b8ae 100644 --- a/services/sagemakera2iruntime/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/sagemakera2iruntime/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,16 +1,281 @@ { "testCases": [ { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://a2i-runtime.sagemaker-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://a2i-runtime.sagemaker-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://a2i-runtime.sagemaker.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://a2i-runtime.sagemaker.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://a2i-runtime.sagemaker-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://a2i-runtime.sagemaker-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://a2i-runtime.sagemaker.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://a2i-runtime.sagemaker.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://a2i-runtime.sagemaker-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://a2i-runtime.sagemaker-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://a2i-runtime.sagemaker.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://a2i-runtime.sagemaker.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://a2i-runtime.sagemaker-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://a2i-runtime.sagemaker.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://a2i-runtime.sagemaker-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://a2i-runtime.sagemaker.us-isob-east-1.sc2s.sgov.gov" + } + }, + "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": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -20,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -32,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/sagemakeredge/pom.xml b/services/sagemakeredge/pom.xml index ec53a083c17c..fd553eae78b9 100644 --- a/services/sagemakeredge/pom.xml +++ b/services/sagemakeredge/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT sagemakeredge AWS Java SDK :: Services :: Sagemaker Edge diff --git a/services/sagemakeredge/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/sagemakeredge/src/main/resources/codegen-resources/endpoint-rule-set.json index 01c3fa5b649e..f5afc548a02b 100644 --- a/services/sagemakeredge/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/sagemakeredge/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://edge.sagemaker-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://edge.sagemaker-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://edge.sagemaker.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://edge.sagemaker.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://edge.sagemaker.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://edge.sagemaker.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/sagemakeredge/src/main/resources/codegen-resources/endpoint-tests.json b/services/sagemakeredge/src/main/resources/codegen-resources/endpoint-tests.json index 4a68ed674ace..8cca0a455d41 100644 --- a/services/sagemakeredge/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/sagemakeredge/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,328 +1,346 @@ { "testCases": [ { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://edge.sagemaker-fips.eu-central-1.api.aws" + "url": "https://edge.sagemaker.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://edge.sagemaker-fips.eu-central-1.amazonaws.com" + "url": "https://edge.sagemaker.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, "Region": "eu-central-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://edge.sagemaker.eu-central-1.api.aws" + "url": "https://edge.sagemaker.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://edge.sagemaker.eu-central-1.amazonaws.com" + "url": "https://edge.sagemaker.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://edge.sagemaker-fips.us-west-2.api.aws" + "url": "https://edge.sagemaker.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://edge.sagemaker-fips.us-west-2.amazonaws.com" + "url": "https://edge.sagemaker.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, "Region": "us-west-2", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://edge.sagemaker.us-west-2.api.aws" + "url": "https://edge.sagemaker-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://edge.sagemaker.us-west-2.amazonaws.com" + "url": "https://edge.sagemaker-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://edge.sagemaker-fips.eu-west-1.api.aws" + "url": "https://edge.sagemaker.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://edge.sagemaker-fips.eu-west-1.amazonaws.com" + "url": "https://edge.sagemaker-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://edge.sagemaker.eu-west-1.api.aws" + "url": "https://edge.sagemaker-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://edge.sagemaker.eu-west-1.amazonaws.com" + "url": "https://edge.sagemaker.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://edge.sagemaker-fips.ap-northeast-1.api.aws" + "url": "https://edge.sagemaker.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://edge.sagemaker-fips.ap-northeast-1.amazonaws.com" + "url": "https://edge.sagemaker-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://edge.sagemaker.ap-northeast-1.api.aws" + "url": "https://edge.sagemaker-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://edge.sagemaker.ap-northeast-1.amazonaws.com" + "url": "https://edge.sagemaker.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://edge.sagemaker-fips.us-east-1.api.aws" + "url": "https://edge.sagemaker.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://edge.sagemaker-fips.us-east-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://edge.sagemaker.us-east-1.api.aws" + "url": "https://edge.sagemaker-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://edge.sagemaker.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://edge.sagemaker-fips.us-east-2.api.aws" + "url": "https://edge.sagemaker.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://edge.sagemaker-fips.us-east-2.amazonaws.com" + "url": "https://edge.sagemaker-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://edge.sagemaker.us-east-2.api.aws" + "url": "https://edge.sagemaker.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://edge.sagemaker.us-east-2.amazonaws.com" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -332,9 +350,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -344,11 +362,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/sagemakerfeaturestoreruntime/pom.xml b/services/sagemakerfeaturestoreruntime/pom.xml index 49a73cf0393d..c8a89fbf65f0 100644 --- a/services/sagemakerfeaturestoreruntime/pom.xml +++ b/services/sagemakerfeaturestoreruntime/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT sagemakerfeaturestoreruntime AWS Java SDK :: Services :: Sage Maker Feature Store Runtime diff --git a/services/sagemakerfeaturestoreruntime/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/sagemakerfeaturestoreruntime/src/main/resources/codegen-resources/endpoint-rule-set.json index dce3ebae1028..82741fc74cce 100644 --- a/services/sagemakerfeaturestoreruntime/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/sagemakerfeaturestoreruntime/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://featurestore-runtime.sagemaker-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://featurestore-runtime.sagemaker-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "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://featurestore-runtime.sagemaker-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://featurestore-runtime.sagemaker-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "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://featurestore-runtime.sagemaker.{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://featurestore-runtime.sagemaker.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://featurestore-runtime.sagemaker.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://featurestore-runtime.sagemaker.{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/services/sagemakerfeaturestoreruntime/src/main/resources/codegen-resources/service-2.json b/services/sagemakerfeaturestoreruntime/src/main/resources/codegen-resources/service-2.json index b0fec3b6ce4e..4d507ea10422 100644 --- a/services/sagemakerfeaturestoreruntime/src/main/resources/codegen-resources/service-2.json +++ b/services/sagemakerfeaturestoreruntime/src/main/resources/codegen-resources/service-2.json @@ -290,10 +290,7 @@ }, "FeatureValue":{ "type":"structure", - "required":[ - "FeatureName", - "ValueAsString" - ], + "required":["FeatureName"], "members":{ "FeatureName":{ "shape":"FeatureName", @@ -301,7 +298,11 @@ }, "ValueAsString":{ "shape":"ValueAsString", - "documentation":"

      The value associated with a feature, in string format. Note that features types can be String, Integral, or Fractional. This value represents all three types as a string.

      " + "documentation":"

      The value in string format associated with a feature. Used when your CollectionType is None. Note that features types can be String, Integral, or Fractional. This value represents all three types as a string.

      " + }, + "ValueAsStringList":{ + "shape":"ValueAsStringList", + "documentation":"

      The list of values in string format associated with a feature. Used when your CollectionType is a List, Set, or Vector. Note that features types can be String, Integral, or Fractional. These values represents all three types as a string.

      " } }, "documentation":"

      The value associated with a feature.

      " @@ -489,6 +490,12 @@ "type":"string", "max":358400, "pattern":".*" + }, + "ValueAsStringList":{ + "type":"list", + "member":{"shape":"ValueAsString"}, + "max":358400, + "min":0 } }, "documentation":"

      Contains all data plane API operations and data types for the Amazon SageMaker Feature Store. Use this API to put, delete, and retrieve (get) features from a feature store.

      Use the following operations to configure your OnlineStore and OfflineStore features, and to create and manage feature groups:

      " diff --git a/services/sagemakergeospatial/pom.xml b/services/sagemakergeospatial/pom.xml index 1134f1cb3e4e..f86d37af1ddf 100644 --- a/services/sagemakergeospatial/pom.xml +++ b/services/sagemakergeospatial/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT sagemakergeospatial AWS Java SDK :: Services :: Sage Maker Geospatial diff --git a/services/sagemakergeospatial/src/main/resources/codegen-resources/endpoint-tests.json b/services/sagemakergeospatial/src/main/resources/codegen-resources/endpoint-tests.json index 98c7b87747f7..b596e3acc18b 100644 --- a/services/sagemakergeospatial/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/sagemakergeospatial/src/main/resources/codegen-resources/endpoint-tests.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://sagemaker-geospatial-fips.us-gov-east-1.api.aws" + "url": "https://sagemaker-geospatial-fips.us-east-1.api.aws" } }, "params": { - "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "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://sagemaker-geospatial-fips.us-gov-east-1.amazonaws.com" + "url": "https://sagemaker-geospatial-fips.us-east-1.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "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://sagemaker-geospatial.us-gov-east-1.api.aws" + "url": "https://sagemaker-geospatial.us-east-1.api.aws" } }, "params": { - "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "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://sagemaker-geospatial.us-gov-east-1.amazonaws.com" + "url": "https://sagemaker-geospatial.us-east-1.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -61,8 +61,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -74,8 +74,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -87,8 +87,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -100,108 +100,108 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "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://sagemaker-geospatial-fips.us-gov-east-1.api.aws" + } }, "params": { - "Region": "us-iso-east-1", - "UseDualStack": true, - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "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://sagemaker-geospatial-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://sagemaker-geospatial-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "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://sagemaker-geospatial.us-gov-east-1.api.aws" + } }, "params": { - "Region": "us-iso-east-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "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://sagemaker-geospatial.us-iso-east-1.c2s.ic.gov" + "url": "https://sagemaker-geospatial.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "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://sagemaker-geospatial-fips.us-east-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "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://sagemaker-geospatial-fips.us-east-1.amazonaws.com" + "url": "https://sagemaker-geospatial-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "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://sagemaker-geospatial.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "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://sagemaker-geospatial.us-east-1.amazonaws.com" + "url": "https://sagemaker-geospatial.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -211,8 +211,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -224,8 +224,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -235,8 +235,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -248,12 +248,12 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" @@ -261,8 +261,21 @@ }, "params": { "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -273,8 +286,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -285,10 +298,16 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/sagemakermetrics/pom.xml b/services/sagemakermetrics/pom.xml index 39230c51b426..acebbd9ffedc 100644 --- a/services/sagemakermetrics/pom.xml +++ b/services/sagemakermetrics/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT sagemakermetrics AWS Java SDK :: Services :: Sage Maker Metrics diff --git a/services/sagemakermetrics/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/sagemakermetrics/src/main/resources/codegen-resources/endpoint-rule-set.json index 25f7c75eac6c..9b57ecb1b0db 100644 --- a/services/sagemakermetrics/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/sagemakermetrics/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,14 +45,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -62,67 +67,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -131,168 +111,238 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + }, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://metrics.sagemaker-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://metrics.sagemaker-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://metrics.sagemaker-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://metrics.sagemaker-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://metrics.sagemaker.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://metrics.sagemaker.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://metrics.sagemaker.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } ] }, { "conditions": [], - "endpoint": { - "url": "https://metrics.sagemaker.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } diff --git a/services/sagemakermetrics/src/main/resources/codegen-resources/endpoint-tests.json b/services/sagemakermetrics/src/main/resources/codegen-resources/endpoint-tests.json index 6e0015d25498..f128fd281c27 100644 --- a/services/sagemakermetrics/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/sagemakermetrics/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,54 +1,54 @@ { "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://metrics.sagemaker-fips.us-gov-east-1.api.aws" + "url": "https://metrics.sagemaker-fips.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": 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://metrics.sagemaker-fips.us-gov-east-1.amazonaws.com" + "url": "https://metrics.sagemaker-fips.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "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://metrics.sagemaker.us-gov-east-1.api.aws" + "url": "https://metrics.sagemaker.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "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://metrics.sagemaker.us-gov-east-1.amazonaws.com" + "url": "https://metrics.sagemaker.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-gov-east-1", "UseDualStack": false } }, @@ -60,8 +60,8 @@ } }, "params": { - "UseFIPS": true, "Region": "cn-north-1", + "UseFIPS": true, "UseDualStack": true } }, @@ -73,8 +73,8 @@ } }, "params": { - "UseFIPS": true, "Region": "cn-north-1", + "UseFIPS": true, "UseDualStack": false } }, @@ -86,8 +86,8 @@ } }, "params": { - "UseFIPS": false, "Region": "cn-north-1", + "UseFIPS": false, "UseDualStack": true } }, @@ -99,108 +99,108 @@ } }, "params": { - "UseFIPS": false, "Region": "cn-north-1", + "UseFIPS": false, "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://metrics.sagemaker-fips.us-gov-east-1.api.aws" + } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": 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://metrics.sagemaker-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://metrics.sagemaker-fips.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "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://metrics.sagemaker.us-gov-east-1.api.aws" + } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "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://metrics.sagemaker.us-iso-east-1.c2s.ic.gov" + "url": "https://metrics.sagemaker.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": 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://metrics.sagemaker-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, - "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://metrics.sagemaker-fips.us-east-1.amazonaws.com" + "url": "https://metrics.sagemaker-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "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://metrics.sagemaker.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "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://metrics.sagemaker.us-east-1.amazonaws.com" + "url": "https://metrics.sagemaker.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "us-east-1", "UseDualStack": false } }, @@ -210,8 +210,8 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseFIPS": true, "Region": "us-isob-east-1", + "UseFIPS": true, "UseDualStack": true } }, @@ -223,8 +223,8 @@ } }, "params": { - "UseFIPS": true, "Region": "us-isob-east-1", + "UseFIPS": true, "UseDualStack": false } }, @@ -234,8 +234,8 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseFIPS": false, "Region": "us-isob-east-1", + "UseFIPS": false, "UseDualStack": true } }, @@ -247,21 +247,34 @@ } }, "params": { - "UseFIPS": false, "Region": "us-isob-east-1", + "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, "UseDualStack": false, "Endpoint": "https://example.com" } @@ -272,8 +285,8 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, "UseDualStack": false, "Endpoint": "https://example.com" } @@ -284,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/sagemakerruntime/pom.xml b/services/sagemakerruntime/pom.xml index c6ff0a5fa5e0..9f1988758f38 100644 --- a/services/sagemakerruntime/pom.xml +++ b/services/sagemakerruntime/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT sagemakerruntime AWS Java SDK :: Services :: SageMaker Runtime diff --git a/services/savingsplans/pom.xml b/services/savingsplans/pom.xml index c551160666c7..525534642c08 100644 --- a/services/savingsplans/pom.xml +++ b/services/savingsplans/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT savingsplans AWS Java SDK :: Services :: Savingsplans diff --git a/services/savingsplans/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/savingsplans/src/main/resources/codegen-resources/endpoint-rule-set.json index e34bb65d6492..f6d356a3326d 100644 --- a/services/savingsplans/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/savingsplans/src/main/resources/codegen-resources/endpoint-rule-set.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,291 +115,251 @@ { "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": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] + "ref": "UseDualStack" }, + false + ] + } + ], + "endpoint": { + "url": "https://savingsplans.amazonaws.com", + "properties": { + "authSchemes": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] + "name": "sigv4", + "signingName": "savingsplans", + "signingRegion": "us-east-1" } - ], - "endpoint": { - "url": "https://savingsplans.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "savingsplans", - "signingRegion": "us-east-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://savingsplans-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://savingsplans-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://savingsplans-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://savingsplans-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://savingsplans.{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://savingsplans.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://savingsplans.{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://savingsplans.{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/services/scheduler/pom.xml b/services/scheduler/pom.xml index b29ea04cba00..53fb322bf3d4 100644 --- a/services/scheduler/pom.xml +++ b/services/scheduler/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT scheduler AWS Java SDK :: Services :: Scheduler diff --git a/services/scheduler/src/main/resources/codegen-resources/endpoint-tests.json b/services/scheduler/src/main/resources/codegen-resources/endpoint-tests.json index a23ab03e871a..8b33c890284e 100644 --- a/services/scheduler/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/scheduler/src/main/resources/codegen-resources/endpoint-tests.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://scheduler-fips.us-gov-east-1.api.aws" + "url": "https://scheduler-fips.us-east-1.api.aws" } }, "params": { - "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "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://scheduler-fips.us-gov-east-1.amazonaws.com" + "url": "https://scheduler-fips.us-east-1.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "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://scheduler.us-gov-east-1.api.aws" + "url": "https://scheduler.us-east-1.api.aws" } }, "params": { - "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "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://scheduler.us-gov-east-1.amazonaws.com" + "url": "https://scheduler.us-east-1.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -61,8 +61,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -74,8 +74,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -87,8 +87,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -100,108 +100,108 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "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://scheduler-fips.us-gov-east-1.api.aws" + } }, "params": { - "Region": "us-iso-east-1", - "UseDualStack": true, - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "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://scheduler-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://scheduler-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "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://scheduler.us-gov-east-1.api.aws" + } }, "params": { - "Region": "us-iso-east-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "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://scheduler.us-iso-east-1.c2s.ic.gov" + "url": "https://scheduler.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "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://scheduler-fips.us-east-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "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://scheduler-fips.us-east-1.amazonaws.com" + "url": "https://scheduler-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "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://scheduler.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "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://scheduler.us-east-1.amazonaws.com" + "url": "https://scheduler.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -211,8 +211,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -224,8 +224,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -235,8 +235,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -248,12 +248,12 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" @@ -261,8 +261,21 @@ }, "params": { "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -273,8 +286,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -285,10 +298,16 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/schemas/pom.xml b/services/schemas/pom.xml index 45f873aa5ca9..dffe1451c4d2 100644 --- a/services/schemas/pom.xml +++ b/services/schemas/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT schemas AWS Java SDK :: Services :: Schemas diff --git a/services/schemas/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/schemas/src/main/resources/codegen-resources/endpoint-rule-set.json index 0867d35dd3fc..d34ffac86d7d 100644 --- a/services/schemas/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/schemas/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://schemas-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://schemas-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://schemas.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://schemas.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://schemas.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://schemas.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/schemas/src/main/resources/codegen-resources/endpoint-tests.json b/services/schemas/src/main/resources/codegen-resources/endpoint-tests.json index 3ba54f61809b..b1fc767dc3c1 100644 --- a/services/schemas/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/schemas/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,42 +1,42 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://schemas-fips.ap-south-1.api.aws" + "url": "https://schemas.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true + "Region": "ap-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://schemas-fips.ap-south-1.amazonaws.com" + "url": "https://schemas.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://schemas.ap-south-1.api.aws" + "url": "https://schemas.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -47,48 +47,35 @@ } }, "params": { - "UseDualStack": false, "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://schemas-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://schemas-fips.ca-central-1.amazonaws.com" + "url": "https://schemas.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://schemas.ca-central-1.api.aws" + "url": "https://schemas.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -99,48 +86,9 @@ } }, "params": { - "UseDualStack": false, "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://schemas-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://schemas-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://schemas.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -151,152 +99,9 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://schemas-fips.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://schemas-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://schemas.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://schemas.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://schemas-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://schemas-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://schemas.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://schemas.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://schemas-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://schemas-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://schemas.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -307,152 +112,9 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://schemas-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://schemas-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://schemas.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://schemas.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://schemas-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://schemas-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://schemas.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://schemas.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://schemas-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://schemas-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://schemas.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -463,438 +125,365 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-west-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://schemas-fips.ap-northeast-2.api.aws" + "url": "https://schemas.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://schemas-fips.ap-northeast-2.amazonaws.com" + "url": "https://schemas.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://schemas.ap-northeast-2.api.aws" + "url": "https://schemas.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://schemas.ap-northeast-2.amazonaws.com" + "url": "https://schemas.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://schemas-fips.ap-northeast-1.api.aws" + "url": "https://schemas.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://schemas-fips.ap-northeast-1.amazonaws.com" + "url": "https://schemas.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://schemas.ap-northeast-1.api.aws" + "url": "https://schemas.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://schemas.ap-northeast-1.amazonaws.com" + "url": "https://schemas-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://schemas-fips.sa-east-1.api.aws" + "url": "https://schemas-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://schemas-fips.sa-east-1.amazonaws.com" + "url": "https://schemas.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://schemas.sa-east-1.api.aws" + "url": "https://schemas-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://schemas.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://schemas-fips.ap-east-1.api.aws" + "url": "https://schemas-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://schemas-fips.ap-east-1.amazonaws.com" + "url": "https://schemas.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://schemas.ap-east-1.api.aws" + "url": "https://schemas.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://schemas.ap-east-1.amazonaws.com" + "url": "https://schemas-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://schemas-fips.ap-southeast-1.api.aws" + "url": "https://schemas-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://schemas-fips.ap-southeast-1.amazonaws.com" + "url": "https://schemas.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://schemas.ap-southeast-1.api.aws" + "url": "https://schemas.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://schemas.ap-southeast-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://schemas-fips.ap-southeast-2.api.aws" + "url": "https://schemas-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://schemas-fips.ap-southeast-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://schemas.ap-southeast-2.api.aws" + "url": "https://schemas.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://schemas.ap-southeast-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://schemas-fips.us-east-1.api.aws" + "url": "https://schemas-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://schemas-fips.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://schemas.us-east-1.api.aws" + "url": "https://schemas.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://schemas.us-east-1.amazonaws.com" + "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://schemas-fips.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://schemas-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://schemas.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://schemas.us-east-2.amazonaws.com" - } - }, - "params": { + "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -904,9 +493,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -916,11 +505,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/secretsmanager/pom.xml b/services/secretsmanager/pom.xml index 5387c52be33d..d72b202babf0 100644 --- a/services/secretsmanager/pom.xml +++ b/services/secretsmanager/pom.xml @@ -22,7 +22,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT secretsmanager AWS Java SDK :: Services :: AWS Secrets Manager diff --git a/services/secretsmanager/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/secretsmanager/src/main/resources/codegen-resources/endpoint-rule-set.json index f4a901c5bd6b..fd7aec323333 100644 --- a/services/secretsmanager/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/secretsmanager/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://secretsmanager-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://secretsmanager-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://secretsmanager-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://secretsmanager-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://secretsmanager.{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://secretsmanager.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://secretsmanager.{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://secretsmanager.{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/services/securityhub/pom.xml b/services/securityhub/pom.xml index 7915b581fea1..9df15be90c04 100644 --- a/services/securityhub/pom.xml +++ b/services/securityhub/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT securityhub AWS Java SDK :: Services :: SecurityHub diff --git a/services/securityhub/src/main/resources/codegen-resources/service-2.json b/services/securityhub/src/main/resources/codegen-resources/service-2.json index 1165e03a0615..12341d7249df 100644 --- a/services/securityhub/src/main/resources/codegen-resources/service-2.json +++ b/services/securityhub/src/main/resources/codegen-resources/service-2.json @@ -4296,6 +4296,200 @@ }, "documentation":"

      Contains the cross-origin resource sharing (CORS) configuration for the API. CORS is only supported for HTTP APIs.

      " }, + "AwsDmsEndpointDetails":{ + "type":"structure", + "members":{ + "CertificateArn":{ + "shape":"NonEmptyString", + "documentation":"

      The Amazon Resource Name (ARN) for the SSL certificate that encrypts connections between the DMS endpoint and the replication instance.

      " + }, + "DatabaseName":{ + "shape":"NonEmptyString", + "documentation":"

      The name of the endpoint database.

      " + }, + "EndpointArn":{ + "shape":"NonEmptyString", + "documentation":"

      The Amazon Resource Name (ARN) of the endpoint.

      " + }, + "EndpointIdentifier":{ + "shape":"NonEmptyString", + "documentation":"

      The database endpoint identifier.

      " + }, + "EndpointType":{ + "shape":"NonEmptyString", + "documentation":"

      The type of endpoint. Valid values are source and target.

      " + }, + "EngineName":{ + "shape":"NonEmptyString", + "documentation":"

      The type of engine for the endpoint, depending on the EndpointType value.

      " + }, + "ExternalId":{ + "shape":"NonEmptyString", + "documentation":"

      A value that can be used for cross-account validation.

      " + }, + "ExtraConnectionAttributes":{ + "shape":"NonEmptyString", + "documentation":"

      Additional attributes associated with the connection.

      " + }, + "KmsKeyId":{ + "shape":"NonEmptyString", + "documentation":"

      An DMS key identifier that is used to encrypt the connection parameters for the endpoint. If you don't specify a value for the KmsKeyId parameter, then DMS uses your default encryption key. KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has a different default encryption key for each Amazon Web Services Region.

      " + }, + "Port":{ + "shape":"Integer", + "documentation":"

      The port used to access the endpoint.

      " + }, + "ServerName":{ + "shape":"NonEmptyString", + "documentation":"

      The name of the server where the endpoint database resides.

      " + }, + "SslMode":{ + "shape":"NonEmptyString", + "documentation":"

      The SSL mode used to connect to the endpoint. The default is none.

      " + }, + "Username":{ + "shape":"NonEmptyString", + "documentation":"

      The user name to be used to log in to the endpoint database.

      " + } + }, + "documentation":"

      Provides details about an Database Migration Service (DMS) endpoint. An endpoint provides connection, data store type, and location information about your data store.

      " + }, + "AwsDmsReplicationInstanceDetails":{ + "type":"structure", + "members":{ + "AllocatedStorage":{ + "shape":"Integer", + "documentation":"

      The amount of storage (in gigabytes) that is allocated for the replication instance.

      " + }, + "AutoMinorVersionUpgrade":{ + "shape":"Boolean", + "documentation":"

      Indicates whether minor engine upgrades are applied automatically to the replication instance during the maintenance window.

      " + }, + "AvailabilityZone":{ + "shape":"NonEmptyString", + "documentation":"

      The Availability Zone that the replication instance is created in. The default value is a random, system-chosen Availability Zone in the endpoint's Amazon Web Services Region, such as us-east-1d.

      " + }, + "EngineVersion":{ + "shape":"NonEmptyString", + "documentation":"

      The engine version number of the replication instance. If an engine version number is not specified when a replication instance is created, the default is the latest engine version available.

      " + }, + "KmsKeyId":{ + "shape":"NonEmptyString", + "documentation":"

      An KMS key identifier that is used to encrypt the data on the replication instance. If you don't specify a value for the KmsKeyId parameter, DMS uses your default encryption key. KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has a different default encryption key for each Amazon Web Services Region.

      " + }, + "MultiAZ":{ + "shape":"Boolean", + "documentation":"

      Specifies whether the replication instance is deployed across multiple Availability Zones (AZs). You can't set the AvailabilityZone parameter if the MultiAZ parameter is set to true.

      " + }, + "PreferredMaintenanceWindow":{ + "shape":"NonEmptyString", + "documentation":"

      The maintenance window times for the replication instance. Upgrades to the replication instance are performed during this time.

      " + }, + "PubliclyAccessible":{ + "shape":"Boolean", + "documentation":"

      Specifies the accessibility options for the replication instance. A value of true represents an instance with a public IP address. A value of false represents an instance with a private IP address. The default value is true.

      " + }, + "ReplicationInstanceClass":{ + "shape":"NonEmptyString", + "documentation":"

      The compute and memory capacity of the replication instance as defined for the specified replication instance class.

      " + }, + "ReplicationInstanceIdentifier":{ + "shape":"NonEmptyString", + "documentation":"

      The replication instance identifier.

      " + }, + "ReplicationSubnetGroup":{ + "shape":"AwsDmsReplicationInstanceReplicationSubnetGroupDetails", + "documentation":"

      The subnet group for the replication instance.

      " + }, + "VpcSecurityGroups":{ + "shape":"AwsDmsReplicationInstanceVpcSecurityGroupsList", + "documentation":"

      The virtual private cloud (VPC) security group for the replication instance.

      " + } + }, + "documentation":"

      Provides details about an Database Migration Service (DMS) replication instance. DMS uses a replication instance to connect to your source data store, read the source data, and format the data for consumption by the target data store.

      " + }, + "AwsDmsReplicationInstanceReplicationSubnetGroupDetails":{ + "type":"structure", + "members":{ + "ReplicationSubnetGroupIdentifier":{ + "shape":"NonEmptyString", + "documentation":"

      The identifier of the replication subnet group.

      " + } + }, + "documentation":"

      Provides details about the replication subnet group.

      " + }, + "AwsDmsReplicationInstanceVpcSecurityGroupsDetails":{ + "type":"structure", + "members":{ + "VpcSecurityGroupId":{ + "shape":"NonEmptyString", + "documentation":"

      The identifier of the VPC security group that’s associated with the replication instance.

      " + } + }, + "documentation":"

      Provides details about the virtual private cloud (VPC) security group that’s associated with the replication instance.

      " + }, + "AwsDmsReplicationInstanceVpcSecurityGroupsList":{ + "type":"list", + "member":{"shape":"AwsDmsReplicationInstanceVpcSecurityGroupsDetails"} + }, + "AwsDmsReplicationTaskDetails":{ + "type":"structure", + "members":{ + "CdcStartPosition":{ + "shape":"NonEmptyString", + "documentation":"

      Indicates when you want a change data capture (CDC) operation to start. CCdcStartPosition or CCdcStartTime specifies when you want a CDC operation to start. Only a value for one of these fields is included.

      " + }, + "CdcStartTime":{ + "shape":"NonEmptyString", + "documentation":"

      Indicates the start time for a CDC operation. CdcStartPosition or CCdcStartTime specifies when you want a CDC operation to start. Only a value for one of these fields is included.

      " + }, + "CdcStopPosition":{ + "shape":"NonEmptyString", + "documentation":"

      Indicates when you want a CDC operation to stop. The value can be either server time or commit time.

      " + }, + "MigrationType":{ + "shape":"NonEmptyString", + "documentation":"

      The migration type.

      " + }, + "Id":{ + "shape":"NonEmptyString", + "documentation":"

      The identifier of the replication task.

      " + }, + "ResourceIdentifier":{ + "shape":"NonEmptyString", + "documentation":"

      A display name for the resource identifier at the end of the EndpointArn response parameter. If you don't specify a ResourceIdentifier value, DMS generates a default identifier value for the end of EndpointArn.

      " + }, + "ReplicationInstanceArn":{ + "shape":"NonEmptyString", + "documentation":"

      The Amazon Resource Name (ARN) of a replication instance.

      " + }, + "ReplicationTaskIdentifier":{ + "shape":"NonEmptyString", + "documentation":"

      The user-defined replication task identifier or name.

      " + }, + "ReplicationTaskSettings":{ + "shape":"NonEmptyString", + "documentation":"

      The settings for the replication task.

      " + }, + "SourceEndpointArn":{ + "shape":"NonEmptyString", + "documentation":"

      The ARN of the source endpoint.

      " + }, + "TableMappings":{ + "shape":"NonEmptyString", + "documentation":"

      The table mappings for the replication task, in JSON format.

      " + }, + "TargetEndpointArn":{ + "shape":"NonEmptyString", + "documentation":"

      The ARN of the target endpoint.

      " + }, + "TaskData":{ + "shape":"NonEmptyString", + "documentation":"

      Supplemental information that the task requires to migrate the data for certain source and target endpoints.

      " + } + }, + "documentation":"

      Provides details about an Database Migration Service (DMS) replication task. A replication task moves a set of data from the source endpoint to the target endpoint.

      " + }, "AwsDynamoDbTableAttributeDefinition":{ "type":"structure", "members":{ @@ -7716,6 +7910,10 @@ "Volumes":{ "shape":"AwsEcsTaskDefinitionVolumesList", "documentation":"

      The data volume definitions for the task.

      " + }, + "Status":{ + "shape":"NonEmptyString", + "documentation":"

      The status of the task definition.

      " } }, "documentation":"

      Details about a task definition. A task definition describes the container and volume definitions of an Amazon Elastic Container Service task.

      " @@ -8919,6 +9117,142 @@ }, "documentation":"

      A schema defines the structure of events that are sent to Amazon EventBridge. Schema registries are containers for schemas. They collect and organize schemas so that your schemas are in logical groups.

      " }, + "AwsEventsEndpointDetails":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"NonEmptyString", + "documentation":"

      The Amazon Resource Name (ARN) of the endpoint.

      " + }, + "Description":{ + "shape":"NonEmptyString", + "documentation":"

      A description of the endpoint.

      " + }, + "EndpointId":{ + "shape":"NonEmptyString", + "documentation":"

      The URL subdomain of the endpoint. For example, if EndpointUrl is https://abcde.veo.endpoints.event.amazonaws.com, then the EndpointId is abcde.veo.

      " + }, + "EndpointUrl":{ + "shape":"NonEmptyString", + "documentation":"

      The URL of the endpoint.

      " + }, + "EventBuses":{ + "shape":"AwsEventsEndpointEventBusesList", + "documentation":"

      The event buses being used by the endpoint.

      " + }, + "Name":{ + "shape":"NonEmptyString", + "documentation":"

      The name of the endpoint.

      " + }, + "ReplicationConfig":{ + "shape":"AwsEventsEndpointReplicationConfigDetails", + "documentation":"

      Whether event replication was enabled or disabled for this endpoint. The default state is ENABLED, which means you must supply a RoleArn. If you don't have a RoleArn or you don't want event replication enabled, set the state to DISABLED.

      " + }, + "RoleArn":{ + "shape":"NonEmptyString", + "documentation":"

      The ARN of the role used by event replication for the endpoint.

      " + }, + "RoutingConfig":{ + "shape":"AwsEventsEndpointRoutingConfigDetails", + "documentation":"

      The routing configuration of the endpoint.

      " + }, + "State":{ + "shape":"NonEmptyString", + "documentation":"

      The current state of the endpoint.

      " + }, + "StateReason":{ + "shape":"NonEmptyString", + "documentation":"

      The reason the endpoint is in its current state.

      " + } + }, + "documentation":"

      Provides details about an Amazon EventBridge global endpoint. The endpoint can improve your application’s availability by making it Regional-fault tolerant.

      " + }, + "AwsEventsEndpointEventBusesDetails":{ + "type":"structure", + "members":{ + "EventBusArn":{ + "shape":"NonEmptyString", + "documentation":"

      The Amazon Resource Name (ARN) of the event bus that the endpoint is associated with.

      " + } + }, + "documentation":"

      Provides details about the Amazon EventBridge event buses that the endpoint is associated with.

      " + }, + "AwsEventsEndpointEventBusesList":{ + "type":"list", + "member":{"shape":"AwsEventsEndpointEventBusesDetails"} + }, + "AwsEventsEndpointReplicationConfigDetails":{ + "type":"structure", + "members":{ + "State":{ + "shape":"NonEmptyString", + "documentation":"

      The state of event replication.

      " + } + }, + "documentation":"

      Indicates whether replication is enabled or disabled for the endpoint. If enabled, the endpoint can replicate all events to a secondary Amazon Web Services Region.

      " + }, + "AwsEventsEndpointRoutingConfigDetails":{ + "type":"structure", + "members":{ + "FailoverConfig":{ + "shape":"AwsEventsEndpointRoutingConfigFailoverConfigDetails", + "documentation":"

      The failover configuration for an endpoint. This includes what triggers failover and what happens when it's triggered.

      " + } + }, + "documentation":"

      Provides details about the routing configuration of the endpoint.

      " + }, + "AwsEventsEndpointRoutingConfigFailoverConfigDetails":{ + "type":"structure", + "members":{ + "Primary":{ + "shape":"AwsEventsEndpointRoutingConfigFailoverConfigPrimaryDetails", + "documentation":"

      The main Region of the endpoint.

      " + }, + "Secondary":{ + "shape":"AwsEventsEndpointRoutingConfigFailoverConfigSecondaryDetails", + "documentation":"

      The Region that events are routed to when failover is triggered or event replication is enabled.

      " + } + }, + "documentation":"

      The failover configuration for an endpoint. This includes what triggers failover and what happens when it's triggered.

      " + }, + "AwsEventsEndpointRoutingConfigFailoverConfigPrimaryDetails":{ + "type":"structure", + "members":{ + "HealthCheck":{ + "shape":"NonEmptyString", + "documentation":"

      The Amazon Resource Name (ARN) of the health check used by the endpoint to determine whether failover is triggered.

      " + } + }, + "documentation":"

      Provides details about the primary Amazon Web Services Region of the endpoint.

      " + }, + "AwsEventsEndpointRoutingConfigFailoverConfigSecondaryDetails":{ + "type":"structure", + "members":{ + "Route":{ + "shape":"NonEmptyString", + "documentation":"

      Defines the secondary Region.

      " + } + }, + "documentation":"

      The Amazon Web Services Region that events are routed to when failover is triggered or event replication is enabled.

      " + }, + "AwsEventsEventbusDetails":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"NonEmptyString", + "documentation":"

      The Amazon Resource Name (ARN) of the account permitted to write events to the current account.

      " + }, + "Name":{ + "shape":"NonEmptyString", + "documentation":"

      The name of the event bus.

      " + }, + "Policy":{ + "shape":"NonEmptyString", + "documentation":"

      The policy that enables the external account to send events to your account.

      " + } + }, + "documentation":"

      Provides details about Amazon EventBridge event bus. An event bus is a router that receives events and delivers them to zero or more destinations, or targets. This can be a custom event bus which you can use to receive events from your custom applications and services, or it can be a partner event bus which can be matched to a partner event source.

      " + }, "AwsGuardDutyDetectorDataSourcesCloudTrailDetails":{ "type":"structure", "members":{ @@ -9834,6 +10168,156 @@ "type":"list", "member":{"shape":"AwsMountPoint"} }, + "AwsMskClusterClusterInfoClientAuthenticationDetails":{ + "type":"structure", + "members":{ + "Sasl":{ + "shape":"AwsMskClusterClusterInfoClientAuthenticationSaslDetails", + "documentation":"

      Provides details for client authentication using SASL.

      " + }, + "Unauthenticated":{ + "shape":"AwsMskClusterClusterInfoClientAuthenticationUnauthenticatedDetails", + "documentation":"

      Provides details for allowing no client authentication.

      " + }, + "Tls":{ + "shape":"AwsMskClusterClusterInfoClientAuthenticationTlsDetails", + "documentation":"

      Provides details for client authentication using TLS.

      " + } + }, + "documentation":"

      Provides details about different modes of client authentication.

      " + }, + "AwsMskClusterClusterInfoClientAuthenticationSaslDetails":{ + "type":"structure", + "members":{ + "Iam":{ + "shape":"AwsMskClusterClusterInfoClientAuthenticationSaslIamDetails", + "documentation":"

      Provides details for SASL client authentication using IAM.

      " + }, + "Scram":{ + "shape":"AwsMskClusterClusterInfoClientAuthenticationSaslScramDetails", + "documentation":"

      Details for SASL client authentication using SCRAM.

      " + } + }, + "documentation":"

      Provides details for client authentication using SASL.

      " + }, + "AwsMskClusterClusterInfoClientAuthenticationSaslIamDetails":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

      Indicates whether SASL/IAM authentication is enabled or not.

      " + } + }, + "documentation":"

      Details for SASL/IAM client authentication.

      " + }, + "AwsMskClusterClusterInfoClientAuthenticationSaslScramDetails":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

      Indicates whether SASL/SCRAM authentication is enabled or not.

      " + } + }, + "documentation":"

      Details for SASL/SCRAM client authentication.

      " + }, + "AwsMskClusterClusterInfoClientAuthenticationTlsDetails":{ + "type":"structure", + "members":{ + "CertificateAuthorityArnList":{ + "shape":"StringList", + "documentation":"

      List of Amazon Web Services Private CA Amazon Resource Names (ARNs). Amazon Web Services Private CA enables creation of private certificate authority (CA) hierarchies, including root and subordinate CAs, without the investment and maintenance costs of operating an on-premises CA.

      " + }, + "Enabled":{ + "shape":"Boolean", + "documentation":"

      Indicates whether TLS authentication is enabled or not.

      " + } + }, + "documentation":"

      Provides details for client authentication using TLS.

      " + }, + "AwsMskClusterClusterInfoClientAuthenticationUnauthenticatedDetails":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

      Indicates whether unauthenticated is allowed or not.

      " + } + }, + "documentation":"

      Provides details for allowing no client authentication.

      " + }, + "AwsMskClusterClusterInfoDetails":{ + "type":"structure", + "members":{ + "EncryptionInfo":{ + "shape":"AwsMskClusterClusterInfoEncryptionInfoDetails", + "documentation":"

      Includes encryption-related information, such as the KMS key used for encrypting data at rest and whether you want Amazon MSK to encrypt your data in transit.

      " + }, + "CurrentVersion":{ + "shape":"NonEmptyString", + "documentation":"

      The current version of the MSK cluster.

      " + }, + "NumberOfBrokerNodes":{ + "shape":"Integer", + "documentation":"

      The number of broker nodes in the cluster.

      " + }, + "ClusterName":{ + "shape":"NonEmptyString", + "documentation":"

      The name of the cluster.

      " + }, + "ClientAuthentication":{ + "shape":"AwsMskClusterClusterInfoClientAuthenticationDetails", + "documentation":"

      Provides information for different modes of client authentication.

      " + } + }, + "documentation":"

      Provide details about an Amazon MSK cluster.

      " + }, + "AwsMskClusterClusterInfoEncryptionInfoDetails":{ + "type":"structure", + "members":{ + "EncryptionInTransit":{ + "shape":"AwsMskClusterClusterInfoEncryptionInfoEncryptionInTransitDetails", + "documentation":"

      The settings for encrypting data in transit.

      " + }, + "EncryptionAtRest":{ + "shape":"AwsMskClusterClusterInfoEncryptionInfoEncryptionAtRestDetails", + "documentation":"

      The data-volume encryption details. You can't update encryption at rest settings for existing clusters.

      " + } + }, + "documentation":"

      Includes encryption-related information, such as the KMS key used for encrypting data at rest and whether you want MSK to encrypt your data in transit.

      " + }, + "AwsMskClusterClusterInfoEncryptionInfoEncryptionAtRestDetails":{ + "type":"structure", + "members":{ + "DataVolumeKMSKeyId":{ + "shape":"NonEmptyString", + "documentation":"

      The Amazon Resource Name (ARN) of the KMS key for encrypting data at rest. If you don't specify a KMS key, MSK creates one for you and uses it.

      " + } + }, + "documentation":"

      The data-volume encryption details. You can't update encryption at rest settings for existing clusters.

      " + }, + "AwsMskClusterClusterInfoEncryptionInfoEncryptionInTransitDetails":{ + "type":"structure", + "members":{ + "InCluster":{ + "shape":"Boolean", + "documentation":"

      When set to true, it indicates that data communication among the broker nodes of the cluster is encrypted. When set to false, the communication happens in plain text. The default value is true.

      " + }, + "ClientBroker":{ + "shape":"NonEmptyString", + "documentation":"

      Indicates the encryption setting for data in transit between clients and brokers.

      " + } + }, + "documentation":"

      The settings for encrypting data in transit.

      " + }, + "AwsMskClusterDetails":{ + "type":"structure", + "members":{ + "ClusterInfo":{ + "shape":"AwsMskClusterClusterInfoDetails", + "documentation":"

      Provides information about a cluster.

      " + } + }, + "documentation":"

      Provides details about an Amazon Managed Streaming for Apache Kafka (Amazon MSK) cluster.

      " + }, "AwsNetworkFirewallFirewallDetails":{ "type":"structure", "members":{ @@ -10414,6 +10898,10 @@ "IamDatabaseAuthenticationEnabled":{ "shape":"Boolean", "documentation":"

      Whether the mapping of IAM accounts to database accounts is enabled.

      " + }, + "AutoMinorVersionUpgrade":{ + "shape":"Boolean", + "documentation":"

      Indicates if minor version upgrades are automatically applied to the cluster.

      " } }, "documentation":"

      Information about an Amazon RDS DB cluster.

      " @@ -11853,6 +12341,88 @@ "type":"list", "member":{"shape":"AwsRedshiftClusterVpcSecurityGroup"} }, + "AwsRoute53HostedZoneConfigDetails":{ + "type":"structure", + "members":{ + "Comment":{ + "shape":"NonEmptyString", + "documentation":"

      Any comments that you include about the hosted zone.

      " + } + }, + "documentation":"

      An object that contains an optional comment about your Amazon Route 53 hosted zone.

      " + }, + "AwsRoute53HostedZoneDetails":{ + "type":"structure", + "members":{ + "HostedZone":{ + "shape":"AwsRoute53HostedZoneObjectDetails", + "documentation":"

      An object that contains information about the specified hosted zone.

      " + }, + "Vpcs":{ + "shape":"AwsRoute53HostedZoneVpcsList", + "documentation":"

      An object that contains information about the Amazon Virtual Private Clouds (Amazon VPCs) that are associated with the specified hosted zone.

      " + }, + "NameServers":{ + "shape":"AwsRoute53HostedZoneNameServersList", + "documentation":"

      An object that contains a list of the authoritative name servers for a hosted zone or for a reusable delegation set.

      " + }, + "QueryLoggingConfig":{ + "shape":"AwsRoute53QueryLoggingConfigDetails", + "documentation":"

      An array that contains one QueryLoggingConfig element for each DNS query logging configuration that is associated with the current Amazon Web Services account.

      " + } + }, + "documentation":"

      Provides details about a specified Amazon Route 53 hosted zone, including the four name servers assigned to the hosted zone. A hosted zone represents a collection of records that can be managed together, belonging to a single parent domain name.

      " + }, + "AwsRoute53HostedZoneNameServersList":{ + "type":"list", + "member":{"shape":"NonEmptyString"} + }, + "AwsRoute53HostedZoneObjectDetails":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"NonEmptyString", + "documentation":"

      The ID that Route 53 assigns to the hosted zone when you create it.

      " + }, + "Name":{ + "shape":"NonEmptyString", + "documentation":"

      The name of the domain. For public hosted zones, this is the name that you have registered with your DNS registrar.

      " + }, + "Config":{ + "shape":"AwsRoute53HostedZoneConfigDetails", + "documentation":"

      An object that includes the Comment element.

      " + } + }, + "documentation":"

      An object that contains information about an Amazon Route 53 hosted zone.

      " + }, + "AwsRoute53HostedZoneVpcDetails":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"NonEmptyString", + "documentation":"

      The identifier of an Amazon VPC.

      " + }, + "Region":{ + "shape":"NonEmptyString", + "documentation":"

      The Amazon Web Services Region that an Amazon VPC was created in.

      " + } + }, + "documentation":"

      For private hosted zones, this is a complex type that contains information about an Amazon VPC.

      " + }, + "AwsRoute53HostedZoneVpcsList":{ + "type":"list", + "member":{"shape":"AwsRoute53HostedZoneVpcDetails"} + }, + "AwsRoute53QueryLoggingConfigDetails":{ + "type":"structure", + "members":{ + "CloudWatchLogsLogGroupArn":{ + "shape":"CloudWatchLogsLogGroupArnConfigDetails", + "documentation":"

      The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log group that Route 53 is publishing logs to.

      " + } + }, + "documentation":"

      Provides details about a specified Amazon Route 53 configuration for DNS query logging.

      " + }, "AwsS3AccountPublicAccessBlockDetails":{ "type":"structure", "members":{ @@ -14633,6 +15203,24 @@ }, "documentation":"

      Provides details about the current status of the sensitive data detection.

      " }, + "CloudWatchLogsLogGroupArnConfigDetails":{ + "type":"structure", + "members":{ + "CloudWatchLogsLogGroupArn":{ + "shape":"NonEmptyString", + "documentation":"

      The ARN of the CloudWatch Logs log group that Route 53 is publishing logs to.

      " + }, + "HostedZoneId":{ + "shape":"NonEmptyString", + "documentation":"

      The ID of the hosted zone that CloudWatch Logs is logging queries for.

      " + }, + "Id":{ + "shape":"NonEmptyString", + "documentation":"

      The ID for a DNS query logging configuration.

      " + } + }, + "documentation":"

      The Amazon Resource Name (ARN) and other details of the Amazon CloudWatch Logs log group that Amazon Route 53 is publishing logs to.

      " + }, "CodeVulnerabilitiesFilePath":{ "type":"structure", "members":{ @@ -17753,6 +18341,34 @@ "AwsAthenaWorkGroup":{ "shape":"AwsAthenaWorkGroupDetails", "documentation":"

      Provides information about an Amazon Athena workgroup. A workgroup helps you separate users, teams, applications, or workloads. It also helps you set limits on data processing and track costs.

      " + }, + "AwsEventsEventbus":{ + "shape":"AwsEventsEventbusDetails", + "documentation":"

      Provides details about Amazon EventBridge event bus for an endpoint. An event bus is a router that receives events and delivers them to zero or more destinations, or targets.

      " + }, + "AwsDmsEndpoint":{ + "shape":"AwsDmsEndpointDetails", + "documentation":"

      Provides details about an Database Migration Service (DMS) endpoint. An endpoint provides connection, data store type, and location information about your data store.

      " + }, + "AwsEventsEndpoint":{ + "shape":"AwsEventsEndpointDetails", + "documentation":"

      Provides details about an Amazon EventBridge global endpoint. The endpoint can improve your application’s availability by making it Regional-fault tolerant.

      " + }, + "AwsDmsReplicationTask":{ + "shape":"AwsDmsReplicationTaskDetails", + "documentation":"

      Provides details about an DMS replication task. A replication task moves a set of data from the source endpoint to the target endpoint.

      " + }, + "AwsDmsReplicationInstance":{ + "shape":"AwsDmsReplicationInstanceDetails", + "documentation":"

      Provides details about an DMS replication instance. DMS uses a replication instance to connect to your source data store, read the source data, and format the data for consumption by the target data store.

      " + }, + "AwsRoute53HostedZone":{ + "shape":"AwsRoute53HostedZoneDetails", + "documentation":"

      Provides details about an Amazon Route 53 hosted zone, including the four name servers assigned to the hosted zone. A hosted zone represents a collection of records that can be managed together, belonging to a single parent domain name.

      " + }, + "AwsMskCluster":{ + "shape":"AwsMskClusterDetails", + "documentation":"

      Provides details about an Amazon Managed Streaming for Apache Kafka (Amazon MSK) cluster.

      " } }, "documentation":"

      Additional details about a resource related to a finding.

      To provide the details, use the object that corresponds to the resource type. For example, if the resource type is AwsEc2Instance, then you use the AwsEc2Instance object to provide the details.

      If the type-specific object does not contain all of the fields you want to populate, then you use the Other object to populate those additional fields.

      You also use the Other object to populate the details when the selected type does not have a corresponding object.

      " diff --git a/services/securitylake/pom.xml b/services/securitylake/pom.xml index fc257e2808d3..77cb5cc4b0ed 100644 --- a/services/securitylake/pom.xml +++ b/services/securitylake/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT securitylake AWS Java SDK :: Services :: Security Lake diff --git a/services/serverlessapplicationrepository/pom.xml b/services/serverlessapplicationrepository/pom.xml index 83464c27d6c0..160da7e3ab5c 100644 --- a/services/serverlessapplicationrepository/pom.xml +++ b/services/serverlessapplicationrepository/pom.xml @@ -20,7 +20,7 @@ services software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 serverlessapplicationrepository diff --git a/services/serverlessapplicationrepository/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/serverlessapplicationrepository/src/main/resources/codegen-resources/endpoint-rule-set.json index 85287dadeafe..f0f4a5e6c081 100644 --- a/services/serverlessapplicationrepository/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/serverlessapplicationrepository/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,64 +45,17 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "ref": "UseFIPS" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + true ] } - ] + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" }, { "conditions": [ @@ -111,19 +63,51 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "booleanEquals", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "UseDualStack" - }, - true - ] + "ref": "Region" + } + ], + "assign": "PartitionResult" } ], "type": "tree", @@ -133,38 +117,57 @@ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] }, { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -177,52 +180,46 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -260,52 +257,46 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -318,57 +309,13 @@ "type": "endpoint" } ] - } - ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ] - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-east-1" - ] - } - ], - "endpoint": { - "url": "https://serverlessrepo.us-gov-east-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ + }, { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-west-1" - ] + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } - ], - "endpoint": { - "url": "https://serverlessrepo.us-gov-west-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + ] }, { "conditions": [], @@ -382,6 +329,11 @@ ] } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/serverlessapplicationrepository/src/main/resources/codegen-resources/endpoint-tests.json b/services/serverlessapplicationrepository/src/main/resources/codegen-resources/endpoint-tests.json index 728c67478264..7bdd7c385f2d 100644 --- a/services/serverlessapplicationrepository/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/serverlessapplicationrepository/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,354 +1,393 @@ { "testCases": [ { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://serverlessrepo-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://serverlessrepo.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-iso-east-1" + "Region": "ap-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://serverlessrepo.us-iso-east-1.c2s.ic.gov" + "url": "https://serverlessrepo.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-northeast-1", "UseFIPS": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://serverlessrepo.us-west-1.amazonaws.com" + "url": "https://serverlessrepo.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-northeast-2", "UseFIPS": false, - "Region": "us-west-1" + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://serverlessrepo.ap-east-1.amazonaws.com" + "url": "https://serverlessrepo.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-south-1", "UseFIPS": false, - "Region": "ap-east-1" + "UseDualStack": false } }, { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://serverlessrepo.eu-north-1.amazonaws.com" + "url": "https://serverlessrepo.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-southeast-1", "UseFIPS": false, - "Region": "eu-north-1" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://serverlessrepo.ap-northeast-2.amazonaws.com" + "url": "https://serverlessrepo.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-southeast-2", "UseFIPS": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://serverlessrepo.ap-northeast-1.amazonaws.com" + "url": "https://serverlessrepo.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ca-central-1", "UseFIPS": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://serverlessrepo.us-west-2.amazonaws.com" + "url": "https://serverlessrepo.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-central-1", "UseFIPS": false, - "Region": "us-west-2" + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://serverlessrepo.sa-east-1.amazonaws.com" + "url": "https://serverlessrepo.eu-north-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-north-1", "UseFIPS": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://serverlessrepo.us-east-1.amazonaws.com" + "url": "https://serverlessrepo.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-west-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://serverlessrepo.ca-central-1.amazonaws.com" + "url": "https://serverlessrepo.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-west-2", "UseFIPS": false, - "Region": "ca-central-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://serverlessrepo.us-east-2.amazonaws.com" + "url": "https://serverlessrepo.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-west-3", "UseFIPS": false, - "Region": "us-east-2" + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://serverlessrepo.eu-west-1.amazonaws.com" + "url": "https://serverlessrepo.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "me-south-1", "UseFIPS": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://serverlessrepo.eu-west-2.amazonaws.com" + "url": "https://serverlessrepo.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "sa-east-1", "UseFIPS": false, - "Region": "eu-west-2" + "UseDualStack": false } }, { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://serverlessrepo.eu-west-3.amazonaws.com" + "url": "https://serverlessrepo.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "eu-west-3" + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://serverlessrepo.me-south-1.amazonaws.com" + "url": "https://serverlessrepo.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-2", "UseFIPS": false, - "Region": "me-south-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://serverlessrepo.ap-southeast-1.amazonaws.com" + "url": "https://serverlessrepo.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-west-1", "UseFIPS": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://serverlessrepo.ap-southeast-2.amazonaws.com" + "url": "https://serverlessrepo.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-west-2", "UseFIPS": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://serverlessrepo.eu-central-1.amazonaws.com" + "url": "https://serverlessrepo-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://serverlessrepo-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://serverlessrepo.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", "UseFIPS": false, - "Region": "eu-central-1" + "UseDualStack": true } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://serverlessrepo.ap-south-1.amazonaws.com" + "url": "https://serverlessrepo.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "ap-south-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://serverlessrepo-fips.us-east-1.api.aws" + "url": "https://serverlessrepo.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://serverlessrepo-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://serverlessrepo-fips.us-east-1.amazonaws.com" + "url": "https://serverlessrepo-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://serverlessrepo.us-east-1.api.aws" + "url": "https://serverlessrepo.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://serverlessrepo.us-gov-west-1.amazonaws.com" + "url": "https://serverlessrepo.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://serverlessrepo.us-gov-west-1.amazonaws.com" + "url": "https://serverlessrepo.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://serverlessrepo.us-gov-east-1.amazonaws.com" + "url": "https://serverlessrepo.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-west-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://serverlessrepo.us-gov-east-1.amazonaws.com" + "url": "https://serverlessrepo.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-west-1", "UseFIPS": true, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -359,9 +398,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -372,113 +411,131 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://serverlessrepo-fips.us-isob-east-1.sc2s.sgov.gov" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://serverlessrepo.us-isob-east-1.sc2s.sgov.gov" + "url": "https://serverlessrepo-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-isob-east-1" + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://serverlessrepo.cn-northwest-1.amazonaws.com.cn" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "cn-northwest-1" + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://serverlessrepo.cn-north-1.amazonaws.com.cn" + "url": "https://serverlessrepo.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://serverlessrepo-fips.cn-north-1.api.amazonwebservices.com.cn" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://serverlessrepo-fips.cn-north-1.amazonaws.com.cn" + "url": "https://serverlessrepo-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://serverlessrepo.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://serverlessrepo.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "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, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { "UseFIPS": false, - "Region": "us-east-1", + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -488,9 +545,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -500,11 +557,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/servicecatalog/pom.xml b/services/servicecatalog/pom.xml index abe7c9c79fc8..bfac999e8d17 100644 --- a/services/servicecatalog/pom.xml +++ b/services/servicecatalog/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT servicecatalog AWS Java SDK :: Services :: AWS Service Catalog diff --git a/services/servicecatalogappregistry/pom.xml b/services/servicecatalogappregistry/pom.xml index fe77038cccbc..8325f3d39029 100644 --- a/services/servicecatalogappregistry/pom.xml +++ b/services/servicecatalogappregistry/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT servicecatalogappregistry AWS Java SDK :: Services :: Service Catalog App Registry diff --git a/services/servicecatalogappregistry/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/servicecatalogappregistry/src/main/resources/codegen-resources/endpoint-rule-set.json index c68661173d42..f805660d6aa5 100644 --- a/services/servicecatalogappregistry/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/servicecatalogappregistry/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,92 +140,83 @@ { "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://servicecatalog-appregistry-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://servicecatalog-appregistry-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 + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], @@ -221,155 +225,115 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, + "aws-us-gov", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] } ] } ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - "aws-us-gov", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://servicecatalog-appregistry.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://servicecatalog-appregistry-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] + "endpoint": { + "url": "https://servicecatalog-appregistry.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://servicecatalog-appregistry-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://servicecatalog-appregistry.{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://servicecatalog-appregistry.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://servicecatalog-appregistry.{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://servicecatalog-appregistry.{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/services/servicecatalogappregistry/src/main/resources/codegen-resources/endpoint-tests.json b/services/servicecatalogappregistry/src/main/resources/codegen-resources/endpoint-tests.json index 6f23719cc0f9..b38c5782e7e9 100644 --- a/services/servicecatalogappregistry/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/servicecatalogappregistry/src/main/resources/codegen-resources/endpoint-tests.json @@ -8,9 +8,9 @@ } }, "params": { + "Region": "af-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "af-south-1" + "UseDualStack": false } }, { @@ -21,9 +21,9 @@ } }, "params": { + "Region": "ap-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-east-1" + "UseDualStack": false } }, { @@ -34,9 +34,9 @@ } }, "params": { + "Region": "ap-northeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { @@ -47,9 +47,9 @@ } }, "params": { + "Region": "ap-northeast-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { @@ -60,9 +60,9 @@ } }, "params": { + "Region": "ap-northeast-3", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-3" + "UseDualStack": false } }, { @@ -73,9 +73,9 @@ } }, "params": { + "Region": "ap-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-south-1" + "UseDualStack": false } }, { @@ -86,9 +86,9 @@ } }, "params": { + "Region": "ap-southeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { @@ -99,9 +99,9 @@ } }, "params": { + "Region": "ap-southeast-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { @@ -112,9 +112,9 @@ } }, "params": { + "Region": "ap-southeast-3", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-3" + "UseDualStack": false } }, { @@ -125,9 +125,9 @@ } }, "params": { + "Region": "ca-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ca-central-1" + "UseDualStack": false } }, { @@ -138,9 +138,9 @@ } }, "params": { + "Region": "ca-central-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "ca-central-1" + "UseDualStack": false } }, { @@ -151,9 +151,9 @@ } }, "params": { + "Region": "eu-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { @@ -164,9 +164,9 @@ } }, "params": { + "Region": "eu-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-north-1" + "UseDualStack": false } }, { @@ -177,9 +177,9 @@ } }, "params": { + "Region": "eu-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-south-1" + "UseDualStack": false } }, { @@ -190,9 +190,9 @@ } }, "params": { + "Region": "eu-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { @@ -203,9 +203,9 @@ } }, "params": { + "Region": "eu-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-2" + "UseDualStack": false } }, { @@ -216,9 +216,9 @@ } }, "params": { + "Region": "eu-west-3", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-3" + "UseDualStack": false } }, { @@ -229,9 +229,9 @@ } }, "params": { + "Region": "me-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "me-south-1" + "UseDualStack": false } }, { @@ -242,9 +242,9 @@ } }, "params": { + "Region": "sa-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { @@ -255,9 +255,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -268,9 +268,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -281,9 +281,9 @@ } }, "params": { + "Region": "us-east-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-2" + "UseDualStack": false } }, { @@ -294,9 +294,9 @@ } }, "params": { + "Region": "us-east-2", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-2" + "UseDualStack": false } }, { @@ -307,9 +307,9 @@ } }, "params": { + "Region": "us-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-1" + "UseDualStack": false } }, { @@ -320,9 +320,9 @@ } }, "params": { + "Region": "us-west-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-west-1" + "UseDualStack": false } }, { @@ -333,9 +333,9 @@ } }, "params": { + "Region": "us-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -346,9 +346,9 @@ } }, "params": { + "Region": "us-west-2", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -359,9 +359,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -372,9 +372,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -385,9 +385,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -398,9 +398,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -411,9 +411,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -424,9 +424,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -437,9 +437,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -450,9 +450,9 @@ } }, "params": { + "Region": "us-gov-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { @@ -463,9 +463,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -476,9 +476,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -489,9 +489,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -500,9 +500,9 @@ "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-iso-east-1" + "UseDualStack": true } }, { @@ -513,9 +513,9 @@ } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { @@ -524,9 +524,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-iso-east-1" + "UseDualStack": true } }, { @@ -537,9 +537,9 @@ } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { @@ -548,9 +548,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 } }, { @@ -561,9 +561,9 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -572,9 +572,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 } }, { @@ -585,9 +585,9 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -598,9 +598,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -623,9 +623,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" } }, @@ -635,9 +635,9 @@ "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" } }, diff --git a/services/servicediscovery/pom.xml b/services/servicediscovery/pom.xml index 8fbd39835f70..0d52859fca94 100644 --- a/services/servicediscovery/pom.xml +++ b/services/servicediscovery/pom.xml @@ -20,7 +20,7 @@ services software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 servicediscovery diff --git a/services/servicediscovery/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/servicediscovery/src/main/resources/codegen-resources/endpoint-rule-set.json index f26f043db065..637ad5695ecb 100644 --- a/services/servicediscovery/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/servicediscovery/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,92 +140,135 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] }, { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], "type": "tree", "rules": [ { - "conditions": [ + "conditions": [], + "endpoint": { + "url": "https://servicediscovery-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://servicediscovery-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsFIPS" ] } ] - }, + } + ], + "type": "tree", + "rules": [ { "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" + "endpoint": { + "url": "https://servicediscovery-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": "UseFIPS" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], @@ -221,130 +277,113 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, + "aws", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] } ] } ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://servicediscovery-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] + "endpoint": { + "url": "https://servicediscovery.{Region}.amazonaws.com", + "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", + "fn": "stringEquals", "argv": [ - true, + "aws-cn", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsDualStack" + "name" ] } ] } ], - "type": "tree", - "rules": [ + "endpoint": { + "url": "https://servicediscovery.{Region}.amazonaws.com.cn", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ { - "conditions": [], - "type": "tree", - "rules": [ + "fn": "stringEquals", + "argv": [ + "aws-us-gov", { - "conditions": [], - "endpoint": { - "url": "https://servicediscovery.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] } ] } - ] + ], + "endpoint": { + "url": "https://servicediscovery.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ] - }, - { - "conditions": [], - "type": "tree", - "rules": [ { "conditions": [], "endpoint": { - "url": "https://servicediscovery.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://servicediscovery.{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://servicediscovery.{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/services/servicediscovery/src/main/resources/codegen-resources/endpoint-tests.json b/services/servicediscovery/src/main/resources/codegen-resources/endpoint-tests.json index ae95943c83da..957d84922d73 100644 --- a/services/servicediscovery/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/servicediscovery/src/main/resources/codegen-resources/endpoint-tests.json @@ -8,9 +8,9 @@ } }, "params": { + "Region": "af-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "af-south-1" + "UseDualStack": false } }, { @@ -21,9 +21,9 @@ } }, "params": { + "Region": "ap-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-east-1" + "UseDualStack": false } }, { @@ -34,9 +34,9 @@ } }, "params": { + "Region": "ap-northeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { @@ -47,9 +47,9 @@ } }, "params": { + "Region": "ap-northeast-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { @@ -60,9 +60,9 @@ } }, "params": { + "Region": "ap-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-south-1" + "UseDualStack": false } }, { @@ -73,9 +73,9 @@ } }, "params": { + "Region": "ap-southeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { @@ -86,9 +86,9 @@ } }, "params": { + "Region": "ap-southeast-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { @@ -99,9 +99,9 @@ } }, "params": { + "Region": "ca-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ca-central-1" + "UseDualStack": false } }, { @@ -112,9 +112,9 @@ } }, "params": { + "Region": "ca-central-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "ca-central-1" + "UseDualStack": false } }, { @@ -125,9 +125,9 @@ } }, "params": { + "Region": "eu-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { @@ -138,9 +138,9 @@ } }, "params": { + "Region": "eu-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-north-1" + "UseDualStack": false } }, { @@ -151,9 +151,9 @@ } }, "params": { + "Region": "eu-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-south-1" + "UseDualStack": false } }, { @@ -164,9 +164,9 @@ } }, "params": { + "Region": "eu-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { @@ -177,9 +177,9 @@ } }, "params": { + "Region": "eu-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-2" + "UseDualStack": false } }, { @@ -190,9 +190,9 @@ } }, "params": { + "Region": "eu-west-3", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-3" + "UseDualStack": false } }, { @@ -203,9 +203,9 @@ } }, "params": { + "Region": "me-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "me-south-1" + "UseDualStack": false } }, { @@ -216,9 +216,9 @@ } }, "params": { + "Region": "sa-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { @@ -229,9 +229,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -242,9 +242,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -255,9 +255,9 @@ } }, "params": { + "Region": "us-east-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-2" + "UseDualStack": false } }, { @@ -268,9 +268,9 @@ } }, "params": { + "Region": "us-east-2", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-2" + "UseDualStack": false } }, { @@ -281,9 +281,9 @@ } }, "params": { + "Region": "us-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-1" + "UseDualStack": false } }, { @@ -294,9 +294,9 @@ } }, "params": { + "Region": "us-west-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-west-1" + "UseDualStack": false } }, { @@ -307,9 +307,9 @@ } }, "params": { + "Region": "us-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -320,9 +320,9 @@ } }, "params": { + "Region": "us-west-2", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -333,22 +333,22 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://servicediscovery.us-east-1.api.aws" + "url": "https://servicediscovery.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -359,9 +359,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -372,9 +372,9 @@ } }, "params": { + "Region": "cn-northwest-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "cn-northwest-1" + "UseDualStack": false } }, { @@ -385,9 +385,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -398,22 +398,22 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://servicediscovery.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://servicediscovery.cn-north-1.amazonaws.com.cn" } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -424,9 +424,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -437,9 +437,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -450,9 +450,9 @@ } }, "params": { + "Region": "us-gov-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { @@ -463,9 +463,9 @@ } }, "params": { + "Region": "us-gov-west-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { @@ -476,22 +476,22 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://servicediscovery.us-gov-east-1.api.aws" + "url": "https://servicediscovery.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -500,9 +500,9 @@ "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-iso-east-1" + "UseDualStack": true } }, { @@ -513,9 +513,9 @@ } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { @@ -524,9 +524,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-iso-east-1" + "UseDualStack": true } }, { @@ -537,9 +537,9 @@ } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { @@ -548,9 +548,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 } }, { @@ -561,9 +561,9 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -572,9 +572,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 } }, { @@ -585,9 +585,9 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -598,9 +598,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -623,9 +623,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" } }, @@ -635,9 +635,9 @@ "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" } }, diff --git a/services/servicediscovery/src/main/resources/codegen-resources/service-2.json b/services/servicediscovery/src/main/resources/codegen-resources/service-2.json index e7cb834d74be..e708931868b1 100644 --- a/services/servicediscovery/src/main/resources/codegen-resources/service-2.json +++ b/services/servicediscovery/src/main/resources/codegen-resources/service-2.json @@ -143,7 +143,24 @@ {"shape":"InvalidInput"}, {"shape":"RequestLimitExceeded"} ], - "documentation":"

      Discovers registered instances for a specified namespace and service. You can use DiscoverInstances to discover instances for any type of namespace. For public and private DNS namespaces, you can also use DNS queries to discover instances.

      ", + "documentation":"

      Discovers registered instances for a specified namespace and service. You can use DiscoverInstances to discover instances for any type of namespace. DiscoverInstances returns a randomized list of instances allowing customers to distribute traffic evenly across instances. For public and private DNS namespaces, you can also use DNS queries to discover instances.

      ", + "endpoint":{"hostPrefix":"data-"} + }, + "DiscoverInstancesRevision":{ + "name":"DiscoverInstancesRevision", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DiscoverInstancesRevisionRequest"}, + "output":{"shape":"DiscoverInstancesRevisionResponse"}, + "errors":[ + {"shape":"ServiceNotFound"}, + {"shape":"NamespaceNotFound"}, + {"shape":"InvalidInput"}, + {"shape":"RequestLimitExceeded"} + ], + "documentation":"

      Discovers the increasing revision associated with an instance.

      ", "endpoint":{"hostPrefix":"data-"} }, "GetInstance":{ @@ -202,7 +219,7 @@ {"shape":"InvalidInput"}, {"shape":"OperationNotFound"} ], - "documentation":"

      Gets information about any operation that returns an operation ID in the response, such as a CreateService request.

      To get a list of operations that match specified criteria, see ListOperations.

      " + "documentation":"

      Gets information about any operation that returns an operation ID in the response, such as a CreateHttpNamespace request.

      To get a list of operations that match specified criteria, see ListOperations.

      " }, "GetService":{ "name":"GetService", @@ -713,6 +730,36 @@ "Instances":{ "shape":"HttpInstanceSummaryList", "documentation":"

      A complex type that contains one HttpInstanceSummary for each registered instance.

      " + }, + "InstancesRevision":{ + "shape":"Revision", + "documentation":"

      The increasing revision associated to the response Instances list. If a new instance is registered or deregistered, the InstancesRevision updates. The health status updates don't update InstancesRevision.

      " + } + } + }, + "DiscoverInstancesRevisionRequest":{ + "type":"structure", + "required":[ + "NamespaceName", + "ServiceName" + ], + "members":{ + "NamespaceName":{ + "shape":"NamespaceName", + "documentation":"

      The HttpName name of the namespace. It's found in the HttpProperties member of the Properties member of the namespace.

      " + }, + "ServiceName":{ + "shape":"ServiceName", + "documentation":"

      The name of the service that you specified when you registered the instance.

      " + } + } + }, + "DiscoverInstancesRevisionResponse":{ + "type":"structure", + "members":{ + "InstancesRevision":{ + "shape":"Revision", + "documentation":"

      The increasing revision associated to the response Instances list. If a new instance is registered or deregistered, the InstancesRevision updates. The health status updates don't update InstancesRevision.

      " } } }, @@ -1741,7 +1788,7 @@ }, "Attributes":{ "shape":"Attributes", - "documentation":"

      A string map that contains the following information for the service that you specify in ServiceId:

      • The attributes that apply to the records that are defined in the service.

      • For each attribute, the applicable value.

      Do not include sensitive information in the attributes if the namespace is discoverable by public DNS queries.

      Supported attribute keys include the following:

      AWS_ALIAS_DNS_NAME

      If you want Cloud Map to create an Amazon Route 53 alias record that routes traffic to an Elastic Load Balancing load balancer, specify the DNS name that's associated with the load balancer. For information about how to get the DNS name, see \"DNSName\" in the topic AliasTarget in the Route 53 API Reference.

      Note the following:

      • The configuration for the service that's specified by ServiceId must include settings for an A record, an AAAA record, or both.

      • In the service that's specified by ServiceId, the value of RoutingPolicy must be WEIGHTED.

      • If the service that's specified by ServiceId includes HealthCheckConfig settings, Cloud Map will create the Route 53 health check, but it doesn't associate the health check with the alias record.

      • Auto naming currently doesn't support creating alias records that route traffic to Amazon Web Services resources other than Elastic Load Balancing load balancers.

      • If you specify a value for AWS_ALIAS_DNS_NAME, don't specify values for any of the AWS_INSTANCE attributes.

      AWS_EC2_INSTANCE_ID

      HTTP namespaces only. The Amazon EC2 instance ID for the instance. If the AWS_EC2_INSTANCE_ID attribute is specified, then the only other attribute that can be specified is AWS_INIT_HEALTH_STATUS. When the AWS_EC2_INSTANCE_ID attribute is specified, then the AWS_INSTANCE_IPV4 attribute will be filled out with the primary private IPv4 address.

      AWS_INIT_HEALTH_STATUS

      If the service configuration includes HealthCheckCustomConfig, you can optionally use AWS_INIT_HEALTH_STATUS to specify the initial status of the custom health check, HEALTHY or UNHEALTHY. If you don't specify a value for AWS_INIT_HEALTH_STATUS, the initial status is HEALTHY.

      AWS_INSTANCE_CNAME

      If the service configuration includes a CNAME record, the domain name that you want Route 53 to return in response to DNS queries (for example, example.com).

      This value is required if the service specified by ServiceId includes settings for an CNAME record.

      AWS_INSTANCE_IPV4

      If the service configuration includes an A record, the IPv4 address that you want Route 53 to return in response to DNS queries (for example, 192.0.2.44).

      This value is required if the service specified by ServiceId includes settings for an A record. If the service includes settings for an SRV record, you must specify a value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

      AWS_INSTANCE_IPV6

      If the service configuration includes an AAAA record, the IPv6 address that you want Route 53 to return in response to DNS queries (for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345).

      This value is required if the service specified by ServiceId includes settings for an AAAA record. If the service includes settings for an SRV record, you must specify a value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

      AWS_INSTANCE_PORT

      If the service includes an SRV record, the value that you want Route 53 to return for the port.

      If the service includes HealthCheckConfig, the port on the endpoint that you want Route 53 to send requests to.

      This value is required if you specified settings for an SRV record or a Route 53 health check when you created the service.

      Custom attributes

      You can add up to 30 custom attributes. For each key-value pair, the maximum length of the attribute name is 255 characters, and the maximum length of the attribute value is 1,024 characters. The total size of all provided attributes (sum of all keys and values) must not exceed 5,000 characters.

      " + "documentation":"

      A string map that contains the following information for the service that you specify in ServiceId:

      • The attributes that apply to the records that are defined in the service.

      • For each attribute, the applicable value.

      Do not include sensitive information in the attributes if the namespace is discoverable by public DNS queries.

      Supported attribute keys include the following:

      AWS_ALIAS_DNS_NAME

      If you want Cloud Map to create an Amazon Route 53 alias record that routes traffic to an Elastic Load Balancing load balancer, specify the DNS name that's associated with the load balancer. For information about how to get the DNS name, see \"DNSName\" in the topic AliasTarget in the Route 53 API Reference.

      Note the following:

      • The configuration for the service that's specified by ServiceId must include settings for an A record, an AAAA record, or both.

      • In the service that's specified by ServiceId, the value of RoutingPolicy must be WEIGHTED.

      • If the service that's specified by ServiceId includes HealthCheckConfig settings, Cloud Map will create the Route 53 health check, but it doesn't associate the health check with the alias record.

      • Cloud Map currently doesn't support creating alias records that route traffic to Amazon Web Services resources other than Elastic Load Balancing load balancers.

      • If you specify a value for AWS_ALIAS_DNS_NAME, don't specify values for any of the AWS_INSTANCE attributes.

      AWS_EC2_INSTANCE_ID

      HTTP namespaces only. The Amazon EC2 instance ID for the instance. If the AWS_EC2_INSTANCE_ID attribute is specified, then the only other attribute that can be specified is AWS_INIT_HEALTH_STATUS. When the AWS_EC2_INSTANCE_ID attribute is specified, then the AWS_INSTANCE_IPV4 attribute will be filled out with the primary private IPv4 address.

      AWS_INIT_HEALTH_STATUS

      If the service configuration includes HealthCheckCustomConfig, you can optionally use AWS_INIT_HEALTH_STATUS to specify the initial status of the custom health check, HEALTHY or UNHEALTHY. If you don't specify a value for AWS_INIT_HEALTH_STATUS, the initial status is HEALTHY.

      AWS_INSTANCE_CNAME

      If the service configuration includes a CNAME record, the domain name that you want Route 53 to return in response to DNS queries (for example, example.com).

      This value is required if the service specified by ServiceId includes settings for an CNAME record.

      AWS_INSTANCE_IPV4

      If the service configuration includes an A record, the IPv4 address that you want Route 53 to return in response to DNS queries (for example, 192.0.2.44).

      This value is required if the service specified by ServiceId includes settings for an A record. If the service includes settings for an SRV record, you must specify a value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

      AWS_INSTANCE_IPV6

      If the service configuration includes an AAAA record, the IPv6 address that you want Route 53 to return in response to DNS queries (for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345).

      This value is required if the service specified by ServiceId includes settings for an AAAA record. If the service includes settings for an SRV record, you must specify a value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

      AWS_INSTANCE_PORT

      If the service includes an SRV record, the value that you want Route 53 to return for the port.

      If the service includes HealthCheckConfig, the port on the endpoint that you want Route 53 to send requests to.

      This value is required if you specified settings for an SRV record or a Route 53 health check when you created the service.

      Custom attributes

      You can add up to 30 custom attributes. For each key-value pair, the maximum length of the attribute name is 255 characters, and the maximum length of the attribute value is 1,024 characters. The total size of all provided attributes (sum of all keys and values) must not exceed 5,000 characters.

      " } } }, @@ -1799,6 +1846,7 @@ "type":"string", "max":255 }, + "Revision":{"type":"long"}, "RoutingPolicy":{ "type":"string", "enum":[ diff --git a/services/servicequotas/pom.xml b/services/servicequotas/pom.xml index b34021601029..2fa54e0592f6 100644 --- a/services/servicequotas/pom.xml +++ b/services/servicequotas/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT servicequotas AWS Java SDK :: Services :: Service Quotas diff --git a/services/ses/pom.xml b/services/ses/pom.xml index 0f2c7e2e1dc2..712f1567f33f 100644 --- a/services/ses/pom.xml +++ b/services/ses/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ses AWS Java SDK :: Services :: Amazon SES diff --git a/services/ses/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/ses/src/main/resources/codegen-resources/endpoint-rule-set.json index 1d567c5f9741..900cfc973ee7 100644 --- a/services/ses/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/ses/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://email-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://email-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://email-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://email-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://email.{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://email.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://email.{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://email.{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/services/sesv2/pom.xml b/services/sesv2/pom.xml index 336ce2b597b5..ebf701050e46 100644 --- a/services/sesv2/pom.xml +++ b/services/sesv2/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT sesv2 AWS Java SDK :: Services :: SESv2 diff --git a/services/sfn/pom.xml b/services/sfn/pom.xml index cefcce261088..76ccb8998626 100644 --- a/services/sfn/pom.xml +++ b/services/sfn/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT sfn AWS Java SDK :: Services :: AWS Step Functions diff --git a/services/sfn/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/sfn/src/main/resources/codegen-resources/endpoint-rule-set.json index 4d52cffb4271..a45a66726858 100644 --- a/services/sfn/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/sfn/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,92 +140,83 @@ { "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://states-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://states-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 + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], @@ -221,149 +225,109 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-west-1" - ] - } - ], - "endpoint": { - "url": "https://states.us-gov-west-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "ref": "Region" }, - { - "conditions": [], - "endpoint": { - "url": "https://states-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "us-gov-west-1" ] } - ] + ], + "endpoint": { + "url": "https://states.us-gov-west-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://states-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://states.{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://states.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://states.{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://states.{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/services/shield/pom.xml b/services/shield/pom.xml index 3b5f19c795fe..236d04fa1d24 100644 --- a/services/shield/pom.xml +++ b/services/shield/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT shield AWS Java SDK :: Services :: AWS Shield diff --git a/services/shield/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/shield/src/main/resources/codegen-resources/endpoint-rule-set.json index f326a0acdad5..3d3c9c13ebd5 100644 --- a/services/shield/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/shield/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,94 +45,175 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", "rules": [ { "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws" + ] + }, { "fn": "booleanEquals", "argv": [ { "ref": "UseFIPS" }, - true + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": "https://shield.us-east-1.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "shield", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" }, { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "stringEquals", + "argv": [ { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ { - "ref": "UseDualStack" + "ref": "PartitionResult" }, - true + "name" ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + }, + "aws" + ] }, { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ + true + ] + }, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "name" + false + ] + } + ], + "endpoint": { + "url": "https://shield-fips.us-east-1.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "shield", + "signingRegion": "us-east-1" + } ] }, - "aws" - ] - } - ], - "type": "tree", - "rules": [ + "headers": {} + }, + "type": "endpoint" + }, { "conditions": [ { @@ -195,16 +275,8 @@ { "conditions": [], "endpoint": { - "url": "https://shield-fips.{Region}.api.aws", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-east-1", - "signingName": "shield" - } - ] - }, + "url": "https://shield-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, "headers": {} }, "type": "endpoint" @@ -255,16 +327,8 @@ { "conditions": [], "endpoint": { - "url": "https://shield-fips.us-east-1.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-east-1", - "signingName": "shield" - } - ] - }, + "url": "https://shield-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, "headers": {} }, "type": "endpoint" @@ -315,16 +379,8 @@ { "conditions": [], "endpoint": { - "url": "https://shield.{Region}.api.aws", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-east-1", - "signingName": "shield" - } - ] - }, + "url": "https://shield.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, "headers": {} }, "type": "endpoint" @@ -338,261 +394,6 @@ } ] }, - { - "conditions": [], - "endpoint": { - "url": "https://shield.us-east-1.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-east-1", - "signingName": "shield" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://shield-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://shield-fips.us-east-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://shield-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://shield.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ] - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://shield.us-east-1.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-east-1", - "signingName": "shield" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, { "conditions": [], "endpoint": { @@ -605,6 +406,11 @@ ] } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/shield/src/main/resources/codegen-resources/endpoint-tests.json b/services/shield/src/main/resources/codegen-resources/endpoint-tests.json index f70154ed74d4..4f7b3c3351b1 100644 --- a/services/shield/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/shield/src/main/resources/codegen-resources/endpoint-tests.json @@ -17,22 +17,327 @@ } }, "params": { - "UseDualStack": false, "Region": "aws-global", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region aws-global with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "shield", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://shield-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "aws-global", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://shield-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "shield", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://shield-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://shield.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "shield", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://shield.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://shield-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://shield-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://shield.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://shield.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://shield-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://shield-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://shield.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://shield.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://shield-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://shield.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://shield-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://shield.us-isob-east-1.sc2s.sgov.gov" + } + }, + "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": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -42,9 +347,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -54,11 +359,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/signer/pom.xml b/services/signer/pom.xml index 550905ee6404..79eca199087e 100644 --- a/services/signer/pom.xml +++ b/services/signer/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT signer AWS Java SDK :: Services :: Signer diff --git a/services/signer/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/signer/src/main/resources/codegen-resources/endpoint-rule-set.json index 0774b7ef7479..40fbb0a34373 100644 --- a/services/signer/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/signer/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://signer-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://signer-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://signer-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://signer-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://signer.{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://signer.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://signer.{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://signer.{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/services/simspaceweaver/pom.xml b/services/simspaceweaver/pom.xml index b3a1d2330882..8d9f08f0c24e 100644 --- a/services/simspaceweaver/pom.xml +++ b/services/simspaceweaver/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT simspaceweaver AWS Java SDK :: Services :: Sim Space Weaver diff --git a/services/simspaceweaver/src/main/resources/codegen-resources/service-2.json b/services/simspaceweaver/src/main/resources/codegen-resources/service-2.json index c6ab3962a562..4bbdbf44cce7 100644 --- a/services/simspaceweaver/src/main/resources/codegen-resources/service-2.json +++ b/services/simspaceweaver/src/main/resources/codegen-resources/service-2.json @@ -1309,5 +1309,5 @@ "exception":true } }, - "documentation":"

      SimSpace Weaver (SimSpace Weaver) is a managed service that you can use to build and operate large-scale spatial simulations in the Amazon Web Services Cloud. For example, you can create a digital twin of a city, crowd simulations with millions of people and objects, and massively multiplayer games with hundreds of thousands of connected players. For more information about SimSpace Weaver, see the SimSpace Weaver User Guide .

      This API reference describes the API operations and data types that you can use to communicate directly with SimSpace Weaver.

      SimSpace Weaver also provides the SimSpace Weaver app SDK, which you use for app development. The SimSpace Weaver app SDK API reference is included in the SimSpace Weaver app SDK documentation. This documentation is part of the SimSpace Weaver app SDK distributable package.

      " + "documentation":"

      SimSpace Weaver (SimSpace Weaver) is a service that you can use to build and run large-scale spatial simulations in the Amazon Web Services Cloud. For example, you can create crowd simulations, large real-world environments, and immersive and interactive experiences. For more information about SimSpace Weaver, see the SimSpace Weaver User Guide .

      This API reference describes the API operations and data types that you can use to communicate directly with SimSpace Weaver.

      SimSpace Weaver also provides the SimSpace Weaver app SDK, which you use for app development. The SimSpace Weaver app SDK API reference is included in the SimSpace Weaver app SDK documentation. This documentation is part of the SimSpace Weaver app SDK distributable package.

      " } diff --git a/services/sms/pom.xml b/services/sms/pom.xml index cdc21426e0c9..18367a8993f2 100644 --- a/services/sms/pom.xml +++ b/services/sms/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT sms AWS Java SDK :: Services :: AWS Server Migration diff --git a/services/sms/src/main/resources/codegen-resources/endpoint-tests.json b/services/sms/src/main/resources/codegen-resources/endpoint-tests.json index d1028d892b2d..df31573ec734 100644 --- a/services/sms/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/sms/src/main/resources/codegen-resources/endpoint-tests.json @@ -8,9 +8,9 @@ } }, "params": { + "Region": "af-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "af-south-1" + "UseDualStack": false } }, { @@ -21,9 +21,9 @@ } }, "params": { + "Region": "ap-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-east-1" + "UseDualStack": false } }, { @@ -34,9 +34,9 @@ } }, "params": { + "Region": "ap-northeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { @@ -47,9 +47,9 @@ } }, "params": { + "Region": "ap-northeast-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { @@ -60,9 +60,9 @@ } }, "params": { + "Region": "ap-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-south-1" + "UseDualStack": false } }, { @@ -73,9 +73,9 @@ } }, "params": { + "Region": "ap-southeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { @@ -86,9 +86,9 @@ } }, "params": { + "Region": "ap-southeast-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { @@ -99,9 +99,9 @@ } }, "params": { + "Region": "ca-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ca-central-1" + "UseDualStack": false } }, { @@ -112,9 +112,9 @@ } }, "params": { + "Region": "eu-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { @@ -125,9 +125,9 @@ } }, "params": { + "Region": "eu-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-north-1" + "UseDualStack": false } }, { @@ -138,9 +138,9 @@ } }, "params": { + "Region": "eu-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-south-1" + "UseDualStack": false } }, { @@ -151,9 +151,9 @@ } }, "params": { + "Region": "eu-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { @@ -164,9 +164,9 @@ } }, "params": { + "Region": "eu-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-2" + "UseDualStack": false } }, { @@ -177,9 +177,9 @@ } }, "params": { + "Region": "eu-west-3", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-3" + "UseDualStack": false } }, { @@ -190,9 +190,9 @@ } }, "params": { + "Region": "me-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "me-south-1" + "UseDualStack": false } }, { @@ -203,9 +203,9 @@ } }, "params": { + "Region": "sa-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { @@ -216,9 +216,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -229,9 +229,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -242,9 +242,9 @@ } }, "params": { + "Region": "us-east-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-2" + "UseDualStack": false } }, { @@ -255,9 +255,9 @@ } }, "params": { + "Region": "us-east-2", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-2" + "UseDualStack": false } }, { @@ -268,9 +268,9 @@ } }, "params": { + "Region": "us-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-1" + "UseDualStack": false } }, { @@ -281,9 +281,9 @@ } }, "params": { + "Region": "us-west-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-west-1" + "UseDualStack": false } }, { @@ -294,9 +294,9 @@ } }, "params": { + "Region": "us-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -307,9 +307,9 @@ } }, "params": { + "Region": "us-west-2", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -320,9 +320,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -333,9 +333,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -346,9 +346,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -359,9 +359,9 @@ } }, "params": { + "Region": "cn-northwest-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "cn-northwest-1" + "UseDualStack": false } }, { @@ -372,9 +372,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -385,9 +385,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -398,9 +398,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -411,9 +411,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -424,9 +424,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -437,9 +437,9 @@ } }, "params": { + "Region": "us-gov-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { @@ -450,9 +450,9 @@ } }, "params": { + "Region": "us-gov-west-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { @@ -463,9 +463,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -476,9 +476,20 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -489,9 +500,20 @@ } }, "params": { + "Region": "us-iso-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", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -502,9 +524,20 @@ } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -515,9 +548,20 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -528,9 +572,9 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -541,9 +585,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -566,9 +610,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" } }, @@ -578,11 +622,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/services/snowball/pom.xml b/services/snowball/pom.xml index e11e3339db2e..16eb3e8272f8 100644 --- a/services/snowball/pom.xml +++ b/services/snowball/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT snowball AWS Java SDK :: Services :: Amazon Snowball diff --git a/services/snowball/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/snowball/src/main/resources/codegen-resources/endpoint-rule-set.json index 3ffead86f13e..7e3189b1cc02 100644 --- a/services/snowball/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/snowball/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://snowball-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://snowball-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://snowball-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://snowball-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://snowball.{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://snowball.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://snowball.{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://snowball.{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/services/snowdevicemanagement/pom.xml b/services/snowdevicemanagement/pom.xml index de9584d29e40..77893c0b36e5 100644 --- a/services/snowdevicemanagement/pom.xml +++ b/services/snowdevicemanagement/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT snowdevicemanagement AWS Java SDK :: Services :: Snow Device Management diff --git a/services/snowdevicemanagement/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/snowdevicemanagement/src/main/resources/codegen-resources/endpoint-rule-set.json index 566a844dd48e..e6803d9eb5f1 100644 --- a/services/snowdevicemanagement/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/snowdevicemanagement/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "parseURL", + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,221 +140,175 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://snow-device-management-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] }, { "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] - }, + } + ], + "type": "tree", + "rules": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://snow-device-management-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://snow-device-management-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://snow-device-management-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://snow-device-management.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://snow-device-management.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://snow-device-management.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://snow-device-management.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/snowdevicemanagement/src/main/resources/codegen-resources/endpoint-tests.json b/services/snowdevicemanagement/src/main/resources/codegen-resources/endpoint-tests.json index c5bccd4cbf63..79707bb10e30 100644 --- a/services/snowdevicemanagement/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/snowdevicemanagement/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,887 +1,55 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://snow-device-management-fips.ap-east-1.api.aws" + "url": "https://snow-device-management-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://snow-device-management-fips.ap-east-1.amazonaws.com" + "url": "https://snow-device-management-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://snow-device-management.ap-east-1.api.aws" + "url": "https://snow-device-management.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://snow-device-management.ap-east-1.amazonaws.com" + "url": "https://snow-device-management.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -892,9 +60,9 @@ } }, "params": { - "UseDualStack": true, "Region": "cn-north-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -905,9 +73,9 @@ } }, "params": { - "UseDualStack": false, "Region": "cn-north-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -918,9 +86,9 @@ } }, "params": { - "UseDualStack": true, "Region": "cn-north-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -931,334 +99,183 @@ } }, "params": { - "UseDualStack": false, "Region": "cn-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.us-gov-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.us-gov-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://snow-device-management.us-gov-west-1.amazonaws.com" + "url": "https://snow-device-management-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://snow-device-management-fips.ap-southeast-1.api.aws" + "url": "https://snow-device-management-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://snow-device-management-fips.ap-southeast-1.amazonaws.com" + "url": "https://snow-device-management.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://snow-device-management.ap-southeast-1.api.aws" + "url": "https://snow-device-management.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://snow-device-management.ap-southeast-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://snow-device-management-fips.ap-southeast-2.api.aws" + "url": "https://snow-device-management-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.ap-southeast-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://snow-device-management.ap-southeast-2.api.aws" + "url": "https://snow-device-management.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://snow-device-management.ap-southeast-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://snow-device-management-fips.us-east-1.api.aws" + "url": "https://snow-device-management-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://snow-device-management.us-east-1.api.aws" + "url": "https://snow-device-management.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://snow-device-management.us-east-1.amazonaws.com" + "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.us-east-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.cn-northwest-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management-fips.cn-northwest-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.cn-northwest-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://snow-device-management.cn-northwest-1.amazonaws.com.cn" - } - }, - "params": { + "UseFIPS": false, "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1268,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1280,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/sns/pom.xml b/services/sns/pom.xml index 0c88d475df91..eacc4dcfca63 100644 --- a/services/sns/pom.xml +++ b/services/sns/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT sns AWS Java SDK :: Services :: Amazon SNS diff --git a/services/sns/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/sns/src/main/resources/codegen-resources/endpoint-rule-set.json index 5c5ec25deeee..a4b86af8c162 100644 --- a/services/sns/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/sns/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,92 +140,83 @@ { "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://sns-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://sns-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 + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], @@ -221,168 +225,128 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "Region" + }, + "us-gov-east-1" ] } ], - "type": "tree", - "rules": [ + "endpoint": { + "url": "https://sns.us-gov-east-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-east-1" - ] - } - ], - "endpoint": { - "url": "https://sns.us-gov-east-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, + "fn": "stringEquals", + "argv": [ { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-west-1" - ] - } - ], - "endpoint": { - "url": "https://sns.us-gov-west-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "ref": "Region" }, - { - "conditions": [], - "endpoint": { - "url": "https://sns-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "us-gov-west-1" ] } - ] + ], + "endpoint": { + "url": "https://sns.us-gov-west-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://sns-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://sns.{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://sns.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://sns.{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://sns.{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/services/sns/src/main/resources/codegen-resources/endpoint-tests.json b/services/sns/src/main/resources/codegen-resources/endpoint-tests.json index c9c0005404d8..9755d146273a 100644 --- a/services/sns/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/sns/src/main/resources/codegen-resources/endpoint-tests.json @@ -9,8 +9,8 @@ }, "params": { "Region": "af-south-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -22,8 +22,8 @@ }, "params": { "Region": "ap-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -35,8 +35,8 @@ }, "params": { "Region": "ap-northeast-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -48,8 +48,8 @@ }, "params": { "Region": "ap-northeast-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -61,8 +61,8 @@ }, "params": { "Region": "ap-northeast-3", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -74,8 +74,8 @@ }, "params": { "Region": "ap-south-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -87,8 +87,8 @@ }, "params": { "Region": "ap-southeast-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -100,8 +100,8 @@ }, "params": { "Region": "ap-southeast-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -113,8 +113,8 @@ }, "params": { "Region": "ap-southeast-3", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -126,8 +126,8 @@ }, "params": { "Region": "ca-central-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -139,8 +139,8 @@ }, "params": { "Region": "eu-central-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -152,8 +152,8 @@ }, "params": { "Region": "eu-north-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -165,8 +165,8 @@ }, "params": { "Region": "eu-south-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -178,8 +178,8 @@ }, "params": { "Region": "eu-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -191,8 +191,8 @@ }, "params": { "Region": "eu-west-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -204,8 +204,8 @@ }, "params": { "Region": "eu-west-3", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -217,8 +217,8 @@ }, "params": { "Region": "me-south-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -230,8 +230,8 @@ }, "params": { "Region": "sa-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -243,8 +243,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -256,8 +256,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -269,8 +269,8 @@ }, "params": { "Region": "us-east-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -282,8 +282,8 @@ }, "params": { "Region": "us-east-2", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -295,8 +295,8 @@ }, "params": { "Region": "us-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -308,8 +308,8 @@ }, "params": { "Region": "us-west-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -321,8 +321,8 @@ }, "params": { "Region": "us-west-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -334,8 +334,8 @@ }, "params": { "Region": "us-west-2", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -347,8 +347,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -360,8 +360,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -373,8 +373,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -386,8 +386,8 @@ }, "params": { "Region": "cn-northwest-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -399,8 +399,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -412,8 +412,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -425,8 +425,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -438,8 +438,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -451,8 +451,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -464,8 +464,8 @@ }, "params": { "Region": "us-gov-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -477,8 +477,8 @@ }, "params": { "Region": "us-gov-west-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -490,8 +490,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -503,8 +503,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -516,8 +516,8 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -529,8 +529,19 @@ }, "params": { "Region": "us-iso-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -542,8 +553,19 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -555,8 +577,19 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -568,8 +601,19 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -581,8 +625,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -594,8 +638,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -606,8 +650,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -618,10 +662,16 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/sqs/pom.xml b/services/sqs/pom.xml index 4b8997d57eba..9ac45b7e2b74 100644 --- a/services/sqs/pom.xml +++ b/services/sqs/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT sqs AWS Java SDK :: Services :: Amazon SQS diff --git a/services/sqs/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/sqs/src/main/resources/codegen-resources/endpoint-rule-set.json index be5ff5500596..9d489534521e 100644 --- a/services/sqs/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/sqs/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,92 +140,83 @@ { "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://sqs-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://sqs-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 + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], @@ -221,155 +225,115 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, + "aws-us-gov", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] } ] } ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - "aws-us-gov", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://sqs.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://sqs-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] + "endpoint": { + "url": "https://sqs.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://sqs-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://sqs.{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://sqs.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://sqs.{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://sqs.{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/services/ssm/pom.xml b/services/ssm/pom.xml index 0c69c023b5ed..7a5cf30a5f87 100644 --- a/services/ssm/pom.xml +++ b/services/ssm/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ssm AWS Java SDK :: Services :: AWS Simple Systems Management (SSM) diff --git a/services/ssm/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/ssm/src/main/resources/codegen-resources/endpoint-rule-set.json index 67ec4003d086..7d680a93a72a 100644 --- a/services/ssm/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/ssm/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,92 +140,83 @@ { "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://ssm-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://ssm-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 + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], @@ -221,155 +225,115 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, + "aws-us-gov", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] } ] } ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - "aws-us-gov", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://ssm.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://ssm-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] + "endpoint": { + "url": "https://ssm.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://ssm-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://ssm.{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://ssm.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://ssm.{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://ssm.{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/services/ssm/src/main/resources/codegen-resources/service-2.json b/services/ssm/src/main/resources/codegen-resources/service-2.json index 529149bbff92..448bbb03512e 100644 --- a/services/ssm/src/main/resources/codegen-resources/service-2.json +++ b/services/ssm/src/main/resources/codegen-resources/service-2.json @@ -4397,8 +4397,8 @@ "ConnectionStatus":{ "type":"string", "enum":[ - "Connected", - "NotConnected" + "connected", + "notconnected" ] }, "ContentLength":{"type":"long"}, @@ -4794,11 +4794,11 @@ "members":{ "Description":{ "shape":"OpsItemDescription", - "documentation":"

      Information about the OpsItem.

      " + "documentation":"

      User-defined text that contains information about the OpsItem, in Markdown format.

      Provide enough information so that users viewing this OpsItem for the first time understand the issue.

      " }, "OpsItemType":{ "shape":"OpsItemType", - "documentation":"

      The type of OpsItem to create. Systems Manager supports the following types of OpsItems:

      • /aws/issue

        This type of OpsItem is used for default OpsItems created by OpsCenter.

      • /aws/changerequest

        This type of OpsItem is used by Change Manager for reviewing and approving or rejecting change requests.

      • /aws/insights

        This type of OpsItem is used by OpsCenter for aggregating and reporting on duplicate OpsItems.

      " + "documentation":"

      The type of OpsItem to create. Systems Manager supports the following types of OpsItems:

      • /aws/issue

        This type of OpsItem is used for default OpsItems created by OpsCenter.

      • /aws/changerequest

        This type of OpsItem is used by Change Manager for reviewing and approving or rejecting change requests.

      • /aws/insight

        This type of OpsItem is used by OpsCenter for aggregating and reporting on duplicate OpsItems.

      " }, "OperationalData":{ "shape":"OpsItemOperationalData", @@ -11615,7 +11615,7 @@ }, "OpsItemType":{ "shape":"OpsItemType", - "documentation":"

      The type of OpsItem. Systems Manager supports the following types of OpsItems:

      • /aws/issue

        This type of OpsItem is used for default OpsItems created by OpsCenter.

      • /aws/changerequest

        This type of OpsItem is used by Change Manager for reviewing and approving or rejecting change requests.

      • /aws/insights

        This type of OpsItem is used by OpsCenter for aggregating and reporting on duplicate OpsItems.

      " + "documentation":"

      The type of OpsItem. Systems Manager supports the following types of OpsItems:

      • /aws/issue

        This type of OpsItem is used for default OpsItems created by OpsCenter.

      • /aws/changerequest

        This type of OpsItem is used by Change Manager for reviewing and approving or rejecting change requests.

      • /aws/insight

        This type of OpsItem is used by OpsCenter for aggregating and reporting on duplicate OpsItems.

      " }, "CreatedTime":{ "shape":"DateTime", @@ -12215,7 +12215,7 @@ }, "OpsItemType":{ "shape":"OpsItemType", - "documentation":"

      The type of OpsItem. Systems Manager supports the following types of OpsItems:

      • /aws/issue

        This type of OpsItem is used for default OpsItems created by OpsCenter.

      • /aws/changerequest

        This type of OpsItem is used by Change Manager for reviewing and approving or rejecting change requests.

      • /aws/insights

        This type of OpsItem is used by OpsCenter for aggregating and reporting on duplicate OpsItems.

      " + "documentation":"

      The type of OpsItem. Systems Manager supports the following types of OpsItems:

      • /aws/issue

        This type of OpsItem is used for default OpsItems created by OpsCenter.

      • /aws/changerequest

        This type of OpsItem is used by Change Manager for reviewing and approving or rejecting change requests.

      • /aws/insight

        This type of OpsItem is used by OpsCenter for aggregating and reporting on duplicate OpsItems.

      " }, "ActualStartTime":{ "shape":"DateTime", @@ -14371,7 +14371,6 @@ "type":"string", "enum":[ "ManagedInstance", - "Document", "EC2Instance" ] }, @@ -16321,7 +16320,7 @@ "members":{ "Description":{ "shape":"OpsItemDescription", - "documentation":"

      Update the information about the OpsItem. Provide enough information so that users reading this OpsItem for the first time understand the issue.

      " + "documentation":"

      User-defined text that contains information about the OpsItem, in Markdown format.

      " }, "OperationalData":{ "shape":"OpsItemOperationalData", @@ -16601,5 +16600,5 @@ "pattern":"^[0-9]{1,6}(\\.[0-9]{1,6}){2,3}$" } }, - "documentation":"

      Amazon Web Services Systems Manager is the operations hub for your Amazon Web Services applications and resources and a secure end-to-end management solution for hybrid cloud environments that enables safe and secure operations at scale.

      This reference is intended to be used with the Amazon Web Services Systems Manager User Guide. To get started, see Setting up Amazon Web Services Systems Manager.

      Related resources

      " + "documentation":"

      Amazon Web Services Systems Manager is the operations hub for your Amazon Web Services applications and resources and a secure end-to-end management solution for hybrid cloud environments that enables safe and secure operations at scale.

      This reference is intended to be used with the Amazon Web Services Systems Manager User Guide. To get started, see Setting up Amazon Web Services Systems Manager.

      Related resources

      " } diff --git a/services/ssmcontacts/pom.xml b/services/ssmcontacts/pom.xml index afd0da61372e..096cc9c22488 100644 --- a/services/ssmcontacts/pom.xml +++ b/services/ssmcontacts/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ssmcontacts AWS Java SDK :: Services :: SSM Contacts diff --git a/services/ssmcontacts/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/ssmcontacts/src/main/resources/codegen-resources/endpoint-rule-set.json index dc2786c871b0..3f1c1e0e470d 100644 --- a/services/ssmcontacts/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/ssmcontacts/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://ssm-contacts-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://ssm-contacts-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://ssm-contacts-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://ssm-contacts-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://ssm-contacts.{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://ssm-contacts.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://ssm-contacts.{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://ssm-contacts.{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/services/ssmcontacts/src/main/resources/codegen-resources/endpoint-tests.json b/services/ssmcontacts/src/main/resources/codegen-resources/endpoint-tests.json index 739c38c65fad..cf65d7b21cdb 100644 --- a/services/ssmcontacts/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/ssmcontacts/src/main/resources/codegen-resources/endpoint-tests.json @@ -9,8 +9,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -22,8 +22,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -35,8 +35,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -48,8 +48,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -61,8 +61,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -74,8 +74,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -87,8 +87,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -100,8 +100,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -113,8 +113,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -126,8 +126,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -139,8 +139,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -152,8 +152,19 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -165,8 +176,19 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -178,8 +200,19 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -191,8 +224,19 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -204,8 +248,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -217,8 +261,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -230,8 +274,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -242,8 +286,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -254,10 +298,16 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/ssmincidents/pom.xml b/services/ssmincidents/pom.xml index e8d692dd84ab..63707c812db2 100644 --- a/services/ssmincidents/pom.xml +++ b/services/ssmincidents/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ssmincidents AWS Java SDK :: Services :: SSM Incidents diff --git a/services/ssmincidents/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/ssmincidents/src/main/resources/codegen-resources/endpoint-rule-set.json index 5f7f42b0b308..c0a1b1c7ae97 100644 --- a/services/ssmincidents/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/ssmincidents/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://ssm-incidents-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://ssm-incidents-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://ssm-incidents-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://ssm-incidents-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://ssm-incidents.{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://ssm-incidents.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://ssm-incidents.{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://ssm-incidents.{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/services/ssmincidents/src/main/resources/codegen-resources/endpoint-tests.json b/services/ssmincidents/src/main/resources/codegen-resources/endpoint-tests.json index de782db5e9cc..ad2bc5e79f78 100644 --- a/services/ssmincidents/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/ssmincidents/src/main/resources/codegen-resources/endpoint-tests.json @@ -8,9 +8,9 @@ } }, "params": { + "Region": "ap-northeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { @@ -21,9 +21,9 @@ } }, "params": { + "Region": "ap-northeast-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { @@ -34,9 +34,9 @@ } }, "params": { + "Region": "ap-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-south-1" + "UseDualStack": false } }, { @@ -47,9 +47,9 @@ } }, "params": { + "Region": "ap-southeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { @@ -60,9 +60,9 @@ } }, "params": { + "Region": "ap-southeast-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { @@ -73,9 +73,9 @@ } }, "params": { + "Region": "ca-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ca-central-1" + "UseDualStack": false } }, { @@ -86,9 +86,9 @@ } }, "params": { + "Region": "eu-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { @@ -99,9 +99,9 @@ } }, "params": { + "Region": "eu-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-north-1" + "UseDualStack": false } }, { @@ -112,9 +112,9 @@ } }, "params": { + "Region": "eu-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { @@ -125,9 +125,9 @@ } }, "params": { + "Region": "eu-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-2" + "UseDualStack": false } }, { @@ -138,9 +138,9 @@ } }, "params": { + "Region": "eu-west-3", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-3" + "UseDualStack": false } }, { @@ -151,9 +151,9 @@ } }, "params": { + "Region": "sa-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { @@ -164,9 +164,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -177,9 +177,9 @@ } }, "params": { + "Region": "us-east-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-2" + "UseDualStack": false } }, { @@ -190,9 +190,9 @@ } }, "params": { + "Region": "us-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-1" + "UseDualStack": false } }, { @@ -203,9 +203,9 @@ } }, "params": { + "Region": "us-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -216,9 +216,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -229,9 +229,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -242,9 +242,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -255,9 +255,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -268,9 +268,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -281,9 +281,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -294,9 +294,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -307,9 +307,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -320,9 +320,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -333,9 +333,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -346,9 +346,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -357,9 +357,9 @@ "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-iso-east-1" + "UseDualStack": true } }, { @@ -370,9 +370,9 @@ } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { @@ -381,9 +381,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-iso-east-1" + "UseDualStack": true } }, { @@ -394,9 +394,9 @@ } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { @@ -405,9 +405,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 } }, { @@ -418,9 +418,9 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -429,9 +429,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 } }, { @@ -442,9 +442,9 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -455,9 +455,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -480,9 +480,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" } }, @@ -492,9 +492,9 @@ "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" } }, diff --git a/services/ssmsap/pom.xml b/services/ssmsap/pom.xml index f62840816940..9f1081e9a39f 100644 --- a/services/ssmsap/pom.xml +++ b/services/ssmsap/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ssmsap AWS Java SDK :: Services :: Ssm Sap diff --git a/services/ssmsap/src/main/resources/codegen-resources/endpoint-tests.json b/services/ssmsap/src/main/resources/codegen-resources/endpoint-tests.json index 232b023d42fd..bada350570c6 100644 --- a/services/ssmsap/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/ssmsap/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,53 +1,53 @@ { "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://ssm-sap-fips.us-gov-east-1.api.aws" + "url": "https://ssm-sap-fips.us-east-1.api.aws" } }, "params": { - "Region": "us-gov-east-1", + "Region": "us-east-1", "UseFIPS": true, "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://ssm-sap-fips.us-gov-east-1.amazonaws.com" + "url": "https://ssm-sap-fips.us-east-1.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", + "Region": "us-east-1", "UseFIPS": true, "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://ssm-sap.us-gov-east-1.api.aws" + "url": "https://ssm-sap.us-east-1.api.aws" } }, "params": { - "Region": "us-gov-east-1", + "Region": "us-east-1", "UseFIPS": false, "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://ssm-sap.us-gov-east-1.amazonaws.com" + "url": "https://ssm-sap.us-east-1.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": false } @@ -105,101 +105,101 @@ } }, { - "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://ssm-sap-fips.us-gov-east-1.api.aws" + } }, "params": { - "Region": "us-iso-east-1", + "Region": "us-gov-east-1", "UseFIPS": true, "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://ssm-sap-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://ssm-sap-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "us-iso-east-1", + "Region": "us-gov-east-1", "UseFIPS": true, "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://ssm-sap.us-gov-east-1.api.aws" + } }, "params": { - "Region": "us-iso-east-1", + "Region": "us-gov-east-1", "UseFIPS": false, "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://ssm-sap.us-iso-east-1.c2s.ic.gov" + "url": "https://ssm-sap.us-gov-east-1.amazonaws.com" } }, "params": { - "Region": "us-iso-east-1", + "Region": "us-gov-east-1", "UseFIPS": false, "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://ssm-sap-fips.us-east-1.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "Region": "us-east-1", + "Region": "us-iso-east-1", "UseFIPS": true, "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://ssm-sap-fips.us-east-1.amazonaws.com" + "url": "https://ssm-sap-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "us-east-1", + "Region": "us-iso-east-1", "UseFIPS": true, "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://ssm-sap.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "Region": "us-east-1", + "Region": "us-iso-east-1", "UseFIPS": false, "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://ssm-sap.us-east-1.amazonaws.com" + "url": "https://ssm-sap.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "us-east-1", + "Region": "us-iso-east-1", "UseFIPS": false, "UseDualStack": false } @@ -253,7 +253,7 @@ } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" @@ -266,6 +266,19 @@ "Endpoint": "https://example.com" } }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, { "documentation": "For custom endpoint with fips enabled and dualstack disabled", "expect": { @@ -289,6 +302,12 @@ "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/sso/pom.xml b/services/sso/pom.xml index 0291dee6a4b5..a5010373a0de 100644 --- a/services/sso/pom.xml +++ b/services/sso/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT sso AWS Java SDK :: Services :: SSO diff --git a/services/sso/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/sso/src/main/resources/codegen-resources/endpoint-rule-set.json index 9b9757c98920..53820e93cdc3 100644 --- a/services/sso/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/sso/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "parseURL", + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,145 +140,113 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://portal.sso-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://portal.sso-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws-us-gov", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://portal.sso.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, { "conditions": [], "endpoint": { @@ -238,78 +257,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://portal.sso.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://portal.sso.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://portal.sso.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://portal.sso.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/sso/src/main/resources/codegen-resources/endpoint-tests.json b/services/sso/src/main/resources/codegen-resources/endpoint-tests.json index 2b8a2001537f..6edd17c40528 100644 --- a/services/sso/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/sso/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,770 +1,198 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://portal.sso.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.ap-northeast-2.api.aws" + "url": "https://portal.sso.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "ap-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.ap-northeast-2.amazonaws.com" + "url": "https://portal.sso.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso.ap-northeast-2.api.aws" + "url": "https://portal.sso.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, "Region": "ap-northeast-2", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso.ap-northeast-2.amazonaws.com" + "url": "https://portal.sso.ap-northeast-3.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false + "Region": "ap-northeast-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.ap-northeast-1.api.aws" + "url": "https://portal.sso.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.ap-northeast-1.amazonaws.com" + "url": "https://portal.sso.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso.ap-northeast-1.api.aws" + "url": "https://portal.sso.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso.ap-northeast-1.amazonaws.com" + "url": "https://portal.sso.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.me-south-1.api.aws" + "url": "https://portal.sso.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": true + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.me-south-1.amazonaws.com" + "url": "https://portal.sso.eu-north-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": true + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso.me-south-1.api.aws" + "url": "https://portal.sso.eu-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": false + "Region": "eu-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso.me-south-1.amazonaws.com" + "url": "https://portal.sso.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": false + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.sa-east-1.api.aws" + "url": "https://portal.sso.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": true + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.sa-east-1.amazonaws.com" + "url": "https://portal.sso.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": true + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso.sa-east-1.api.aws" + "url": "https://portal.sso.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": false + "Region": "me-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -775,334 +203,326 @@ } }, "params": { - "UseDualStack": false, "Region": "sa-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.ap-east-1.api.aws" + "url": "https://portal.sso.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.ap-east-1.amazonaws.com" + "url": "https://portal.sso.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": true + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso.ap-east-1.api.aws" + "url": "https://portal.sso.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://portal.sso.ap-east-1.amazonaws.com" + "url": "https://portal.sso-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.us-gov-west-1.api.aws" + "url": "https://portal.sso-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.us-gov-west-1.amazonaws.com" + "url": "https://portal.sso.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://portal.sso.us-gov-west-1.api.aws" + "url": "https://portal.sso-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso.us-gov-west-1.amazonaws.com" + "url": "https://portal.sso-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.ap-southeast-1.api.aws" + "url": "https://portal.sso.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.ap-southeast-1.amazonaws.com" + "url": "https://portal.sso.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso.ap-southeast-1.api.aws" + "url": "https://portal.sso.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso.ap-southeast-1.amazonaws.com" + "url": "https://portal.sso.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.ap-southeast-2.api.aws" + "url": "https://portal.sso-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.ap-southeast-2.amazonaws.com" + "url": "https://portal.sso.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://portal.sso.ap-southeast-2.api.aws" + "url": "https://portal.sso.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://portal.sso.ap-southeast-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.us-east-1.api.aws" + "url": "https://portal.sso-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://portal.sso-fips.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso.us-east-1.api.aws" + "url": "https://portal.sso.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://portal.sso.us-east-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso-fips.us-east-2.api.aws" + "url": "https://portal.sso-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://portal.sso-fips.us-east-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://portal.sso.us-east-2.api.aws" + "url": "https://portal.sso.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://portal.sso.us-east-2.amazonaws.com" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1112,9 +532,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1124,11 +544,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/ssoadmin/pom.xml b/services/ssoadmin/pom.xml index 9f8b865a3f01..d47a2325c54a 100644 --- a/services/ssoadmin/pom.xml +++ b/services/ssoadmin/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ssoadmin AWS Java SDK :: Services :: SSO Admin diff --git a/services/ssoadmin/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/ssoadmin/src/main/resources/codegen-resources/endpoint-rule-set.json index c68993a86418..16c56f9d87aa 100644 --- a/services/ssoadmin/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/ssoadmin/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,64 +45,17 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "ref": "UseFIPS" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + true ] } - ] + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" }, { "conditions": [ @@ -111,19 +63,51 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "booleanEquals", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "UseDualStack" - }, - true - ] + "ref": "Region" + } + ], + "assign": "PartitionResult" } ], "type": "tree", @@ -133,38 +117,57 @@ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] }, { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -177,52 +180,46 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -260,52 +257,46 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -318,57 +309,13 @@ "type": "endpoint" } ] - } - ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ] - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-east-1" - ] - } - ], - "endpoint": { - "url": "https://sso.us-gov-east-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ + }, { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-west-1" - ] + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } - ], - "endpoint": { - "url": "https://sso.us-gov-west-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + ] }, { "conditions": [], @@ -382,6 +329,11 @@ ] } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/ssoadmin/src/main/resources/codegen-resources/endpoint-tests.json b/services/ssoadmin/src/main/resources/codegen-resources/endpoint-tests.json index 31dc96614d64..a5dcad14253f 100644 --- a/services/ssoadmin/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/ssoadmin/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,81 +1,94 @@ { "testCases": [ { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sso.us-gov-west-1.amazonaws.com" + "url": "https://sso.ap-east-1.amazonaws.com" } }, "params": { + "Region": "ap-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sso.us-gov-west-1.amazonaws.com" + "url": "https://sso.ap-northeast-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-west-1" + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sso.us-gov-east-1.amazonaws.com" + "url": "https://sso.ap-northeast-2.amazonaws.com" } }, "params": { + "Region": "ap-northeast-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sso.us-gov-east-1.amazonaws.com" + "url": "https://sso.ap-northeast-3.amazonaws.com" } }, "params": { - "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-east-1" + "Region": "ap-northeast-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sso-fips.us-gov-east-1.api.aws" + "url": "https://sso.ap-south-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "us-gov-east-1" + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sso.us-gov-east-1.api.aws" + "url": "https://sso.ap-southeast-1.amazonaws.com" } }, "params": { + "Region": "ap-southeast-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://sso.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -86,35 +99,35 @@ } }, "params": { + "Region": "ca-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ca-central-1" + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sso.ap-east-1.amazonaws.com" + "url": "https://sso.eu-central-1.amazonaws.com" } }, "params": { + "Region": "eu-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-east-1" + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sso.sa-east-1.amazonaws.com" + "url": "https://sso.eu-north-1.amazonaws.com" } }, "params": { + "Region": "eu-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { @@ -125,321 +138,341 @@ } }, "params": { + "Region": "eu-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-south-1" + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sso.me-south-1.amazonaws.com" + "url": "https://sso.eu-west-1.amazonaws.com" } }, "params": { + "Region": "eu-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "me-south-1" + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sso.us-west-2.amazonaws.com" + "url": "https://sso.eu-west-2.amazonaws.com" } }, "params": { + "Region": "eu-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-2" + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sso.eu-central-1.amazonaws.com" + "url": "https://sso.eu-west-3.amazonaws.com" } }, "params": { + "Region": "eu-west-3", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sso.ap-northeast-1.amazonaws.com" + "url": "https://sso.me-south-1.amazonaws.com" } }, "params": { + "Region": "me-south-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sso.ap-northeast-3.amazonaws.com" + "url": "https://sso.sa-east-1.amazonaws.com" } }, "params": { + "Region": "sa-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-3" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sso.ap-northeast-2.amazonaws.com" + "url": "https://sso.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sso.eu-west-3.amazonaws.com" + "url": "https://sso.us-east-2.amazonaws.com" } }, "params": { + "Region": "us-east-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-3" + "UseDualStack": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sso.eu-west-2.amazonaws.com" + "url": "https://sso.us-west-2.amazonaws.com" } }, "params": { + "Region": "us-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-2" + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://sso.eu-west-1.amazonaws.com" + "url": "https://sso-fips.us-east-1.api.aws" } }, "params": { - "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-1" + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sso.us-east-2.amazonaws.com" + "url": "https://sso-fips.us-east-1.amazonaws.com" } }, "params": { - "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-2" + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://sso.us-east-1.amazonaws.com" + "url": "https://sso.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://sso.ap-southeast-2.amazonaws.com" + "url": "https://sso-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-2" + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sso.eu-north-1.amazonaws.com" + "url": "https://sso-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-north-1" + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://sso.ap-south-1.amazonaws.com" + "url": "https://sso.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-south-1" + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sso.ap-southeast-1.amazonaws.com" + "url": "https://sso.cn-north-1.amazonaws.com.cn" } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sso-fips.us-east-1.api.aws" + "url": "https://sso.us-gov-east-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "UseDualStack": true, - "Region": "us-east-1" + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-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://sso-fips.us-east-1.amazonaws.com" + "url": "https://sso.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-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-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sso.us-east-1.api.aws" + "url": "https://sso.us-gov-west-1.amazonaws.com" } }, "params": { + "Region": "us-gov-west-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sso-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://sso.us-gov-west-1.amazonaws.com" } }, "params": { + "Region": "us-gov-west-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://sso.us-iso-east-1.c2s.ic.gov" + "url": "https://sso-fips.us-gov-east-1.api.aws" } }, "params": { - "UseFIPS": false, - "UseDualStack": false, - "Region": "us-iso-east-1" + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://sso-fips.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://sso.us-gov-east-1.api.aws" } }, "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sso-fips.cn-north-1.amazonaws.com.cn" + "url": "https://sso-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://sso.cn-north-1.api.amazonwebservices.com.cn" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://sso.cn-north-1.amazonaws.com.cn" + "url": "https://sso.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -450,9 +483,20 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -463,13 +507,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" @@ -478,7 +536,6 @@ "params": { "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -488,9 +545,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" } }, @@ -500,11 +557,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/services/ssoadmin/src/main/resources/codegen-resources/paginators-1.json b/services/ssoadmin/src/main/resources/codegen-resources/paginators-1.json index 7fd35593dde6..759b37c36085 100644 --- a/services/ssoadmin/src/main/resources/codegen-resources/paginators-1.json +++ b/services/ssoadmin/src/main/resources/codegen-resources/paginators-1.json @@ -2,62 +2,62 @@ "pagination": { "ListAccountAssignmentCreationStatus": { "input_token": "NextToken", - "limit_key": "MaxResults", "output_token": "NextToken", + "limit_key": "MaxResults", "result_key": "AccountAssignmentsCreationStatus" }, "ListAccountAssignmentDeletionStatus": { "input_token": "NextToken", - "limit_key": "MaxResults", "output_token": "NextToken", + "limit_key": "MaxResults", "result_key": "AccountAssignmentsDeletionStatus" }, "ListAccountAssignments": { "input_token": "NextToken", - "limit_key": "MaxResults", "output_token": "NextToken", + "limit_key": "MaxResults", "result_key": "AccountAssignments" }, "ListAccountsForProvisionedPermissionSet": { "input_token": "NextToken", - "limit_key": "MaxResults", "output_token": "NextToken", + "limit_key": "MaxResults", "result_key": "AccountIds" }, "ListCustomerManagedPolicyReferencesInPermissionSet": { "input_token": "NextToken", - "limit_key": "MaxResults", "output_token": "NextToken", + "limit_key": "MaxResults", "result_key": "CustomerManagedPolicyReferences" }, "ListInstances": { "input_token": "NextToken", - "limit_key": "MaxResults", "output_token": "NextToken", + "limit_key": "MaxResults", "result_key": "Instances" }, "ListManagedPoliciesInPermissionSet": { "input_token": "NextToken", - "limit_key": "MaxResults", "output_token": "NextToken", + "limit_key": "MaxResults", "result_key": "AttachedManagedPolicies" }, "ListPermissionSetProvisioningStatus": { "input_token": "NextToken", - "limit_key": "MaxResults", "output_token": "NextToken", + "limit_key": "MaxResults", "result_key": "PermissionSetsProvisioningStatus" }, "ListPermissionSets": { "input_token": "NextToken", - "limit_key": "MaxResults", "output_token": "NextToken", + "limit_key": "MaxResults", "result_key": "PermissionSets" }, "ListPermissionSetsProvisionedToAccount": { "input_token": "NextToken", - "limit_key": "MaxResults", "output_token": "NextToken", + "limit_key": "MaxResults", "result_key": "PermissionSets" }, "ListTagsForResource": { @@ -66,4 +66,4 @@ "result_key": "Tags" } } -} \ No newline at end of file +} diff --git a/services/ssoadmin/src/main/resources/codegen-resources/service-2.json b/services/ssoadmin/src/main/resources/codegen-resources/service-2.json index b17b1df15f6f..3fccbe6af5d0 100644 --- a/services/ssoadmin/src/main/resources/codegen-resources/service-2.json +++ b/services/ssoadmin/src/main/resources/codegen-resources/service-2.json @@ -23,12 +23,12 @@ "input":{"shape":"AttachCustomerManagedPolicyReferenceToPermissionSetRequest"}, "output":{"shape":"AttachCustomerManagedPolicyReferenceToPermissionSetResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ServiceQuotaExceededException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, {"shape":"ConflictException"} ], "documentation":"

      Attaches the specified customer managed policy to the specified PermissionSet.

      " @@ -42,15 +42,15 @@ "input":{"shape":"AttachManagedPolicyToPermissionSetRequest"}, "output":{"shape":"AttachManagedPolicyToPermissionSetResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ServiceQuotaExceededException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, {"shape":"ConflictException"} ], - "documentation":"

      Attaches an AWS managed policy ARN to a permission set.

      If the permission set is already referenced by one or more account assignments, you will need to call ProvisionPermissionSet after this operation. Calling ProvisionPermissionSet applies the corresponding IAM policy updates to all assigned accounts.

      " + "documentation":"

      Attaches an Amazon Web Services managed policy ARN to a permission set.

      If the permission set is already referenced by one or more account assignments, you will need to call ProvisionPermissionSet after this operation. Calling ProvisionPermissionSet applies the corresponding IAM policy updates to all assigned accounts.

      " }, "CreateAccountAssignment":{ "name":"CreateAccountAssignment", @@ -61,15 +61,15 @@ "input":{"shape":"CreateAccountAssignmentRequest"}, "output":{"shape":"CreateAccountAssignmentResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ServiceQuotaExceededException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, {"shape":"ConflictException"} ], - "documentation":"

      Assigns access to a principal for a specified AWS account using a specified permission set.

      The term principal here refers to a user or group that is defined in IAM Identity Center.

      As part of a successful CreateAccountAssignment call, the specified permission set will automatically be provisioned to the account in the form of an IAM policy. That policy is attached to the IAM role created in IAM Identity Center. If the permission set is subsequently updated, the corresponding IAM policies attached to roles in your accounts will not be updated automatically. In this case, you must call ProvisionPermissionSet to make these updates.

      After a successful response, call DescribeAccountAssignmentCreationStatus to describe the status of an assignment creation request.

      " + "documentation":"

      Assigns access to a principal for a specified Amazon Web Services account using a specified permission set.

      The term principal here refers to a user or group that is defined in IAM Identity Center.

      As part of a successful CreateAccountAssignment call, the specified permission set will automatically be provisioned to the account in the form of an IAM policy. That policy is attached to the IAM role created in IAM Identity Center. If the permission set is subsequently updated, the corresponding IAM policies attached to roles in your accounts will not be updated automatically. In this case, you must call ProvisionPermissionSet to make these updates.

      After a successful response, call DescribeAccountAssignmentCreationStatus to describe the status of an assignment creation request.

      " }, "CreateInstanceAccessControlAttributeConfiguration":{ "name":"CreateInstanceAccessControlAttributeConfiguration", @@ -80,11 +80,11 @@ "input":{"shape":"CreateInstanceAccessControlAttributeConfigurationRequest"}, "output":{"shape":"CreateInstanceAccessControlAttributeConfigurationResponse"}, "errors":[ + {"shape":"ThrottlingException"}, {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, {"shape":"AccessDeniedException"}, - {"shape":"ThrottlingException"}, {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, {"shape":"ConflictException"} ], "documentation":"

      Enables the attributes-based access control (ABAC) feature for the specified IAM Identity Center instance. You can also specify new attributes to add to your ABAC configuration during the enabling process. For more information about ABAC, see Attribute-Based Access Control in the IAM Identity Center User Guide.

      After a successful response, call DescribeInstanceAccessControlAttributeConfiguration to validate that InstanceAccessControlAttributeConfiguration was created.

      " @@ -98,15 +98,15 @@ "input":{"shape":"CreatePermissionSetRequest"}, "output":{"shape":"CreatePermissionSetResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ServiceQuotaExceededException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, {"shape":"ConflictException"} ], - "documentation":"

      Creates a permission set within a specified IAM Identity Center instance.

      To grant users and groups access to AWS account resources, use CreateAccountAssignment .

      " + "documentation":"

      Creates a permission set within a specified IAM Identity Center instance.

      To grant users and groups access to Amazon Web Services account resources, use CreateAccountAssignment .

      " }, "DeleteAccountAssignment":{ "name":"DeleteAccountAssignment", @@ -117,14 +117,14 @@ "input":{"shape":"DeleteAccountAssignmentRequest"}, "output":{"shape":"DeleteAccountAssignmentResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, {"shape":"ConflictException"} ], - "documentation":"

      Deletes a principal's access from a specified AWS account using a specified permission set.

      After a successful response, call DescribeAccountAssignmentCreationStatus to describe the status of an assignment deletion request.

      " + "documentation":"

      Deletes a principal's access from a specified Amazon Web Services account using a specified permission set.

      After a successful response, call DescribeAccountAssignmentDeletionStatus to describe the status of an assignment deletion request.

      " }, "DeleteInlinePolicyFromPermissionSet":{ "name":"DeleteInlinePolicyFromPermissionSet", @@ -135,11 +135,11 @@ "input":{"shape":"DeleteInlinePolicyFromPermissionSetRequest"}, "output":{"shape":"DeleteInlinePolicyFromPermissionSetResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, {"shape":"ConflictException"} ], "documentation":"

      Deletes the inline policy from a specified permission set.

      " @@ -153,11 +153,11 @@ "input":{"shape":"DeleteInstanceAccessControlAttributeConfigurationRequest"}, "output":{"shape":"DeleteInstanceAccessControlAttributeConfigurationResponse"}, "errors":[ + {"shape":"ThrottlingException"}, {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, {"shape":"AccessDeniedException"}, - {"shape":"ThrottlingException"}, {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, {"shape":"ConflictException"} ], "documentation":"

      Disables the attributes-based access control (ABAC) feature for the specified IAM Identity Center instance and deletes all of the attribute mappings that have been configured. Once deleted, any attributes that are received from an identity source and any custom attributes you have previously configured will not be passed. For more information about ABAC, see Attribute-Based Access Control in the IAM Identity Center User Guide.

      " @@ -171,11 +171,11 @@ "input":{"shape":"DeletePermissionSetRequest"}, "output":{"shape":"DeletePermissionSetResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, {"shape":"ConflictException"} ], "documentation":"

      Deletes the specified permission set.

      " @@ -189,11 +189,11 @@ "input":{"shape":"DeletePermissionsBoundaryFromPermissionSetRequest"}, "output":{"shape":"DeletePermissionsBoundaryFromPermissionSetResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, - {"shape":"AccessDeniedException"} + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"} ], "documentation":"

      Deletes the permissions boundary from a specified PermissionSet.

      " }, @@ -206,11 +206,11 @@ "input":{"shape":"DescribeAccountAssignmentCreationStatusRequest"}, "output":{"shape":"DescribeAccountAssignmentCreationStatusResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, - {"shape":"AccessDeniedException"} + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"} ], "documentation":"

      Describes the status of the assignment creation request.

      " }, @@ -223,11 +223,11 @@ "input":{"shape":"DescribeAccountAssignmentDeletionStatusRequest"}, "output":{"shape":"DescribeAccountAssignmentDeletionStatusResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, - {"shape":"AccessDeniedException"} + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"} ], "documentation":"

      Describes the status of the assignment deletion request.

      " }, @@ -240,10 +240,10 @@ "input":{"shape":"DescribeInstanceAccessControlAttributeConfigurationRequest"}, "output":{"shape":"DescribeInstanceAccessControlAttributeConfigurationResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, {"shape":"AccessDeniedException"}, - {"shape":"ThrottlingException"}, {"shape":"ValidationException"} ], "documentation":"

      Returns the list of IAM Identity Center identity store attributes that have been configured to work with attributes-based access control (ABAC) for the specified IAM Identity Center instance. This will not return attributes configured and sent by an external identity provider. For more information about ABAC, see Attribute-Based Access Control in the IAM Identity Center User Guide.

      " @@ -257,11 +257,11 @@ "input":{"shape":"DescribePermissionSetRequest"}, "output":{"shape":"DescribePermissionSetResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, - {"shape":"AccessDeniedException"} + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"} ], "documentation":"

      Gets the details of the permission set.

      " }, @@ -274,11 +274,11 @@ "input":{"shape":"DescribePermissionSetProvisioningStatusRequest"}, "output":{"shape":"DescribePermissionSetProvisioningStatusResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, - {"shape":"AccessDeniedException"} + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"} ], "documentation":"

      Describes the status for the given permission set provisioning request.

      " }, @@ -291,11 +291,11 @@ "input":{"shape":"DetachCustomerManagedPolicyReferenceFromPermissionSetRequest"}, "output":{"shape":"DetachCustomerManagedPolicyReferenceFromPermissionSetResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, {"shape":"ConflictException"} ], "documentation":"

      Detaches the specified customer managed policy from the specified PermissionSet.

      " @@ -309,14 +309,14 @@ "input":{"shape":"DetachManagedPolicyFromPermissionSetRequest"}, "output":{"shape":"DetachManagedPolicyFromPermissionSetResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, {"shape":"ConflictException"} ], - "documentation":"

      Detaches the attached AWS managed policy ARN from the specified permission set.

      " + "documentation":"

      Detaches the attached Amazon Web Services managed policy ARN from the specified permission set.

      " }, "GetInlinePolicyForPermissionSet":{ "name":"GetInlinePolicyForPermissionSet", @@ -327,11 +327,11 @@ "input":{"shape":"GetInlinePolicyForPermissionSetRequest"}, "output":{"shape":"GetInlinePolicyForPermissionSetResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, - {"shape":"AccessDeniedException"} + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"} ], "documentation":"

      Obtains the inline policy assigned to the permission set.

      " }, @@ -344,11 +344,11 @@ "input":{"shape":"GetPermissionsBoundaryForPermissionSetRequest"}, "output":{"shape":"GetPermissionsBoundaryForPermissionSetResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, - {"shape":"AccessDeniedException"} + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"} ], "documentation":"

      Obtains the permissions boundary for a specified PermissionSet.

      " }, @@ -361,13 +361,13 @@ "input":{"shape":"ListAccountAssignmentCreationStatusRequest"}, "output":{"shape":"ListAccountAssignmentCreationStatusResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, - {"shape":"AccessDeniedException"} + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"} ], - "documentation":"

      Lists the status of the AWS account assignment creation requests for a specified IAM Identity Center instance.

      " + "documentation":"

      Lists the status of the Amazon Web Services account assignment creation requests for a specified IAM Identity Center instance.

      " }, "ListAccountAssignmentDeletionStatus":{ "name":"ListAccountAssignmentDeletionStatus", @@ -378,13 +378,13 @@ "input":{"shape":"ListAccountAssignmentDeletionStatusRequest"}, "output":{"shape":"ListAccountAssignmentDeletionStatusResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, - {"shape":"AccessDeniedException"} + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"} ], - "documentation":"

      Lists the status of the AWS account assignment deletion requests for a specified IAM Identity Center instance.

      " + "documentation":"

      Lists the status of the Amazon Web Services account assignment deletion requests for a specified IAM Identity Center instance.

      " }, "ListAccountAssignments":{ "name":"ListAccountAssignments", @@ -395,13 +395,13 @@ "input":{"shape":"ListAccountAssignmentsRequest"}, "output":{"shape":"ListAccountAssignmentsResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, - {"shape":"AccessDeniedException"} + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"} ], - "documentation":"

      Lists the assignee of the specified AWS account with the specified permission set.

      " + "documentation":"

      Lists the assignee of the specified Amazon Web Services account with the specified permission set.

      " }, "ListAccountsForProvisionedPermissionSet":{ "name":"ListAccountsForProvisionedPermissionSet", @@ -412,13 +412,13 @@ "input":{"shape":"ListAccountsForProvisionedPermissionSetRequest"}, "output":{"shape":"ListAccountsForProvisionedPermissionSetResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, - {"shape":"AccessDeniedException"} + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"} ], - "documentation":"

      Lists all the AWS accounts where the specified permission set is provisioned.

      " + "documentation":"

      Lists all the Amazon Web Services accounts where the specified permission set is provisioned.

      " }, "ListCustomerManagedPolicyReferencesInPermissionSet":{ "name":"ListCustomerManagedPolicyReferencesInPermissionSet", @@ -429,11 +429,11 @@ "input":{"shape":"ListCustomerManagedPolicyReferencesInPermissionSetRequest"}, "output":{"shape":"ListCustomerManagedPolicyReferencesInPermissionSetResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, - {"shape":"AccessDeniedException"} + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"} ], "documentation":"

      Lists all customer managed policies attached to a specified PermissionSet.

      " }, @@ -446,8 +446,8 @@ "input":{"shape":"ListInstancesRequest"}, "output":{"shape":"ListInstancesResponse"}, "errors":[ - {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"}, {"shape":"AccessDeniedException"}, {"shape":"ValidationException"} ], @@ -462,13 +462,13 @@ "input":{"shape":"ListManagedPoliciesInPermissionSetRequest"}, "output":{"shape":"ListManagedPoliciesInPermissionSetResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, - {"shape":"AccessDeniedException"} + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"} ], - "documentation":"

      Lists the AWS managed policy that is attached to a specified permission set.

      " + "documentation":"

      Lists the Amazon Web Services managed policy that is attached to a specified permission set.

      " }, "ListPermissionSetProvisioningStatus":{ "name":"ListPermissionSetProvisioningStatus", @@ -479,11 +479,11 @@ "input":{"shape":"ListPermissionSetProvisioningStatusRequest"}, "output":{"shape":"ListPermissionSetProvisioningStatusResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, - {"shape":"AccessDeniedException"} + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"} ], "documentation":"

      Lists the status of the permission set provisioning requests for a specified IAM Identity Center instance.

      " }, @@ -496,11 +496,11 @@ "input":{"shape":"ListPermissionSetsRequest"}, "output":{"shape":"ListPermissionSetsResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, - {"shape":"AccessDeniedException"} + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"} ], "documentation":"

      Lists the PermissionSets in an IAM Identity Center instance.

      " }, @@ -513,13 +513,13 @@ "input":{"shape":"ListPermissionSetsProvisionedToAccountRequest"}, "output":{"shape":"ListPermissionSetsProvisionedToAccountResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, - {"shape":"AccessDeniedException"} + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"} ], - "documentation":"

      Lists all the permission sets that are provisioned to a specified AWS account.

      " + "documentation":"

      Lists all the permission sets that are provisioned to a specified Amazon Web Services account.

      " }, "ListTagsForResource":{ "name":"ListTagsForResource", @@ -530,11 +530,11 @@ "input":{"shape":"ListTagsForResourceRequest"}, "output":{"shape":"ListTagsForResourceResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, - {"shape":"AccessDeniedException"} + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"} ], "documentation":"

      Lists the tags that are attached to a specified resource.

      " }, @@ -547,11 +547,11 @@ "input":{"shape":"ProvisionPermissionSetRequest"}, "output":{"shape":"ProvisionPermissionSetResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, {"shape":"ConflictException"} ], "documentation":"

      The process by which a specified permission set is provisioned to the specified target.

      " @@ -565,12 +565,12 @@ "input":{"shape":"PutInlinePolicyToPermissionSetRequest"}, "output":{"shape":"PutInlinePolicyToPermissionSetResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ServiceQuotaExceededException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, {"shape":"ConflictException"} ], "documentation":"

      Attaches an inline policy to a permission set.

      If the permission set is already referenced by one or more account assignments, you will need to call ProvisionPermissionSet after this action to apply the corresponding IAM policy updates to all assigned accounts.

      " @@ -584,14 +584,14 @@ "input":{"shape":"PutPermissionsBoundaryToPermissionSetRequest"}, "output":{"shape":"PutPermissionsBoundaryToPermissionSetResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, {"shape":"ConflictException"} ], - "documentation":"

      Attaches an AWS managed or customer managed policy to the specified PermissionSet as a permissions boundary.

      " + "documentation":"

      Attaches an Amazon Web Services managed or customer managed policy to the specified PermissionSet as a permissions boundary.

      " }, "TagResource":{ "name":"TagResource", @@ -602,12 +602,12 @@ "input":{"shape":"TagResourceRequest"}, "output":{"shape":"TagResourceResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ServiceQuotaExceededException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, {"shape":"ConflictException"} ], "documentation":"

      Associates a set of tags with a specified resource.

      " @@ -621,11 +621,11 @@ "input":{"shape":"UntagResourceRequest"}, "output":{"shape":"UntagResourceResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, {"shape":"ConflictException"} ], "documentation":"

      Disassociates a set of tags from a specified resource.

      " @@ -639,11 +639,11 @@ "input":{"shape":"UpdateInstanceAccessControlAttributeConfigurationRequest"}, "output":{"shape":"UpdateInstanceAccessControlAttributeConfigurationResponse"}, "errors":[ + {"shape":"ThrottlingException"}, {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, {"shape":"AccessDeniedException"}, - {"shape":"ThrottlingException"}, {"shape":"ValidationException"}, - {"shape":"ResourceNotFoundException"}, {"shape":"ConflictException"} ], "documentation":"

      Updates the IAM Identity Center identity store attributes that you can use with the IAM Identity Center instance for attributes-based access control (ABAC). When using an external identity provider as an identity source, you can pass attributes through the SAML assertion as an alternative to configuring attributes from the IAM Identity Center identity store. If a SAML assertion passes any of these attributes, IAM Identity Center replaces the attribute value with the value from the IAM Identity Center identity store. For more information about ABAC, see Attribute-Based Access Control in the IAM Identity Center User Guide.

      " @@ -657,11 +657,11 @@ "input":{"shape":"UpdatePermissionSetRequest"}, "output":{"shape":"UpdatePermissionSetResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, {"shape":"ConflictException"} ], "documentation":"

      Updates an existing permission set.

      " @@ -684,13 +684,13 @@ "documentation":"

      The value used for mapping a specified attribute to an identity source.

      " } }, - "documentation":"

      These are IAM Identity Center identity store attributes that you can configure for use in attributes-based access control (ABAC). You can create permissions policies that determine who can access your AWS resources based upon the configured attribute values. When you enable ABAC and specify AccessControlAttributes, IAM Identity Center passes the attribute values of the authenticated user into IAM for use in policy evaluation.

      " + "documentation":"

      These are IAM Identity Center identity store attributes that you can configure for use in attributes-based access control (ABAC). You can create permissions policies that determine who can access your Amazon Web Services resources based upon the configured attribute values. When you enable ABAC and specify AccessControlAttributes, IAM Identity Center passes the attribute values of the authenticated user into IAM for use in policy evaluation.

      " }, "AccessControlAttributeKey":{ "type":"string", "max":128, "min":1, - "pattern":"[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@]+" + "pattern":"^[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@]+$" }, "AccessControlAttributeList":{ "type":"list", @@ -713,7 +713,7 @@ "type":"string", "max":256, "min":0, - "pattern":"[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@\\[\\]\\{\\}\\$\\\\\"]*" + "pattern":"^[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@\\[\\]\\{\\}\\$\\\\\"]*$" }, "AccessControlAttributeValueSourceList":{ "type":"list", @@ -735,22 +735,22 @@ "members":{ "AccountId":{ "shape":"AccountId", - "documentation":"

      The identifier of the AWS account.

      " + "documentation":"

      The identifier of the Amazon Web Services account.

      " }, "PermissionSetArn":{ "shape":"PermissionSetArn", - "documentation":"

      The ARN of the permission set. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " - }, - "PrincipalType":{ - "shape":"PrincipalType", - "documentation":"

      The entity type for which the assignment will be created.

      " + "documentation":"

      The ARN of the permission set. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " }, "PrincipalId":{ "shape":"PrincipalId", "documentation":"

      An identifier for an object in IAM Identity Center, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in IAM Identity Center, see the IAM Identity Center Identity Store API Reference.

      " + }, + "PrincipalType":{ + "shape":"PrincipalType", + "documentation":"

      The entity type for which the assignment will be created.

      " } }, - "documentation":"

      The assignment that indicates a principal's limited access to a specified AWS account with a specified permission set.

      The term principal here refers to a user or group that is defined in IAM Identity Center.

      " + "documentation":"

      The assignment that indicates a principal's limited access to a specified Amazon Web Services account with a specified permission set.

      The term principal here refers to a user or group that is defined in IAM Identity Center.

      " }, "AccountAssignmentList":{ "type":"list", @@ -759,41 +759,41 @@ "AccountAssignmentOperationStatus":{ "type":"structure", "members":{ - "Status":{ - "shape":"StatusValues", - "documentation":"

      The status of the permission set provisioning process.

      " - }, - "RequestId":{ - "shape":"UUId", - "documentation":"

      The identifier for tracking the request operation that is generated by the universally unique identifier (UUID) workflow.

      " + "CreatedDate":{ + "shape":"Date", + "documentation":"

      The date that the permission set was created.

      " }, "FailureReason":{ "shape":"Reason", "documentation":"

      The message that contains an error or exception in case of an operation failure.

      " }, - "TargetId":{ - "shape":"TargetId", - "documentation":"

      TargetID is an AWS account identifier, typically a 10-12 digit string (For example, 123456789012).

      " - }, - "TargetType":{ - "shape":"TargetType", - "documentation":"

      The entity type for which the assignment will be created.

      " - }, "PermissionSetArn":{ "shape":"PermissionSetArn", - "documentation":"

      The ARN of the permission set. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " + "documentation":"

      The ARN of the permission set. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " + }, + "PrincipalId":{ + "shape":"PrincipalId", + "documentation":"

      An identifier for an object in IAM Identity Center, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in IAM Identity Center, see the IAM Identity Center Identity Store API Reference.

      " }, "PrincipalType":{ "shape":"PrincipalType", "documentation":"

      The entity type for which the assignment will be created.

      " }, - "PrincipalId":{ - "shape":"PrincipalId", - "documentation":"

      An identifier for an object in IAM Identity Center, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in IAM Identity Center, see the IAM Identity Center Identity Store API Reference.

      " + "RequestId":{ + "shape":"UUId", + "documentation":"

      The identifier for tracking the request operation that is generated by the universally unique identifier (UUID) workflow.

      " }, - "CreatedDate":{ - "shape":"Date", - "documentation":"

      The date that the permission set was created.

      " + "Status":{ + "shape":"StatusValues", + "documentation":"

      The status of the permission set provisioning process.

      " + }, + "TargetId":{ + "shape":"TargetId", + "documentation":"

      TargetID is an Amazon Web Services account identifier, (For example, 123456789012).

      " + }, + "TargetType":{ + "shape":"TargetType", + "documentation":"

      The entity type for which the assignment will be created.

      " } }, "documentation":"

      The status of the creation or deletion operation of an assignment that a principal needs to access an account.

      " @@ -805,17 +805,17 @@ "AccountAssignmentOperationStatusMetadata":{ "type":"structure", "members":{ - "Status":{ - "shape":"StatusValues", - "documentation":"

      The status of the permission set provisioning process.

      " + "CreatedDate":{ + "shape":"Date", + "documentation":"

      The date that the permission set was created.

      " }, "RequestId":{ "shape":"UUId", "documentation":"

      The identifier for tracking the request operation that is generated by the universally unique identifier (UUID) workflow.

      " }, - "CreatedDate":{ - "shape":"Date", - "documentation":"

      The date that the permission set was created.

      " + "Status":{ + "shape":"StatusValues", + "documentation":"

      The status of the permission set provisioning process.

      " } }, "documentation":"

      Provides information about the AccountAssignment creation request.

      " @@ -824,7 +824,7 @@ "type":"string", "max":12, "min":12, - "pattern":"\\d{12}" + "pattern":"^\\d{12}$" }, "AccountList":{ "type":"list", @@ -833,11 +833,15 @@ "AttachCustomerManagedPolicyReferenceToPermissionSetRequest":{ "type":"structure", "required":[ + "CustomerManagedPolicyReference", "InstanceArn", - "PermissionSetArn", - "CustomerManagedPolicyReference" + "PermissionSetArn" ], "members":{ + "CustomerManagedPolicyReference":{ + "shape":"CustomerManagedPolicyReference", + "documentation":"

      Specifies the name and path of a customer managed policy. You must have an IAM policy that matches the name and path in each Amazon Web Services account where you want to deploy your permission set.

      " + }, "InstanceArn":{ "shape":"InstanceArn", "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed.

      " @@ -845,10 +849,6 @@ "PermissionSetArn":{ "shape":"PermissionSetArn", "documentation":"

      The ARN of the PermissionSet.

      " - }, - "CustomerManagedPolicyReference":{ - "shape":"CustomerManagedPolicyReference", - "documentation":"

      Specifies the name and path of a customer managed policy. You must have an IAM policy that matches the name and path in each AWS account where you want to deploy your permission set.

      " } } }, @@ -861,21 +861,21 @@ "type":"structure", "required":[ "InstanceArn", - "PermissionSetArn", - "ManagedPolicyArn" + "ManagedPolicyArn", + "PermissionSetArn" ], "members":{ "InstanceArn":{ "shape":"InstanceArn", - "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " + "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " + }, + "ManagedPolicyArn":{ + "shape":"ManagedPolicyArn", + "documentation":"

      The Amazon Web Services managed policy ARN to be attached to a permission set.

      " }, "PermissionSetArn":{ "shape":"PermissionSetArn", "documentation":"

      The ARN of the PermissionSet that the managed policy should be attached to.

      " - }, - "ManagedPolicyArn":{ - "shape":"ManagedPolicyArn", - "documentation":"

      The AWS managed policy ARN to be attached to a permission set.

      " } } }, @@ -887,16 +887,16 @@ "AttachedManagedPolicy":{ "type":"structure", "members":{ - "Name":{ - "shape":"Name", - "documentation":"

      The name of the AWS managed policy.

      " - }, "Arn":{ "shape":"ManagedPolicyArn", - "documentation":"

      The ARN of the AWS managed policy. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " + "documentation":"

      The ARN of the Amazon Web Services managed policy. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " + }, + "Name":{ + "shape":"Name", + "documentation":"

      The name of the Amazon Web Services managed policy.

      " } }, - "documentation":"

      A structure that stores the details of the AWS managed policy.

      " + "documentation":"

      A structure that stores the details of the Amazon Web Services managed policy.

      " }, "AttachedManagedPolicyList":{ "type":"list", @@ -915,36 +915,36 @@ "type":"structure", "required":[ "InstanceArn", - "TargetId", - "TargetType", "PermissionSetArn", + "PrincipalId", "PrincipalType", - "PrincipalId" + "TargetId", + "TargetType" ], "members":{ "InstanceArn":{ "shape":"InstanceArn", - "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " - }, - "TargetId":{ - "shape":"TargetId", - "documentation":"

      TargetID is an AWS account identifier, typically a 10-12 digit string (For example, 123456789012).

      " - }, - "TargetType":{ - "shape":"TargetType", - "documentation":"

      The entity type for which the assignment will be created.

      " + "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " }, "PermissionSetArn":{ "shape":"PermissionSetArn", "documentation":"

      The ARN of the permission set that the admin wants to grant the principal access to.

      " }, + "PrincipalId":{ + "shape":"PrincipalId", + "documentation":"

      An identifier for an object in IAM Identity Center, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in IAM Identity Center, see the IAM Identity Center Identity Store API Reference.

      " + }, "PrincipalType":{ "shape":"PrincipalType", "documentation":"

      The entity type for which the assignment will be created.

      " }, - "PrincipalId":{ - "shape":"PrincipalId", - "documentation":"

      An identifier for an object in IAM Identity Center, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in IAM Identity Center, see the IAM Identity Center Identity Store API Reference.

      " + "TargetId":{ + "shape":"TargetId", + "documentation":"

      TargetID is an Amazon Web Services account identifier, (For example, 123456789012).

      " + }, + "TargetType":{ + "shape":"TargetType", + "documentation":"

      The entity type for which the assignment will be created.

      " } } }, @@ -960,17 +960,17 @@ "CreateInstanceAccessControlAttributeConfigurationRequest":{ "type":"structure", "required":[ - "InstanceArn", - "InstanceAccessControlAttributeConfiguration" + "InstanceAccessControlAttributeConfiguration", + "InstanceArn" ], "members":{ - "InstanceArn":{ - "shape":"InstanceArn", - "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed.

      " - }, "InstanceAccessControlAttributeConfiguration":{ "shape":"InstanceAccessControlAttributeConfiguration", "documentation":"

      Specifies the IAM Identity Center identity store attributes to add to your ABAC configuration. When using an external identity provider as an identity source, you can pass attributes through the SAML assertion. Doing so provides an alternative to configuring attributes from the IAM Identity Center identity store. If a SAML assertion passes any of these attributes, IAM Identity Center will replace the attribute value with the value from the IAM Identity Center identity store.

      " + }, + "InstanceArn":{ + "shape":"InstanceArn", + "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed.

      " } } }, @@ -982,30 +982,30 @@ "CreatePermissionSetRequest":{ "type":"structure", "required":[ - "Name", - "InstanceArn" + "InstanceArn", + "Name" ], "members":{ - "Name":{ - "shape":"PermissionSetName", - "documentation":"

      The name of the PermissionSet.

      " - }, "Description":{ "shape":"PermissionSetDescription", "documentation":"

      The description of the PermissionSet.

      " }, "InstanceArn":{ "shape":"InstanceArn", - "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " + "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " }, - "SessionDuration":{ - "shape":"Duration", - "documentation":"

      The length of time that the application user sessions are valid in the ISO-8601 standard.

      " + "Name":{ + "shape":"PermissionSetName", + "documentation":"

      The name of the PermissionSet.

      " }, "RelayState":{ "shape":"RelayState", "documentation":"

      Used to redirect users within the application during the federation authentication process.

      " }, + "SessionDuration":{ + "shape":"Duration", + "documentation":"

      The length of time that the application user sessions are valid in the ISO-8601 standard.

      " + }, "Tags":{ "shape":"TagList", "documentation":"

      The tags to attach to the new PermissionSet.

      " @@ -1017,7 +1017,7 @@ "members":{ "PermissionSet":{ "shape":"PermissionSet", - "documentation":"

      Defines the level of access on an AWS account.

      " + "documentation":"

      Defines the level of access on an Amazon Web Services account.

      " } } }, @@ -1034,7 +1034,7 @@ "documentation":"

      The path to the IAM policy that you have configured in each account where you want to deploy your permission set. The default is /. For more information, see Friendly names and paths in the IAM User Guide.

      " } }, - "documentation":"

      Specifies the name and path of a customer managed policy. You must have an IAM policy that matches the name and path in each AWS account where you want to deploy your permission set.

      " + "documentation":"

      Specifies the name and path of a customer managed policy. You must have an IAM policy that matches the name and path in each Amazon Web Services account where you want to deploy your permission set.

      " }, "CustomerManagedPolicyReferenceList":{ "type":"list", @@ -1045,36 +1045,36 @@ "type":"structure", "required":[ "InstanceArn", - "TargetId", - "TargetType", "PermissionSetArn", + "PrincipalId", "PrincipalType", - "PrincipalId" + "TargetId", + "TargetType" ], "members":{ "InstanceArn":{ "shape":"InstanceArn", - "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " - }, - "TargetId":{ - "shape":"TargetId", - "documentation":"

      TargetID is an AWS account identifier, typically a 10-12 digit string (For example, 123456789012).

      " - }, - "TargetType":{ - "shape":"TargetType", - "documentation":"

      The entity type for which the assignment will be deleted.

      " + "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " }, "PermissionSetArn":{ "shape":"PermissionSetArn", "documentation":"

      The ARN of the permission set that will be used to remove access.

      " }, + "PrincipalId":{ + "shape":"PrincipalId", + "documentation":"

      An identifier for an object in IAM Identity Center, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in IAM Identity Center, see the IAM Identity Center Identity Store API Reference.

      " + }, "PrincipalType":{ "shape":"PrincipalType", "documentation":"

      The entity type for which the assignment will be deleted.

      " }, - "PrincipalId":{ - "shape":"PrincipalId", - "documentation":"

      An identifier for an object in IAM Identity Center, such as a user or group. PrincipalIds are GUIDs (For example, f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds in IAM Identity Center, see the IAM Identity Center Identity Store API Reference.

      " + "TargetId":{ + "shape":"TargetId", + "documentation":"

      TargetID is an Amazon Web Services account identifier, (For example, 123456789012).

      " + }, + "TargetType":{ + "shape":"TargetType", + "documentation":"

      The entity type for which the assignment will be deleted.

      " } } }, @@ -1096,7 +1096,7 @@ "members":{ "InstanceArn":{ "shape":"InstanceArn", - "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " + "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " }, "PermissionSetArn":{ "shape":"PermissionSetArn", @@ -1133,7 +1133,7 @@ "members":{ "InstanceArn":{ "shape":"InstanceArn", - "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " + "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " }, "PermissionSetArn":{ "shape":"PermissionSetArn", @@ -1171,17 +1171,17 @@ "DescribeAccountAssignmentCreationStatusRequest":{ "type":"structure", "required":[ - "InstanceArn", - "AccountAssignmentCreationRequestId" + "AccountAssignmentCreationRequestId", + "InstanceArn" ], "members":{ - "InstanceArn":{ - "shape":"InstanceArn", - "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " - }, "AccountAssignmentCreationRequestId":{ "shape":"UUId", "documentation":"

      The identifier that is used to track the request operation progress.

      " + }, + "InstanceArn":{ + "shape":"InstanceArn", + "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " } } }, @@ -1197,17 +1197,17 @@ "DescribeAccountAssignmentDeletionStatusRequest":{ "type":"structure", "required":[ - "InstanceArn", - "AccountAssignmentDeletionRequestId" + "AccountAssignmentDeletionRequestId", + "InstanceArn" ], "members":{ - "InstanceArn":{ - "shape":"InstanceArn", - "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " - }, "AccountAssignmentDeletionRequestId":{ "shape":"UUId", "documentation":"

      The identifier that is used to track the request operation progress.

      " + }, + "InstanceArn":{ + "shape":"InstanceArn", + "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " } } }, @@ -1233,6 +1233,10 @@ "DescribeInstanceAccessControlAttributeConfigurationResponse":{ "type":"structure", "members":{ + "InstanceAccessControlAttributeConfiguration":{ + "shape":"InstanceAccessControlAttributeConfiguration", + "documentation":"

      Gets the list of IAM Identity Center identity store attributes that have been added to your ABAC configuration.

      " + }, "Status":{ "shape":"InstanceAccessControlAttributeConfigurationStatus", "documentation":"

      The status of the attribute configuration process.

      " @@ -1240,10 +1244,6 @@ "StatusReason":{ "shape":"InstanceAccessControlAttributeConfigurationStatusReason", "documentation":"

      Provides more details about the current status of the specified attribute.

      " - }, - "InstanceAccessControlAttributeConfiguration":{ - "shape":"InstanceAccessControlAttributeConfiguration", - "documentation":"

      Gets the list of IAM Identity Center identity store attributes that have been added to your ABAC configuration.

      " } } }, @@ -1256,7 +1256,7 @@ "members":{ "InstanceArn":{ "shape":"InstanceArn", - "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " + "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " }, "ProvisionPermissionSetRequestId":{ "shape":"UUId", @@ -1282,7 +1282,7 @@ "members":{ "InstanceArn":{ "shape":"InstanceArn", - "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " + "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " }, "PermissionSetArn":{ "shape":"PermissionSetArn", @@ -1295,18 +1295,22 @@ "members":{ "PermissionSet":{ "shape":"PermissionSet", - "documentation":"

      Describes the level of access on an AWS account.

      " + "documentation":"

      Describes the level of access on an Amazon Web Services account.

      " } } }, "DetachCustomerManagedPolicyReferenceFromPermissionSetRequest":{ "type":"structure", "required":[ + "CustomerManagedPolicyReference", "InstanceArn", - "PermissionSetArn", - "CustomerManagedPolicyReference" + "PermissionSetArn" ], "members":{ + "CustomerManagedPolicyReference":{ + "shape":"CustomerManagedPolicyReference", + "documentation":"

      Specifies the name and path of a customer managed policy. You must have an IAM policy that matches the name and path in each Amazon Web Services account where you want to deploy your permission set.

      " + }, "InstanceArn":{ "shape":"InstanceArn", "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed.

      " @@ -1314,10 +1318,6 @@ "PermissionSetArn":{ "shape":"PermissionSetArn", "documentation":"

      The ARN of the PermissionSet.

      " - }, - "CustomerManagedPolicyReference":{ - "shape":"CustomerManagedPolicyReference", - "documentation":"

      Specifies the name and path of a customer managed policy. You must have an IAM policy that matches the name and path in each AWS account where you want to deploy your permission set.

      " } } }, @@ -1330,21 +1330,21 @@ "type":"structure", "required":[ "InstanceArn", - "PermissionSetArn", - "ManagedPolicyArn" + "ManagedPolicyArn", + "PermissionSetArn" ], "members":{ "InstanceArn":{ "shape":"InstanceArn", - "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " + "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " + }, + "ManagedPolicyArn":{ + "shape":"ManagedPolicyArn", + "documentation":"

      The Amazon Web Services managed policy ARN to be detached from a permission set.

      " }, "PermissionSetArn":{ "shape":"PermissionSetArn", "documentation":"

      The ARN of the PermissionSet from which the policy should be detached.

      " - }, - "ManagedPolicyArn":{ - "shape":"ManagedPolicyArn", - "documentation":"

      The AWS managed policy ARN to be detached from a permission set.

      " } } }, @@ -1368,7 +1368,7 @@ "members":{ "InstanceArn":{ "shape":"InstanceArn", - "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " + "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " }, "PermissionSetArn":{ "shape":"PermissionSetArn", @@ -1381,7 +1381,7 @@ "members":{ "InlinePolicy":{ "shape":"PermissionSetPolicyDocument", - "documentation":"

      The inline policy that is attached to the permission set.

      " + "documentation":"

      The inline policy that is attached to the permission set.

      For Length Constraints, if a valid ARN is provided for a permission set, it is possible for an empty inline policy to be returned.

      " } } }, @@ -1415,7 +1415,7 @@ "type":"string", "max":64, "min":1, - "pattern":"^[a-zA-Z0-9-]*" + "pattern":"^[a-zA-Z0-9-]*$" }, "InstanceAccessControlAttributeConfiguration":{ "type":"structure", @@ -1441,7 +1441,7 @@ "type":"string", "max":1224, "min":10, - "pattern":"arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}" + "pattern":"^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$" }, "InstanceList":{ "type":"list", @@ -1450,13 +1450,13 @@ "InstanceMetadata":{ "type":"structure", "members":{ - "InstanceArn":{ - "shape":"InstanceArn", - "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " - }, "IdentityStoreId":{ "shape":"Id", "documentation":"

      The identifier of the identity store that is connected to the IAM Identity Center instance.

      " + }, + "InstanceArn":{ + "shape":"InstanceArn", + "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " } }, "documentation":"

      Provides information about the IAM Identity Center instance.

      " @@ -1468,15 +1468,20 @@ "Message":{"shape":"InternalFailureMessage"} }, "documentation":"

      The request processing has failed because of an unknown error, exception, or failure with an internal server.

      ", - "exception":true + "exception":true, + "fault":true }, "ListAccountAssignmentCreationStatusRequest":{ "type":"structure", "required":["InstanceArn"], "members":{ + "Filter":{ + "shape":"OperationStatusFilter", + "documentation":"

      Filters results based on the passed attribute value.

      " + }, "InstanceArn":{ "shape":"InstanceArn", - "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " + "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " }, "MaxResults":{ "shape":"MaxResults", @@ -1485,10 +1490,6 @@ "NextToken":{ "shape":"Token", "documentation":"

      The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

      " - }, - "Filter":{ - "shape":"OperationStatusFilter", - "documentation":"

      Filters results based on the passed attribute value.

      " } } }, @@ -1509,9 +1510,13 @@ "type":"structure", "required":["InstanceArn"], "members":{ + "Filter":{ + "shape":"OperationStatusFilter", + "documentation":"

      Filters results based on the passed attribute value.

      " + }, "InstanceArn":{ "shape":"InstanceArn", - "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " + "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " }, "MaxResults":{ "shape":"MaxResults", @@ -1520,10 +1525,6 @@ "NextToken":{ "shape":"Token", "documentation":"

      The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

      " - }, - "Filter":{ - "shape":"OperationStatusFilter", - "documentation":"

      Filters results based on the passed attribute value.

      " } } }, @@ -1543,22 +1544,18 @@ "ListAccountAssignmentsRequest":{ "type":"structure", "required":[ - "InstanceArn", "AccountId", + "InstanceArn", "PermissionSetArn" ], "members":{ - "InstanceArn":{ - "shape":"InstanceArn", - "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " - }, "AccountId":{ "shape":"TargetId", - "documentation":"

      The identifier of the AWS account from which to list the assignments.

      " + "documentation":"

      The identifier of the Amazon Web Services account from which to list the assignments.

      " }, - "PermissionSetArn":{ - "shape":"PermissionSetArn", - "documentation":"

      The ARN of the permission set from which to list assignments.

      " + "InstanceArn":{ + "shape":"InstanceArn", + "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " }, "MaxResults":{ "shape":"MaxResults", @@ -1567,6 +1564,10 @@ "NextToken":{ "shape":"Token", "documentation":"

      The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

      " + }, + "PermissionSetArn":{ + "shape":"PermissionSetArn", + "documentation":"

      The ARN of the permission set from which to list assignments.

      " } } }, @@ -1575,7 +1576,7 @@ "members":{ "AccountAssignments":{ "shape":"AccountAssignmentList", - "documentation":"

      The list of assignments that match the input AWS account and permission set.

      " + "documentation":"

      The list of assignments that match the input Amazon Web Services account and permission set.

      " }, "NextToken":{ "shape":"Token", @@ -1592,15 +1593,7 @@ "members":{ "InstanceArn":{ "shape":"InstanceArn", - "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " - }, - "PermissionSetArn":{ - "shape":"PermissionSetArn", - "documentation":"

      The ARN of the PermissionSet from which the associated AWS accounts will be listed.

      " - }, - "ProvisioningStatus":{ - "shape":"ProvisioningStatus", - "documentation":"

      The permission set provisioning status for an AWS account.

      " + "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " }, "MaxResults":{ "shape":"MaxResults", @@ -1609,6 +1602,14 @@ "NextToken":{ "shape":"Token", "documentation":"

      The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

      " + }, + "PermissionSetArn":{ + "shape":"PermissionSetArn", + "documentation":"

      The ARN of the PermissionSet from which the associated Amazon Web Services accounts will be listed.

      " + }, + "ProvisioningStatus":{ + "shape":"ProvisioningStatus", + "documentation":"

      The permission set provisioning status for an Amazon Web Services account.

      " } } }, @@ -1617,7 +1618,7 @@ "members":{ "AccountIds":{ "shape":"AccountList", - "documentation":"

      The list of AWS AccountIds.

      " + "documentation":"

      The list of Amazon Web Services AccountIds.

      " }, "NextToken":{ "shape":"Token", @@ -1636,10 +1637,6 @@ "shape":"InstanceArn", "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed.

      " }, - "PermissionSetArn":{ - "shape":"PermissionSetArn", - "documentation":"

      The ARN of the PermissionSet.

      " - }, "MaxResults":{ "shape":"MaxResults", "documentation":"

      The maximum number of results to display for the list call.

      " @@ -1647,6 +1644,10 @@ "NextToken":{ "shape":"Token", "documentation":"

      The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

      " + }, + "PermissionSetArn":{ + "shape":"PermissionSetArn", + "documentation":"

      The ARN of the PermissionSet.

      " } } }, @@ -1698,11 +1699,7 @@ "members":{ "InstanceArn":{ "shape":"InstanceArn", - "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " - }, - "PermissionSetArn":{ - "shape":"PermissionSetArn", - "documentation":"

      The ARN of the PermissionSet whose managed policies will be listed.

      " + "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " }, "MaxResults":{ "shape":"MaxResults", @@ -1711,6 +1708,10 @@ "NextToken":{ "shape":"Token", "documentation":"

      The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

      " + }, + "PermissionSetArn":{ + "shape":"PermissionSetArn", + "documentation":"

      The ARN of the PermissionSet whose managed policies will be listed.

      " } } }, @@ -1731,9 +1732,13 @@ "type":"structure", "required":["InstanceArn"], "members":{ + "Filter":{ + "shape":"OperationStatusFilter", + "documentation":"

      Filters results based on the passed attribute value.

      " + }, "InstanceArn":{ "shape":"InstanceArn", - "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " + "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " }, "MaxResults":{ "shape":"MaxResults", @@ -1742,44 +1747,36 @@ "NextToken":{ "shape":"Token", "documentation":"

      The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

      " - }, - "Filter":{ - "shape":"OperationStatusFilter", - "documentation":"

      Filters results based on the passed attribute value.

      " } } }, "ListPermissionSetProvisioningStatusResponse":{ "type":"structure", "members":{ - "PermissionSetsProvisioningStatus":{ - "shape":"PermissionSetProvisioningStatusList", - "documentation":"

      The status object for the permission set provisioning operation.

      " - }, "NextToken":{ "shape":"Token", "documentation":"

      The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

      " + }, + "PermissionSetsProvisioningStatus":{ + "shape":"PermissionSetProvisioningStatusList", + "documentation":"

      The status object for the permission set provisioning operation.

      " } } }, "ListPermissionSetsProvisionedToAccountRequest":{ "type":"structure", "required":[ - "InstanceArn", - "AccountId" + "AccountId", + "InstanceArn" ], "members":{ - "InstanceArn":{ - "shape":"InstanceArn", - "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " - }, "AccountId":{ "shape":"AccountId", - "documentation":"

      The identifier of the AWS account from which to list the assignments.

      " + "documentation":"

      The identifier of the Amazon Web Services account from which to list the assignments.

      " }, - "ProvisioningStatus":{ - "shape":"ProvisioningStatus", - "documentation":"

      The status object for the permission set provisioning operation.

      " + "InstanceArn":{ + "shape":"InstanceArn", + "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " }, "MaxResults":{ "shape":"MaxResults", @@ -1788,6 +1785,10 @@ "NextToken":{ "shape":"Token", "documentation":"

      The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

      " + }, + "ProvisioningStatus":{ + "shape":"ProvisioningStatus", + "documentation":"

      The status object for the permission set provisioning operation.

      " } } }, @@ -1800,7 +1801,7 @@ }, "PermissionSets":{ "shape":"PermissionSetList", - "documentation":"

      Defines the level of access that an AWS account has.

      " + "documentation":"

      Defines the level of access that an Amazon Web Services account has.

      " } } }, @@ -1810,28 +1811,28 @@ "members":{ "InstanceArn":{ "shape":"InstanceArn", - "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " - }, - "NextToken":{ - "shape":"Token", - "documentation":"

      The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

      " + "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " }, "MaxResults":{ "shape":"MaxResults", "documentation":"

      The maximum number of results to display for the assignment.

      " + }, + "NextToken":{ + "shape":"Token", + "documentation":"

      The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

      " } } }, "ListPermissionSetsResponse":{ "type":"structure", "members":{ - "PermissionSets":{ - "shape":"PermissionSetList", - "documentation":"

      Defines the level of access on an AWS account.

      " - }, "NextToken":{ "shape":"Token", "documentation":"

      The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

      " + }, + "PermissionSets":{ + "shape":"PermissionSetList", + "documentation":"

      Defines the level of access on an Amazon Web Services account.

      " } } }, @@ -1844,28 +1845,28 @@ "members":{ "InstanceArn":{ "shape":"InstanceArn", - "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " - }, - "ResourceArn":{ - "shape":"TaggableResourceArn", - "documentation":"

      The ARN of the resource with the tags to be listed.

      " + "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " }, "NextToken":{ "shape":"Token", "documentation":"

      The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

      " + }, + "ResourceArn":{ + "shape":"TaggableResourceArn", + "documentation":"

      The ARN of the resource with the tags to be listed.

      " } } }, "ListTagsForResourceResponse":{ "type":"structure", "members":{ - "Tags":{ - "shape":"TagList", - "documentation":"

      A set of key-value pairs that are used to manage the resource.

      " - }, "NextToken":{ "shape":"Token", "documentation":"

      The pagination token for the list API. Initially the value is null. Use the output of previous API calls to make subsequent calls.

      " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

      A set of key-value pairs that are used to manage the resource.

      " } } }, @@ -1873,22 +1874,23 @@ "type":"string", "max":2048, "min":20, - "pattern":"arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):iam::aws:policy/[\\p{L}\\p{M}\\p{Z}\\p{S}\\p{N}\\p{P}]+" + "pattern":"^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):iam::aws:policy/[\\p{L}\\p{M}\\p{Z}\\p{S}\\p{N}\\p{P}]+$" }, "ManagedPolicyName":{ "type":"string", "max":128, "min":1, - "pattern":"[\\w+=,.@-]+" + "pattern":"^[\\w+=,.@-]+$" }, "ManagedPolicyPath":{ "type":"string", "max":512, "min":1, - "pattern":"((/[A-Za-z0-9\\.,\\+@=_-]+)*)/" + "pattern":"^((/[A-Za-z0-9\\.,\\+@=_-]+)*)/$" }, "MaxResults":{ "type":"integer", + "box":true, "max":100, "min":1 }, @@ -1910,29 +1912,29 @@ "PermissionSet":{ "type":"structure", "members":{ + "CreatedDate":{ + "shape":"Date", + "documentation":"

      The date that the permission set was created.

      " + }, + "Description":{ + "shape":"PermissionSetDescription", + "documentation":"

      The description of the PermissionSet.

      " + }, "Name":{ "shape":"PermissionSetName", "documentation":"

      The name of the permission set.

      " }, "PermissionSetArn":{ "shape":"PermissionSetArn", - "documentation":"

      The ARN of the permission set. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " - }, - "Description":{ - "shape":"PermissionSetDescription", - "documentation":"

      The description of the PermissionSet.

      " + "documentation":"

      The ARN of the permission set. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " }, - "CreatedDate":{ - "shape":"Date", - "documentation":"

      The date that the permission set was created.

      " + "RelayState":{ + "shape":"RelayState", + "documentation":"

      Used to redirect users within the application during the federation authentication process.

      " }, "SessionDuration":{ "shape":"Duration", "documentation":"

      The length of time that the application user sessions are valid for in the ISO-8601 standard.

      " - }, - "RelayState":{ - "shape":"RelayState", - "documentation":"

      Used to redirect users within the application during the federation authentication process.

      " } }, "documentation":"

      An entity that contains IAM policies.

      " @@ -1941,13 +1943,13 @@ "type":"string", "max":1224, "min":10, - "pattern":"arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::permissionSet/(sso)?ins-[a-zA-Z0-9-.]{16}/ps-[a-zA-Z0-9-./]{16}" + "pattern":"^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::permissionSet/(sso)?ins-[a-zA-Z0-9-.]{16}/ps-[a-zA-Z0-9-./]{16}$" }, "PermissionSetDescription":{ "type":"string", "max":700, "min":1, - "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u00A0-\\u00FF]*" + "pattern":"^[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u00A1-\\u00FF]*$" }, "PermissionSetList":{ "type":"list", @@ -1957,40 +1959,40 @@ "type":"string", "max":32, "min":1, - "pattern":"[\\w+=,.@-]+" + "pattern":"^[\\w+=,.@-]+$" }, "PermissionSetPolicyDocument":{ "type":"string", - "max":10240, + "max":32768, "min":1, - "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+" + "pattern":"^[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+$" }, "PermissionSetProvisioningStatus":{ "type":"structure", "members":{ - "Status":{ - "shape":"StatusValues", - "documentation":"

      The status of the permission set provisioning process.

      " - }, - "RequestId":{ - "shape":"UUId", - "documentation":"

      The identifier for tracking the request operation that is generated by the universally unique identifier (UUID) workflow.

      " - }, "AccountId":{ "shape":"AccountId", - "documentation":"

      The identifier of the AWS account from which to list the assignments.

      " + "documentation":"

      The identifier of the Amazon Web Services account from which to list the assignments.

      " }, - "PermissionSetArn":{ - "shape":"PermissionSetArn", - "documentation":"

      The ARN of the permission set that is being provisioned. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " + "CreatedDate":{ + "shape":"Date", + "documentation":"

      The date that the permission set was created.

      " }, "FailureReason":{ "shape":"Reason", "documentation":"

      The message that contains an error or exception in case of an operation failure.

      " }, - "CreatedDate":{ - "shape":"Date", - "documentation":"

      The date that the permission set was created.

      " + "PermissionSetArn":{ + "shape":"PermissionSetArn", + "documentation":"

      The ARN of the permission set that is being provisioned. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " + }, + "RequestId":{ + "shape":"UUId", + "documentation":"

      The identifier for tracking the request operation that is generated by the universally unique identifier (UUID) workflow.

      " + }, + "Status":{ + "shape":"StatusValues", + "documentation":"

      The status of the permission set provisioning process.

      " } }, "documentation":"

      A structure that is used to provide the status of the provisioning operation for a specified permission set.

      " @@ -2002,17 +2004,17 @@ "PermissionSetProvisioningStatusMetadata":{ "type":"structure", "members":{ - "Status":{ - "shape":"StatusValues", - "documentation":"

      The status of the permission set provisioning process.

      " + "CreatedDate":{ + "shape":"Date", + "documentation":"

      The date that the permission set was created.

      " }, "RequestId":{ "shape":"UUId", "documentation":"

      The identifier for tracking the request operation that is generated by the universally unique identifier (UUID) workflow.

      " }, - "CreatedDate":{ - "shape":"Date", - "documentation":"

      The date that the permission set was created.

      " + "Status":{ + "shape":"StatusValues", + "documentation":"

      The status of the permission set provisioning process.

      " } }, "documentation":"

      Provides information about the permission set provisioning status.

      " @@ -2022,14 +2024,14 @@ "members":{ "CustomerManagedPolicyReference":{ "shape":"CustomerManagedPolicyReference", - "documentation":"

      Specifies the name and path of a customer managed policy. You must have an IAM policy that matches the name and path in each AWS account where you want to deploy your permission set.

      " + "documentation":"

      Specifies the name and path of a customer managed policy. You must have an IAM policy that matches the name and path in each Amazon Web Services account where you want to deploy your permission set.

      " }, "ManagedPolicyArn":{ "shape":"ManagedPolicyArn", - "documentation":"

      The AWS managed policy ARN that you want to attach to a permission set as a permissions boundary.

      " + "documentation":"

      The Amazon Web Services managed policy ARN that you want to attach to a permission set as a permissions boundary.

      " } }, - "documentation":"

      Specifies the configuration of the AWS managed or customer managed policy that you want to set as a permissions boundary. Specify either CustomerManagedPolicyReference to use the name and path of a customer managed policy, or ManagedPolicyArn to use the ARN of an AWS managed policy. A permissions boundary represents the maximum permissions that any policy can grant your role. For more information, see Permissions boundaries for IAM entities in the IAM User Guide.

      Policies used as permissions boundaries don't provide permissions. You must also attach an IAM policy to the role. To learn how the effective permissions for a role are evaluated, see IAM JSON policy evaluation logic in the IAM User Guide.

      " + "documentation":"

      Specifies the configuration of the Amazon Web Services managed or customer managed policy that you want to set as a permissions boundary. Specify either CustomerManagedPolicyReference to use the name and path of a customer managed policy, or ManagedPolicyArn to use the ARN of an Amazon Web Services managed policy. A permissions boundary represents the maximum permissions that any policy can grant your role. For more information, see Permissions boundaries for IAM entities in the IAM User Guide.

      Policies used as permissions boundaries don't provide permissions. You must also attach an IAM policy to the role. To learn how the effective permissions for a role are evaluated, see IAM JSON policy evaluation logic in the IAM User Guide.

      " }, "PrincipalId":{ "type":"string", @@ -2054,7 +2056,7 @@ "members":{ "InstanceArn":{ "shape":"InstanceArn", - "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " + "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " }, "PermissionSetArn":{ "shape":"PermissionSetArn", @@ -2062,7 +2064,7 @@ }, "TargetId":{ "shape":"TargetId", - "documentation":"

      TargetID is an AWS account identifier, typically a 10-12 digit string (For example, 123456789012).

      " + "documentation":"

      TargetID is an Amazon Web Services account identifier, (For example, 123456789012).

      " }, "TargetType":{ "shape":"ProvisionTargetType", @@ -2096,22 +2098,22 @@ "PutInlinePolicyToPermissionSetRequest":{ "type":"structure", "required":[ + "InlinePolicy", "InstanceArn", - "PermissionSetArn", - "InlinePolicy" + "PermissionSetArn" ], "members":{ + "InlinePolicy":{ + "shape":"PermissionSetPolicyDocument", + "documentation":"

      The inline policy to attach to a PermissionSet.

      " + }, "InstanceArn":{ "shape":"InstanceArn", - "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " + "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " }, "PermissionSetArn":{ "shape":"PermissionSetArn", "documentation":"

      The ARN of the permission set.

      " - }, - "InlinePolicy":{ - "shape":"PermissionSetPolicyDocument", - "documentation":"

      The inline policy to attach to a PermissionSet.

      " } } }, @@ -2149,13 +2151,13 @@ }, "Reason":{ "type":"string", - "pattern":"[\\p{L}\\p{M}\\p{Z}\\p{S}\\p{N}\\p{P}]*" + "pattern":"^[\\p{L}\\p{M}\\p{Z}\\p{S}\\p{N}\\p{P}]*$" }, "RelayState":{ "type":"string", "max":240, "min":1, - "pattern":"[a-zA-Z0-9&$@#\\\\\\/%?=~\\-_'\"|!:,.;*+\\[\\]\\ \\(\\)\\{\\}]+" + "pattern":"^[a-zA-Z0-9&$@#\\\\\\/%?=~\\-_'\"|!:,.;*+\\[\\]\\ \\(\\)\\{\\}]+$" }, "ResourceNotFoundException":{ "type":"structure", @@ -2199,7 +2201,7 @@ "documentation":"

      The value of the tag.

      " } }, - "documentation":"

      A set of key-value pairs that are used to manage the resource. Tags can only be applied to permission sets and cannot be applied to corresponding roles that IAM Identity Center creates in AWS accounts.

      " + "documentation":"

      A set of key-value pairs that are used to manage the resource. Tags can only be applied to permission sets and cannot be applied to corresponding roles that IAM Identity Center creates in Amazon Web Services accounts.

      " }, "TagKey":{ "type":"string", @@ -2229,7 +2231,7 @@ "members":{ "InstanceArn":{ "shape":"InstanceArn", - "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " + "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " }, "ResourceArn":{ "shape":"TaggableResourceArn", @@ -2256,13 +2258,13 @@ "type":"string", "max":2048, "min":10, - "pattern":"arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::permissionSet/(sso)?ins-[a-zA-Z0-9-.]{16}/ps-[a-zA-Z0-9-./]{16}" + "pattern":"^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::permissionSet/(sso)?ins-[a-zA-Z0-9-.]{16}/ps-[a-zA-Z0-9-./]{16}$" }, "TargetId":{ "type":"string", "max":12, "min":12, - "pattern":"\\d{12}" + "pattern":"^\\d{12}$" }, "TargetType":{ "type":"string", @@ -2280,13 +2282,14 @@ "Token":{ "type":"string", "max":2048, - "pattern":"^[-a-zA-Z0-9+=/_]*" + "min":0, + "pattern":"^[-a-zA-Z0-9+=/_]*$" }, "UUId":{ "type":"string", "max":36, "min":36, - "pattern":"\\b[0-9a-f]{8}\\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\\b[0-9a-f]{12}\\b" + "pattern":"^\\b[0-9a-f]{8}\\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\\b[0-9a-f]{12}\\b$" }, "UntagResourceRequest":{ "type":"structure", @@ -2298,7 +2301,7 @@ "members":{ "InstanceArn":{ "shape":"InstanceArn", - "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " + "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " }, "ResourceArn":{ "shape":"TaggableResourceArn", @@ -2318,17 +2321,17 @@ "UpdateInstanceAccessControlAttributeConfigurationRequest":{ "type":"structure", "required":[ - "InstanceArn", - "InstanceAccessControlAttributeConfiguration" + "InstanceAccessControlAttributeConfiguration", + "InstanceArn" ], "members":{ - "InstanceArn":{ - "shape":"InstanceArn", - "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed.

      " - }, "InstanceAccessControlAttributeConfiguration":{ "shape":"InstanceAccessControlAttributeConfiguration", "documentation":"

      Updates the attributes for your ABAC configuration.

      " + }, + "InstanceArn":{ + "shape":"InstanceArn", + "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed.

      " } } }, @@ -2344,25 +2347,25 @@ "PermissionSetArn" ], "members":{ + "Description":{ + "shape":"PermissionSetDescription", + "documentation":"

      The description of the PermissionSet.

      " + }, "InstanceArn":{ "shape":"InstanceArn", - "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

      " + "documentation":"

      The ARN of the IAM Identity Center instance under which the operation will be executed. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      " }, "PermissionSetArn":{ "shape":"PermissionSetArn", "documentation":"

      The ARN of the permission set.

      " }, - "Description":{ - "shape":"PermissionSetDescription", - "documentation":"

      The description of the PermissionSet.

      " + "RelayState":{ + "shape":"RelayState", + "documentation":"

      Used to redirect users within the application during the federation authentication process.

      " }, "SessionDuration":{ "shape":"Duration", "documentation":"

      The length of time that the application user sessions are valid for in the ISO-8601 standard.

      " - }, - "RelayState":{ - "shape":"RelayState", - "documentation":"

      Used to redirect users within the application during the federation authentication process.

      " } } }, @@ -2381,5 +2384,5 @@ }, "ValidationExceptionMessage":{"type":"string"} }, - "documentation":"

      AWS IAM Identity Center (successor to AWS Single Sign-On) helps you securely create, or connect, your workforce identities and manage their access centrally across AWS accounts and applications. IAM Identity Center is the recommended approach for workforce authentication and authorization in AWS, for organizations of any size and type.

      Although AWS Single Sign-On was renamed, the sso and identitystore API namespaces will continue to retain their original name for backward compatibility purposes. For more information, see IAM Identity Center rename.

      This reference guide provides information on single sign-on operations which could be used for access management of AWS accounts. For information about IAM Identity Center features, see the IAM Identity Center User Guide.

      Many operations in the IAM Identity Center APIs rely on identifiers for users and groups, known as principals. For more information about how to work with principals and principal IDs in IAM Identity Center, see the Identity Store API Reference.

      AWS provides SDKs that consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .Net, iOS, Android, and more). The SDKs provide a convenient way to create programmatic access to IAM Identity Center and other AWS services. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web Services.

      " + "documentation":"

      IAM Identity Center (successor to Single Sign-On) helps you securely create, or connect, your workforce identities and manage their access centrally across Amazon Web Services accounts and applications. IAM Identity Center is the recommended approach for workforce authentication and authorization in Amazon Web Services, for organizations of any size and type.

      IAM Identity Center uses the sso and identitystore API namespaces.

      This reference guide provides information on single sign-on operations which could be used for access management of Amazon Web Services accounts. For information about IAM Identity Center features, see the IAM Identity Center User Guide.

      Many operations in the IAM Identity Center APIs rely on identifiers for users and groups, known as principals. For more information about how to work with principals and principal IDs in IAM Identity Center, see the Identity Store API Reference.

      Amazon Web Services provides SDKs that consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .Net, iOS, Android, and more). The SDKs provide a convenient way to create programmatic access to IAM Identity Center and other Amazon Web Services services. For more information about the Amazon Web Services SDKs, including how to download and install them, see Tools for Amazon Web Services.

      " } diff --git a/services/ssooidc/pom.xml b/services/ssooidc/pom.xml index f555f37e8837..61dc867ae0c1 100644 --- a/services/ssooidc/pom.xml +++ b/services/ssooidc/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ssooidc AWS Java SDK :: Services :: SSO OIDC @@ -82,6 +82,11 @@ equalsverifier test
      + + net.bytebuddy + byte-buddy + test + org.apache.commons commons-lang3 diff --git a/services/ssooidc/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/ssooidc/src/main/resources/codegen-resources/endpoint-rule-set.json index 6d1b7f68c65d..5e4f62c9a9f8 100644 --- a/services/ssooidc/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/ssooidc/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "parseURL", + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,145 +140,113 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://oidc-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://oidc-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws-us-gov", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://oidc.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, { "conditions": [], "endpoint": { @@ -238,78 +257,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://oidc.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://oidc.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://oidc.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://oidc.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/ssooidc/src/main/resources/codegen-resources/endpoint-tests.json b/services/ssooidc/src/main/resources/codegen-resources/endpoint-tests.json index 82ecb38d6946..638ae14a528b 100644 --- a/services/ssooidc/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/ssooidc/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,1264 +1,528 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://oidc-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://oidc-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://oidc.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://oidc.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://oidc-fips.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://oidc-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://oidc.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://oidc.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://oidc-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://oidc-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://oidc.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://oidc.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://oidc-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://oidc-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://oidc.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://oidc.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://oidc-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://oidc-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://oidc.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://oidc.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://oidc-fips.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://oidc-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://oidc.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://oidc.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://oidc-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://oidc-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://oidc.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://oidc.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://oidc-fips.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://oidc-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://oidc.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://oidc.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://oidc-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://oidc-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://oidc.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://oidc.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://oidc-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://oidc-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://oidc.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://oidc.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://oidc-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://oidc-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://oidc.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://oidc.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://oidc-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://oidc-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://oidc.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://oidc.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://oidc-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://oidc-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://oidc.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://oidc.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://oidc-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://oidc-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://oidc.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://oidc.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://oidc-fips.ap-northeast-1.api.aws" + "url": "https://oidc.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true + "Region": "ap-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://oidc-fips.ap-northeast-1.amazonaws.com" + "url": "https://oidc.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, "Region": "ap-northeast-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://oidc.ap-northeast-1.api.aws" + "url": "https://oidc.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://oidc.ap-northeast-1.amazonaws.com" + "url": "https://oidc.ap-northeast-3.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false + "Region": "ap-northeast-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://oidc-fips.me-south-1.api.aws" + "url": "https://oidc.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": true + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://oidc-fips.me-south-1.amazonaws.com" + "url": "https://oidc.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://oidc.me-south-1.api.aws" + "url": "https://oidc.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://oidc.me-south-1.amazonaws.com" + "url": "https://oidc.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": false + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://oidc-fips.sa-east-1.api.aws" + "url": "https://oidc.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": true + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://oidc-fips.sa-east-1.amazonaws.com" + "url": "https://oidc.eu-north-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": true + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://oidc.sa-east-1.api.aws" + "url": "https://oidc.eu-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": false + "Region": "eu-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://oidc.sa-east-1.amazonaws.com" + "url": "https://oidc.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": false + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://oidc-fips.ap-east-1.api.aws" + "url": "https://oidc.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": true + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://oidc-fips.ap-east-1.amazonaws.com" + "url": "https://oidc.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": true + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://oidc.ap-east-1.api.aws" + "url": "https://oidc.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": false + "Region": "me-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://oidc.ap-east-1.amazonaws.com" + "url": "https://oidc.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": false + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://oidc-fips.us-gov-west-1.api.aws" + "url": "https://oidc.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://oidc-fips.us-gov-west-1.amazonaws.com" + "url": "https://oidc.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://oidc.us-gov-west-1.api.aws" + "url": "https://oidc.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://oidc.us-gov-west-1.amazonaws.com" + "url": "https://oidc-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://oidc-fips.ap-southeast-1.api.aws" + "url": "https://oidc-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://oidc-fips.ap-southeast-1.amazonaws.com" + "url": "https://oidc.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://oidc.ap-southeast-1.api.aws" + "url": "https://oidc-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://oidc.ap-southeast-1.amazonaws.com" + "url": "https://oidc-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://oidc-fips.ap-southeast-2.api.aws" + "url": "https://oidc.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://oidc-fips.ap-southeast-2.amazonaws.com" + "url": "https://oidc.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://oidc.ap-southeast-2.api.aws" + "url": "https://oidc.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://oidc.ap-southeast-2.amazonaws.com" + "url": "https://oidc.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://oidc-fips.ap-southeast-3.api.aws" + "url": "https://oidc-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-3", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://oidc-fips.ap-southeast-3.amazonaws.com" + "url": "https://oidc.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-3", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://oidc.ap-southeast-3.api.aws" + "url": "https://oidc.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-3", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://oidc.ap-southeast-3.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-3", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://oidc-fips.us-east-1.api.aws" + "url": "https://oidc-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://oidc-fips.us-east-1.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://oidc.us-east-1.api.aws" + "url": "https://oidc.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://oidc.us-east-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://oidc-fips.us-east-2.api.aws" + "url": "https://oidc-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://oidc-fips.us-east-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://oidc.us-east-2.api.aws" + "url": "https://oidc.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://oidc.us-east-2.amazonaws.com" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1268,9 +532,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1280,11 +544,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/storagegateway/pom.xml b/services/storagegateway/pom.xml index 6e1507580c4e..f45e3ba3c6cf 100644 --- a/services/storagegateway/pom.xml +++ b/services/storagegateway/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT storagegateway AWS Java SDK :: Services :: AWS Storage Gateway diff --git a/services/storagegateway/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/storagegateway/src/main/resources/codegen-resources/endpoint-rule-set.json index b74366241daa..9f3c8e2c2b97 100644 --- a/services/storagegateway/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/storagegateway/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://storagegateway-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://storagegateway-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://storagegateway.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://storagegateway.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://storagegateway.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://storagegateway.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/storagegateway/src/main/resources/codegen-resources/endpoint-tests.json b/services/storagegateway/src/main/resources/codegen-resources/endpoint-tests.json index 2697e89c256f..bd669c8d58b4 100644 --- a/services/storagegateway/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/storagegateway/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,224 +1,133 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway.eu-south-1.amazonaws.com" + "url": "https://storagegateway.af-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": false + "Region": "af-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway-fips.us-gov-east-1.api.aws" + "url": "https://storagegateway.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true + "Region": "ap-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway-fips.us-gov-east-1.amazonaws.com" + "url": "https://storagegateway.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway.us-gov-east-1.api.aws" + "url": "https://storagegateway.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway.us-gov-east-1.amazonaws.com" + "url": "https://storagegateway.ap-northeast-3.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false + "Region": "ap-northeast-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway-fips.me-central-1.api.aws" + "url": "https://storagegateway.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "me-central-1", - "UseFIPS": true + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway-fips.me-central-1.amazonaws.com" + "url": "https://storagegateway.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "me-central-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway.me-central-1.api.aws" + "url": "https://storagegateway.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "me-central-1", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway.me-central-1.amazonaws.com" + "url": "https://storagegateway.ap-southeast-3.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "me-central-1", - "UseFIPS": false + "Region": "ap-southeast-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway-fips.ca-central-1.api.aws" + "url": "https://storagegateway.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, "Region": "ca-central-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { @@ -229,1179 +138,434 @@ } }, "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.ap-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://storagegateway-fips.ap-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://storagegateway.ap-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": false + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway.ap-east-1.amazonaws.com" + "url": "https://storagegateway.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": false + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway-fips.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://storagegateway.eu-north-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": true + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway-fips.cn-north-1.amazonaws.com.cn" + "url": "https://storagegateway.eu-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": true + "Region": "eu-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://storagegateway.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": false + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway.cn-north-1.amazonaws.com.cn" + "url": "https://storagegateway.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": false + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway-fips.us-gov-west-1.api.aws" + "url": "https://storagegateway.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway-fips.us-gov-west-1.amazonaws.com" + "url": "https://storagegateway.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "me-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway.us-gov-west-1.api.aws" + "url": "https://storagegateway.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway.us-gov-west-1.amazonaws.com" + "url": "https://storagegateway.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway-fips.ap-southeast-1.api.aws" + "url": "https://storagegateway-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway-fips.ap-southeast-1.amazonaws.com" + "url": "https://storagegateway.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway.ap-southeast-1.api.aws" + "url": "https://storagegateway-fips.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway.ap-southeast-1.amazonaws.com" + "url": "https://storagegateway.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway-fips.ap-southeast-2.api.aws" + "url": "https://storagegateway-fips.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway-fips.ap-southeast-2.amazonaws.com" + "url": "https://storagegateway.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway.ap-southeast-2.api.aws" + "url": "https://storagegateway-fips.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://storagegateway.ap-southeast-2.amazonaws.com" + "url": "https://storagegateway-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://storagegateway-fips.ap-southeast-3.api.aws" + "url": "https://storagegateway.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-3", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway-fips.ap-southeast-3.amazonaws.com" + "url": "https://storagegateway.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-3", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway.ap-southeast-3.api.aws" + "url": "https://storagegateway.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-3", - "UseFIPS": false + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://storagegateway.ap-southeast-3.amazonaws.com" + "url": "https://storagegateway-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-3", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway-fips.us-east-1.api.aws" + "url": "https://storagegateway-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://storagegateway-fips.us-east-1.amazonaws.com" + "url": "https://storagegateway.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway.us-east-1.api.aws" + "url": "https://storagegateway.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway.us-east-1.amazonaws.com" + "url": "https://storagegateway-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway-fips.us-east-2.api.aws" + "url": "https://storagegateway.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway-fips.us-east-2.amazonaws.com" + "url": "https://storagegateway-fips.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://storagegateway.us-east-2.api.aws" + "url": "https://storagegateway-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://storagegateway.us-east-2.amazonaws.com" + "url": "https://storagegateway.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://storagegateway-fips.cn-northwest-1.api.amazonwebservices.com.cn" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway-fips.cn-northwest-1.amazonaws.com.cn" + "url": "https://storagegateway-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://storagegateway.cn-northwest-1.api.amazonwebservices.com.cn" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://storagegateway.cn-northwest-1.amazonaws.com.cn" + "url": "https://storagegateway.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1410,9 +574,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -1423,9 +587,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -1434,9 +598,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -1447,22 +611,35 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1472,9 +649,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1484,11 +661,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/storagegateway/src/main/resources/codegen-resources/service-2.json b/services/storagegateway/src/main/resources/codegen-resources/service-2.json index fb88e7595f35..153f65c18cf2 100644 --- a/services/storagegateway/src/main/resources/codegen-resources/service-2.json +++ b/services/storagegateway/src/main/resources/codegen-resources/service-2.json @@ -530,7 +530,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

      Returns metadata about a gateway such as its name, network interfaces, configured time zone, and the state (whether the gateway is running or not). To specify which gateway to describe, use the Amazon Resource Name (ARN) of the gateway in your request.

      " + "documentation":"

      Returns metadata about a gateway such as its name, network interfaces, time zone, status, and software version. To specify which gateway to describe, use the Amazon Resource Name (ARN) of the gateway in your request.

      " }, "DescribeMaintenanceStartTime":{ "name":"DescribeMaintenanceStartTime", @@ -754,7 +754,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

      Adds a file gateway to an Active Directory domain. This operation is only supported for file gateways that support the SMB file protocol.

      " + "documentation":"

      Adds a file gateway to an Active Directory domain. This operation is only supported for file gateways that support the SMB file protocol.

      Joining a domain creates an Active Directory computer account in the default organizational unit, using the gateway's Gateway ID as the account name (for example, SGW-1234ADE). If your Active Directory environment requires that you pre-stage accounts to facilitate the join domain process, you will need to create this account ahead of time.

      To create the gateway's computer account in an organizational unit other than the default, you must specify the organizational unit when joining the domain.

      " }, "ListAutomaticTapeCreationPolicies":{ "name":"ListAutomaticTapeCreationPolicies", @@ -782,7 +782,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

      Gets a list of the file shares for a specific S3 File Gateway, or the list of file shares that belong to the calling user account. This operation is only supported for S3 File Gateways.

      " + "documentation":"

      Gets a list of the file shares for a specific S3 File Gateway, or the list of file shares that belong to the calling Amazon Web Services account. This operation is only supported for S3 File Gateways.

      " }, "ListFileSystemAssociations":{ "name":"ListFileSystemAssociations", @@ -922,7 +922,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

      Sends you notification through CloudWatch Events when all files written to your file share have been uploaded to S3. Amazon S3.

      Storage Gateway can send a notification through Amazon CloudWatch Events when all files written to your file share up to that point in time have been uploaded to Amazon S3. These files include files written to the file share up to the time that you make a request for notification. When the upload is done, Storage Gateway sends you notification through an Amazon CloudWatch Event. You can configure CloudWatch Events to send the notification through event targets such as Amazon SNS or Lambda function. This operation is only supported for S3 File Gateways.

      For more information, see Getting file upload notification in the Storage Gateway User Guide.

      " + "documentation":"

      Sends you notification through CloudWatch Events when all files written to your file share have been uploaded to S3. Amazon S3.

      Storage Gateway can send a notification through Amazon CloudWatch Events when all files written to your file share up to that point in time have been uploaded to Amazon S3. These files include files written to the file share up to the time that you make a request for notification. When the upload is done, Storage Gateway sends you notification through an Amazon CloudWatch Event. You can configure CloudWatch Events to send the notification through event targets such as Amazon SNS or Lambda function. This operation is only supported for S3 File Gateways.

      For more information, see Getting file upload notification in the Amazon S3 File Gateway User Guide.

      " }, "RefreshCache":{ "name":"RefreshCache", @@ -936,7 +936,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

      Refreshes the cached inventory of objects for the specified file share. This operation finds objects in the Amazon S3 bucket that were added, removed, or replaced since the gateway last listed the bucket's contents and cached the results. This operation does not import files into the S3 File Gateway cache storage. It only updates the cached inventory to reflect changes in the inventory of the objects in the S3 bucket. This operation is only supported in the S3 File Gateway types.

      You can subscribe to be notified through an Amazon CloudWatch event when your RefreshCache operation completes. For more information, see Getting notified about file operations in the Storage Gateway User Guide. This operation is Only supported for S3 File Gateways.

      When this API is called, it only initiates the refresh operation. When the API call completes and returns a success code, it doesn't necessarily mean that the file refresh has completed. You should use the refresh-complete notification to determine that the operation has completed before you check for new files on the gateway file share. You can subscribe to be notified through a CloudWatch event when your RefreshCache operation completes.

      Throttle limit: This API is asynchronous, so the gateway will accept no more than two refreshes at any time. We recommend using the refresh-complete CloudWatch event notification before issuing additional requests. For more information, see Getting notified about file operations in the Storage Gateway User Guide.

      • Wait at least 60 seconds between consecutive RefreshCache API requests.

      • RefreshCache does not evict cache entries if invoked consecutively within 60 seconds of a previous RefreshCache request.

      • If you invoke the RefreshCache API when two requests are already being processed, any new request will cause an InvalidGatewayRequestException error because too many requests were sent to the server.

      The S3 bucket name does not need to be included when entering the list of folders in the FolderList parameter.

      For more information, see Getting notified about file operations in the Storage Gateway User Guide.

      " + "documentation":"

      Refreshes the cached inventory of objects for the specified file share. This operation finds objects in the Amazon S3 bucket that were added, removed, or replaced since the gateway last listed the bucket's contents and cached the results. This operation does not import files into the S3 File Gateway cache storage. It only updates the cached inventory to reflect changes in the inventory of the objects in the S3 bucket. This operation is only supported in the S3 File Gateway types.

      You can subscribe to be notified through an Amazon CloudWatch event when your RefreshCache operation completes. For more information, see Getting notified about file operations in the Storage Gateway User Guide. This operation is Only supported for S3 File Gateways.

      When this API is called, it only initiates the refresh operation. When the API call completes and returns a success code, it doesn't necessarily mean that the file refresh has completed. You should use the refresh-complete notification to determine that the operation has completed before you check for new files on the gateway file share. You can subscribe to be notified through a CloudWatch event when your RefreshCache operation completes.

      Throttle limit: This API is asynchronous, so the gateway will accept no more than two refreshes at any time. We recommend using the refresh-complete CloudWatch event notification before issuing additional requests. For more information, see Getting notified about file operations in the Storage Gateway User Guide.

      • Wait at least 60 seconds between consecutive RefreshCache API requests.

      • If you invoke the RefreshCache API when two requests are already being processed, any new request will cause an InvalidGatewayRequestException error because too many requests were sent to the server.

      The S3 bucket name does not need to be included when entering the list of folders in the FolderList parameter.

      For more information, see Getting notified about file operations in the Storage Gateway User Guide.

      " }, "RemoveTagsFromResource":{ "name":"RemoveTagsFromResource", @@ -1104,7 +1104,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

      Updates the bandwidth rate limit schedule for a specified gateway. By default, gateways do not have bandwidth rate limit schedules, which means no bandwidth rate limiting is in effect. Use this to initiate or update a gateway's bandwidth rate limit schedule. This operation is supported only for volume, tape and S3 file gateways. FSx file gateways do not support bandwidth rate limits.

      " + "documentation":"

      Updates the bandwidth rate limit schedule for a specified gateway. By default, gateways do not have bandwidth rate limit schedules, which means no bandwidth rate limiting is in effect. Use this to initiate or update a gateway's bandwidth rate limit schedule. This operation is supported for volume, tape, and S3 file gateways. S3 file gateways support bandwidth rate limits for upload only. FSx file gateways do not support bandwidth rate limits.

      " }, "UpdateChapCredentials":{ "name":"UpdateChapCredentials", @@ -1667,7 +1667,7 @@ }, "AverageUploadRateLimitInBitsPerSec":{ "shape":"BandwidthUploadRateLimit", - "documentation":"

      The average upload rate limit component of the bandwidth rate limit interval, in bits per second. This field does not appear in the response if the upload rate limit is not set.

      " + "documentation":"

      The average upload rate limit component of the bandwidth rate limit interval, in bits per second. This field does not appear in the response if the upload rate limit is not set.

      For Tape Gateway and Volume Gateway, the minimum value is 51200.

      For S3 File Gateway and FSx File Gateway, the minimum value is 104857600.

      " }, "AverageDownloadRateLimitInBitsPerSec":{ "shape":"BandwidthDownloadRateLimit", @@ -2946,6 +2946,10 @@ "HostEnvironmentId":{ "shape":"HostEnvironmentId", "documentation":"

      A unique identifier for the specific instance of the host platform running the gateway. This value is only available for certain host environments, and its format depends on the host environment type.

      " + }, + "SoftwareVersion":{ + "shape":"SoftwareVersion", + "documentation":"

      The version number of the software running on the gateway appliance.

      " } }, "documentation":"

      A JSON object containing the following fields:

      " @@ -3994,7 +3998,7 @@ "documentation":"

      The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used for Amazon S3 server-side encryption. Storage Gateway does not support asymmetric CMKs. This value can only be set when KMSEncrypted is true. Optional.

      ", "max":2048, "min":7, - "pattern":"(^arn:(aws|aws-cn|aws-us-gov):kms:([a-zA-Z0-9-]+):([0-9]+):(key|alias)/(\\S+)$)|(^alias/(\\S+)$)" + "pattern":"(^arn:(aws(|-cn|-us-gov|-iso[A-Za-z0-9_-]*)):kms:([a-zA-Z0-9-]+):([0-9]+):(key|alias)/(\\S+)$)|(^alias/(\\S+)$)" }, "LastSoftwareUpdate":{ "type":"string", @@ -4430,7 +4434,8 @@ "documentation":"

      The Internet Protocol version 6 (IPv6) address of the interface. Currently not supported.

      " } }, - "documentation":"

      Describes a gateway's network interface.

      " + "documentation":"

      Describes a gateway's network interface.

      ", + "sensitive":true }, "NetworkInterfaceId":{ "type":"string", @@ -4724,7 +4729,7 @@ "documentation":"

      The ARN of the IAM role that an S3 File Gateway assumes when it accesses the underlying storage.

      ", "max":2048, "min":20, - "pattern":"^arn:(aws|aws-cn|aws-us-gov):iam::([0-9]+):role/(\\S+)$" + "pattern":"^arn:(aws(|-cn|-us-gov|-iso[A-Za-z0-9_-]*)):iam::([0-9]+):role/(\\S+)$" }, "SMBFileShareInfo":{ "type":"structure", @@ -4939,6 +4944,7 @@ "max":25, "min":1 }, + "SoftwareVersion":{"type":"string"}, "Squash":{ "type":"string", "documentation":"

      The user mapped to anonymous user. Valid options are the following:

      • RootSquash: Only root is mapped to anonymous user.

      • NoSquash: No one is mapped to anonymous user.

      • AllSquash: Everyone is mapped to anonymous user.

      ", @@ -5159,7 +5165,7 @@ "type":"string", "max":500, "min":50, - "pattern":"^arn:(aws|aws-cn|aws-us-gov):storagegateway:[a-z\\-0-9]+:[0-9]+:tape\\/[0-9A-Z]{5,16}$" + "pattern":"arn:(aws(|-cn|-us-gov|-iso[A-Za-z0-9_-]*)):storagegateway:[a-z\\-0-9]+:[0-9]+:tape\\/[0-9A-Z]{5,16}$" }, "TapeARNs":{ "type":"list", diff --git a/services/sts/pom.xml b/services/sts/pom.xml index ce2aba1f1b67..7810c11fadc5 100644 --- a/services/sts/pom.xml +++ b/services/sts/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT sts AWS Java SDK :: Services :: AWS STS diff --git a/services/sts/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/sts/src/main/resources/codegen-resources/endpoint-rule-set.json index 97f64a7ba6c1..959d2c0e8367 100644 --- a/services/sts/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/sts/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -578,52 +578,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", @@ -631,13 +635,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -647,175 +660,83 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://sts-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsFIPS" ] } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "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": [ - { - "fn": "stringEquals", - "argv": [ - "aws-us-gov", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://sts.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "ref": "PartitionResult" }, - { - "conditions": [], - "endpoint": { - "url": "https://sts-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "supportsDualStack" ] } ] - }, + } + ], + "type": "tree", + "rules": [ { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://sts-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": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], @@ -824,99 +745,142 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, + "aws-us-gov", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsDualStack" + "name" ] } ] } ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://sts.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] + "endpoint": { + "url": "https://sts.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://sts-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] }, { "conditions": [], - "type": "tree", - "rules": [ + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ { - "conditions": [ + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ { - "ref": "Region" + "ref": "PartitionResult" }, - "aws-global" + "supportsDualStack" ] } - ], - "endpoint": { - "url": "https://sts.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "sts", - "signingRegion": "us-east-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, + ] + } + ], + "type": "tree", + "rules": [ { "conditions": [], "endpoint": { - "url": "https://sts.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://sts.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "aws-global" + ] + } + ], + "endpoint": { + "url": "https://sts.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "sts", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://sts.{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/services/sts/src/main/resources/codegen-resources/endpoint-tests.json b/services/sts/src/main/resources/codegen-resources/endpoint-tests.json index 5e12a28e2245..52b2b64e809d 100644 --- a/services/sts/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/sts/src/main/resources/codegen-resources/endpoint-tests.json @@ -702,9 +702,9 @@ "properties": { "authSchemes": [ { + "signingRegion": "us-east-1", "signingName": "sts", - "name": "sigv4", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -734,9 +734,9 @@ "properties": { "authSchemes": [ { + "signingRegion": "us-east-1", "signingName": "sts", - "name": "sigv4", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -766,9 +766,9 @@ "properties": { "authSchemes": [ { + "signingRegion": "us-east-1", "signingName": "sts", - "name": "sigv4", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -798,9 +798,9 @@ "properties": { "authSchemes": [ { + "signingRegion": "us-east-1", "signingName": "sts", - "name": "sigv4", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -830,9 +830,9 @@ "properties": { "authSchemes": [ { + "signingRegion": "us-east-1", "signingName": "sts", - "name": "sigv4", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -862,9 +862,9 @@ "properties": { "authSchemes": [ { + "signingRegion": "us-east-1", "signingName": "sts", - "name": "sigv4", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -894,9 +894,9 @@ "properties": { "authSchemes": [ { + "signingRegion": "us-east-1", "signingName": "sts", - "name": "sigv4", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -926,9 +926,9 @@ "properties": { "authSchemes": [ { + "signingRegion": "us-east-1", "signingName": "sts", - "name": "sigv4", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -958,9 +958,9 @@ "properties": { "authSchemes": [ { + "signingRegion": "us-east-1", "signingName": "sts", - "name": "sigv4", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -990,9 +990,9 @@ "properties": { "authSchemes": [ { + "signingRegion": "us-east-1", "signingName": "sts", - "name": "sigv4", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -1022,9 +1022,9 @@ "properties": { "authSchemes": [ { + "signingRegion": "us-east-1", "signingName": "sts", - "name": "sigv4", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -1054,9 +1054,9 @@ "properties": { "authSchemes": [ { + "signingRegion": "us-east-1", "signingName": "sts", - "name": "sigv4", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -1086,9 +1086,9 @@ "properties": { "authSchemes": [ { + "signingRegion": "us-east-1", "signingName": "sts", - "name": "sigv4", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -1118,9 +1118,9 @@ "properties": { "authSchemes": [ { + "signingRegion": "us-east-1", "signingName": "sts", - "name": "sigv4", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -1150,9 +1150,9 @@ "properties": { "authSchemes": [ { + "signingRegion": "us-east-1", "signingName": "sts", - "name": "sigv4", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -1182,9 +1182,9 @@ "properties": { "authSchemes": [ { + "signingRegion": "us-east-1", "signingName": "sts", - "name": "sigv4", - "signingRegion": "us-east-1" + "name": "sigv4" } ] }, @@ -1214,9 +1214,9 @@ "properties": { "authSchemes": [ { + "signingRegion": "us-east-3", "signingName": "sts", - "name": "sigv4", - "signingRegion": "us-east-3" + "name": "sigv4" } ] }, @@ -1272,10 +1272,10 @@ } }, "params": { - "Endpoint": "https://example.com", "UseGlobalEndpoint": false, "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "Endpoint": "https://example.com" } } ], diff --git a/services/sts/src/main/resources/codegen-resources/service-2.json b/services/sts/src/main/resources/codegen-resources/service-2.json index 42f006758702..6fbc68f80a62 100644 --- a/services/sts/src/main/resources/codegen-resources/service-2.json +++ b/services/sts/src/main/resources/codegen-resources/service-2.json @@ -173,7 +173,7 @@ "documentation":"

      The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as managed session policies. The policies must exist in the same account as the role.

      This parameter is optional. You can provide up to 10 managed policy ARNs. However, the plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces in the Amazon Web Services General Reference.

      An Amazon Web Services conversion compresses the passed inline session policy, managed policy ARNs, and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

      Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

      " }, "Policy":{ - "shape":"sessionPolicyDocumentType", + "shape":"unrestrictedSessionPolicyDocumentType", "documentation":"

      An IAM policy in JSON format that you want to use as an inline session policy.

      This parameter is optional. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent Amazon Web Services API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

      The plaintext that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\\u0020 through \\u00FF). It can also include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D) characters.

      An Amazon Web Services conversion compresses the passed inline session policy, managed policy ARNs, and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plaintext meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

      " }, "DurationSeconds":{ @@ -871,6 +871,11 @@ "pattern":"[\\d]*" }, "tokenType":{"type":"string"}, + "unrestrictedSessionPolicyDocumentType":{ + "type":"string", + "min":1, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+" + }, "urlType":{ "type":"string", "max":2048, diff --git a/services/support/pom.xml b/services/support/pom.xml index f82deabc9241..c5fde9cf223b 100644 --- a/services/support/pom.xml +++ b/services/support/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT support AWS Java SDK :: Services :: AWS Support diff --git a/services/support/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/support/src/main/resources/codegen-resources/endpoint-rule-set.json index 3898b7fffc16..863042afbc22 100644 --- a/services/support/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/support/src/main/resources/codegen-resources/endpoint-rule-set.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,495 +115,455 @@ { "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://support.us-east-1.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "support", - "signingRegion": "us-east-1" - } - ] + "ref": "UseDualStack" }, - "headers": {} - }, - "type": "endpoint" + false + ] + } + ], + "endpoint": { + "url": "https://support.us-east-1.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "support", + "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": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] + "ref": "UseDualStack" }, + false + ] + } + ], + "endpoint": { + "url": "https://support.cn-north-1.amazonaws.com.cn", + "properties": { + "authSchemes": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] + "name": "sigv4", + "signingName": "support", + "signingRegion": "cn-north-1" } - ], - "endpoint": { - "url": "https://support.cn-north-1.amazonaws.com.cn", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "support", - "signingRegion": "cn-north-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + ] }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ { - "conditions": [ + "fn": "stringEquals", + "argv": [ { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] + "ref": "PartitionResult" }, - "aws-us-gov" + "name" ] }, + "aws-us-gov" + ] + }, + { + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" }, + false + ] + } + ], + "endpoint": { + "url": "https://support.us-gov-west-1.amazonaws.com", + "properties": { + "authSchemes": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] + "name": "sigv4", + "signingName": "support", + "signingRegion": "us-gov-west-1" } - ], - "endpoint": { - "url": "https://support.us-gov-west-1.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "support", - "signingRegion": "us-gov-west-1" - } - ] - }, - "headers": {} - }, - "type": "endpoint" + ] }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ { - "conditions": [ + "fn": "stringEquals", + "argv": [ { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] + "ref": "PartitionResult" }, - "aws-iso" + "name" ] }, + "aws-iso" + ] + }, + { + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] + "ref": "UseFIPS" }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] - } - ], - "endpoint": { - "url": "https://support.us-iso-east-1.c2s.ic.gov", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "support", - "signingRegion": "us-iso-east-1" - } - ] + "ref": "UseDualStack" }, - "headers": {} - }, - "type": "endpoint" + false + ] + } + ], + "endpoint": { + "url": "https://support.us-iso-east-1.c2s.ic.gov", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "support", + "signingRegion": "us-iso-east-1" + } + ] }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ { - "conditions": [ + "fn": "stringEquals", + "argv": [ { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] + "ref": "PartitionResult" }, - "aws-iso-b" + "name" ] }, + "aws-iso-b" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - false - ] + "ref": "UseDualStack" }, + false + ] + } + ], + "endpoint": { + "url": "https://support.us-isob-east-1.sc2s.sgov.gov", + "properties": { + "authSchemes": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - false - ] + "name": "sigv4", + "signingName": "support", + "signingRegion": "us-isob-east-1" } - ], - "endpoint": { - "url": "https://support.us-isob-east-1.sc2s.sgov.gov", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingName": "support", - "signingRegion": "us-isob-east-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://support-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://support-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://support-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://support-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://support.{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://support.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://support.{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://support.{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/services/supportapp/pom.xml b/services/supportapp/pom.xml index 2ddd2abf55f2..c2b08b7466a8 100644 --- a/services/supportapp/pom.xml +++ b/services/supportapp/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT supportapp AWS Java SDK :: Services :: Support App diff --git a/services/supportapp/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/supportapp/src/main/resources/codegen-resources/endpoint-rule-set.json index 50863f1d53ab..99f5d478b878 100644 --- a/services/supportapp/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/supportapp/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "parseURL", + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,221 +140,175 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://supportapp-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] }, { "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] - }, + } + ], + "type": "tree", + "rules": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://supportapp-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://supportapp-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://supportapp-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://supportapp.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://supportapp.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://supportapp.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://supportapp.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/supportapp/src/main/resources/codegen-resources/endpoint-tests.json b/services/supportapp/src/main/resources/codegen-resources/endpoint-tests.json index d08b03ca2139..8af08c60e0ba 100644 --- a/services/supportapp/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/supportapp/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,163 +1,273 @@ { "testCases": [ { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://supportapp-fips.us-west-2.api.aws" + "url": "https://supportapp-fips.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-west-2" + "UseDualStack": true } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://supportapp-fips.us-west-2.amazonaws.com" + "url": "https://supportapp-fips.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-west-2" + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://supportapp.us-west-2.api.aws" + "url": "https://supportapp.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-west-2" + "UseDualStack": true } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://supportapp.us-west-2.amazonaws.com" + "url": "https://supportapp.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-2" + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://supportapp-fips.eu-west-1.api.aws" + "url": "https://supportapp-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "eu-west-1" + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://supportapp-fips.eu-west-1.amazonaws.com" + "url": "https://supportapp-fips.cn-north-1.amazonaws.com.cn" } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://supportapp.eu-west-1.api.aws" + "url": "https://supportapp.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "eu-west-1" + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://supportapp.eu-west-1.amazonaws.com" + "url": "https://supportapp.cn-north-1.amazonaws.com.cn" } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://supportapp-fips.us-east-1.api.aws" + "url": "https://supportapp-fips.us-gov-east-1.api.aws" } }, "params": { + "Region": "us-gov-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-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://supportapp-fips.us-east-1.amazonaws.com" + "url": "https://supportapp-fips.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-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-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://supportapp.us-east-1.api.aws" + "url": "https://supportapp.us-gov-east-1.api.aws" } }, "params": { + "Region": "us-gov-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-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://supportapp.us-east-1.amazonaws.com" + "url": "https://supportapp.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://supportapp-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://supportapp.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://supportapp-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://supportapp.us-isob-east-1.sc2s.sgov.gov" } }, "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-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" @@ -166,7 +276,6 @@ "params": { "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -176,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" } }, @@ -188,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/services/swf/pom.xml b/services/swf/pom.xml index 67be7ae90b4a..46e9f47eb93f 100644 --- a/services/swf/pom.xml +++ b/services/swf/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT swf AWS Java SDK :: Services :: Amazon SWF diff --git a/services/synthetics/pom.xml b/services/synthetics/pom.xml index 506f485f348c..eb2350503156 100644 --- a/services/synthetics/pom.xml +++ b/services/synthetics/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT synthetics AWS Java SDK :: Services :: Synthetics diff --git a/services/synthetics/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/synthetics/src/main/resources/codegen-resources/endpoint-rule-set.json index ec0ffe6d7a81..2c20361ea3db 100644 --- a/services/synthetics/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/synthetics/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://synthetics-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://synthetics-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://synthetics.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://synthetics.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://synthetics.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://synthetics.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/synthetics/src/main/resources/codegen-resources/endpoint-tests.json b/services/synthetics/src/main/resources/codegen-resources/endpoint-tests.json index c1e6dd785f62..5a1fb741415f 100644 --- a/services/synthetics/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/synthetics/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,1379 +1,547 @@ { "testCases": [ { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack enabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics-fips.ap-south-2.api.aws" + "url": "https://synthetics.af-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-2", - "UseFIPS": true + "Region": "af-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics-fips.ap-south-2.amazonaws.com" + "url": "https://synthetics.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-south-2", - "UseFIPS": true + "Region": "ap-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics.ap-south-2.api.aws" + "url": "https://synthetics.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-2", - "UseFIPS": false + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics.ap-south-2.amazonaws.com" + "url": "https://synthetics.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-south-2", - "UseFIPS": false + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics-fips.ap-south-1.api.aws" + "url": "https://synthetics.ap-northeast-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true + "Region": "ap-northeast-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics-fips.ap-south-1.amazonaws.com" + "url": "https://synthetics.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, "Region": "ap-south-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics.ap-south-1.api.aws" + "url": "https://synthetics.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics.ap-south-1.amazonaws.com" + "url": "https://synthetics.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics-fips.eu-south-1.api.aws" + "url": "https://synthetics.ap-southeast-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": true + "Region": "ap-southeast-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics-fips.eu-south-1.amazonaws.com" + "url": "https://synthetics.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": true + "Region": "ca-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics.eu-south-1.api.aws" + "url": "https://synthetics.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": false + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics.eu-south-1.amazonaws.com" + "url": "https://synthetics.eu-north-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": false + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics-fips.eu-south-2.api.aws" + "url": "https://synthetics.eu-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-south-2", - "UseFIPS": true + "Region": "eu-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics-fips.eu-south-2.amazonaws.com" + "url": "https://synthetics.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-south-2", - "UseFIPS": true + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics.eu-south-2.api.aws" + "url": "https://synthetics.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-south-2", - "UseFIPS": false + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics.eu-south-2.amazonaws.com" + "url": "https://synthetics.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-south-2", - "UseFIPS": false + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics-fips.us-gov-east-1.api.aws" + "url": "https://synthetics.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true + "Region": "me-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics-fips.us-gov-east-1.amazonaws.com" + "url": "https://synthetics.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true + "Region": "sa-east-1", + "UseFIPS": false, + "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 disabled", "expect": { "endpoint": { - "url": "https://synthetics.us-gov-east-1.api.aws" + "url": "https://synthetics.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics.us-gov-east-1.amazonaws.com" + "url": "https://synthetics-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics-fips.me-central-1.api.aws" + "url": "https://synthetics.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "me-central-1", - "UseFIPS": true + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics-fips.me-central-1.amazonaws.com" + "url": "https://synthetics-fips.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "me-central-1", - "UseFIPS": true + "Region": "us-east-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics.me-central-1.api.aws" + "url": "https://synthetics.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "me-central-1", - "UseFIPS": false + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics.me-central-1.amazonaws.com" + "url": "https://synthetics-fips.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "me-central-1", - "UseFIPS": false + "Region": "us-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics-fips.ca-central-1.api.aws" + "url": "https://synthetics.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics-fips.ca-central-1.amazonaws.com" + "url": "https://synthetics-fips.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true + "Region": "us-west-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://synthetics.ca-central-1.api.aws" + "url": "https://synthetics-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://synthetics.ca-central-1.amazonaws.com" + "url": "https://synthetics.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics-fips.eu-central-1.api.aws" + "url": "https://synthetics.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics-fips.eu-central-1.amazonaws.com" + "url": "https://synthetics.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://synthetics.eu-central-1.api.aws" + "url": "https://synthetics-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics.eu-central-1.amazonaws.com" + "url": "https://synthetics-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://synthetics-fips.eu-central-2.api.aws" + "url": "https://synthetics.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-2", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics-fips.eu-central-2.amazonaws.com" + "url": "https://synthetics.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-2", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics.eu-central-2.api.aws" + "url": "https://synthetics-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-2", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics.eu-central-2.amazonaws.com" + "url": "https://synthetics.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-2", - "UseFIPS": false + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics-fips.us-west-1.api.aws" + "url": "https://synthetics-fips.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://synthetics-fips.us-west-1.amazonaws.com" + "url": "https://synthetics-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://synthetics.us-west-1.api.aws" + "url": "https://synthetics.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics.us-west-1.amazonaws.com" + "url": "https://synthetics.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://synthetics-fips.us-west-2.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics-fips.us-west-2.amazonaws.com" + "url": "https://synthetics-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.ap-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.ap-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics.ap-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics.ap-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.us-gov-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics.us-gov-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.ap-southeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics.ap-southeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.ap-southeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics.ap-southeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, "Region": "us-iso-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -1382,282 +550,22 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, - "Region": "us-iso-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, "Region": "us-iso-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.ap-southeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-southeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.ap-southeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-southeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics.ap-southeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-southeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics.ap-southeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-southeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.ap-southeast-4.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-southeast-4", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.ap-southeast-4.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-southeast-4", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics.ap-southeast-4.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-southeast-4", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics.ap-southeast-4.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-southeast-4", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.us-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.us-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics.us-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics.us-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics.us-east-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.cn-northwest-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://synthetics-fips.cn-northwest-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://synthetics.cn-northwest-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://synthetics.cn-northwest-1.amazonaws.com.cn" + "url": "https://synthetics.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1666,9 +574,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -1679,9 +587,9 @@ } }, "params": { - "UseDualStack": false, "Region": "us-isob-east-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -1690,35 +598,35 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, "Region": "us-isob-east-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://synthetics.us-isob-east-1.sc2s.sgov.gov" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, - "Region": "us-isob-east-1", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1728,9 +636,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1740,11 +648,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/textract/pom.xml b/services/textract/pom.xml index e659a817ce20..1f37e83c2fb0 100644 --- a/services/textract/pom.xml +++ b/services/textract/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT textract AWS Java SDK :: Services :: Textract diff --git a/services/textract/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/textract/src/main/resources/codegen-resources/endpoint-rule-set.json index cf0040e78ad0..5af848c1a2ea 100644 --- a/services/textract/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/textract/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://textract-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://textract-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://textract-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://textract-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://textract.{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://textract.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://textract.{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://textract.{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/services/textract/src/main/resources/codegen-resources/endpoint-tests.json b/services/textract/src/main/resources/codegen-resources/endpoint-tests.json index a711008edd05..ef4043207202 100644 --- a/services/textract/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/textract/src/main/resources/codegen-resources/endpoint-tests.json @@ -390,6 +390,17 @@ "UseDualStack": true } }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, { "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { @@ -403,6 +414,17 @@ "UseDualStack": false } }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, { "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { @@ -416,6 +438,17 @@ "UseDualStack": false } }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, { "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { @@ -429,6 +462,17 @@ "UseDualStack": false } }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, { "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { @@ -492,6 +536,12 @@ "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/textract/src/main/resources/codegen-resources/service-2.json b/services/textract/src/main/resources/codegen-resources/service-2.json index 415e7ababc66..a9996dbc30b5 100644 --- a/services/textract/src/main/resources/codegen-resources/service-2.json +++ b/services/textract/src/main/resources/codegen-resources/service-2.json @@ -315,7 +315,7 @@ }, "FeatureTypes":{ "shape":"FeatureTypes", - "documentation":"

      A list of the types of analysis to perform. Add TABLES to the list to return information about the tables that are detected in the input document. Add FORMS to return detected form data. Add SIGNATURES to return the locations of detected signatures. To perform both forms and table analysis, add TABLES and FORMS to FeatureTypes. To detect signatures within form data and table data, add SIGNATURES to either TABLES or FORMS. All lines and words detected in the document are included in the response (including text that isn't related to the value of FeatureTypes).

      " + "documentation":"

      A list of the types of analysis to perform. Add TABLES to the list to return information about the tables that are detected in the input document. Add FORMS to return detected form data. Add SIGNATURES to return the locations of detected signatures. Add LAYOUT to the list to return information about the layout of the document. To perform both forms and table analysis, add TABLES and FORMS to FeatureTypes. To detect signatures within the document and within form data and table data, add SIGNATURES to either TABLES or FORMS. All lines and words detected in the document are included in the response (including text that isn't related to the value of FeatureTypes).

      " }, "HumanLoopConfig":{ "shape":"HumanLoopConfig", @@ -420,7 +420,7 @@ "members":{ "BlockType":{ "shape":"BlockType", - "documentation":"

      The type of text item that's recognized. In operations for text detection, the following types are returned:

      • PAGE - Contains a list of the LINE Block objects that are detected on a document page.

      • WORD - A word detected on a document page. A word is one or more ISO basic Latin script characters that aren't separated by spaces.

      • LINE - A string of tab-delimited, contiguous words that are detected on a document page.

      In text analysis operations, the following types are returned:

      • PAGE - Contains a list of child Block objects that are detected on a document page.

      • KEY_VALUE_SET - Stores the KEY and VALUE Block objects for linked text that's detected on a document page. Use the EntityType field to determine if a KEY_VALUE_SET object is a KEY Block object or a VALUE Block object.

      • WORD - A word that's detected on a document page. A word is one or more ISO basic Latin script characters that aren't separated by spaces.

      • LINE - A string of tab-delimited, contiguous words that are detected on a document page.

      • TABLE - A table that's detected on a document page. A table is grid-based information with two or more rows or columns, with a cell span of one row and one column each.

      • TABLE_TITLE - The title of a table. A title is typically a line of text above or below a table, or embedded as the first row of a table.

      • TABLE_FOOTER - The footer associated with a table. A footer is typically a line or lines of text below a table or embedded as the last row of a table.

      • CELL - A cell within a detected table. The cell is the parent of the block that contains the text in the cell.

      • MERGED_CELL - A cell in a table whose content spans more than one row or column. The Relationships array for this cell contain data from individual cells.

      • SELECTION_ELEMENT - A selection element such as an option button (radio button) or a check box that's detected on a document page. Use the value of SelectionStatus to determine the status of the selection element.

      • SIGNATURE - The location and confidene score of a signature detected on a document page. Can be returned as part of a Key-Value pair or a detected cell.

      • QUERY - A question asked during the call of AnalyzeDocument. Contains an alias and an ID that attaches it to its answer.

      • QUERY_RESULT - A response to a question asked during the call of analyze document. Comes with an alias and ID for ease of locating in a response. Also contains location and confidence score.

      " + "documentation":"

      The type of text item that's recognized. In operations for text detection, the following types are returned:

      • PAGE - Contains a list of the LINE Block objects that are detected on a document page.

      • WORD - A word detected on a document page. A word is one or more ISO basic Latin script characters that aren't separated by spaces.

      • LINE - A string of tab-delimited, contiguous words that are detected on a document page.

      In text analysis operations, the following types are returned:

      • PAGE - Contains a list of child Block objects that are detected on a document page.

      • KEY_VALUE_SET - Stores the KEY and VALUE Block objects for linked text that's detected on a document page. Use the EntityType field to determine if a KEY_VALUE_SET object is a KEY Block object or a VALUE Block object.

      • WORD - A word that's detected on a document page. A word is one or more ISO basic Latin script characters that aren't separated by spaces.

      • LINE - A string of tab-delimited, contiguous words that are detected on a document page.

      • TABLE - A table that's detected on a document page. A table is grid-based information with two or more rows or columns, with a cell span of one row and one column each.

      • TABLE_TITLE - The title of a table. A title is typically a line of text above or below a table, or embedded as the first row of a table.

      • TABLE_FOOTER - The footer associated with a table. A footer is typically a line or lines of text below a table or embedded as the last row of a table.

      • CELL - A cell within a detected table. The cell is the parent of the block that contains the text in the cell.

      • MERGED_CELL - A cell in a table whose content spans more than one row or column. The Relationships array for this cell contain data from individual cells.

      • SELECTION_ELEMENT - A selection element such as an option button (radio button) or a check box that's detected on a document page. Use the value of SelectionStatus to determine the status of the selection element.

      • SIGNATURE - The location and confidence score of a signature detected on a document page. Can be returned as part of a Key-Value pair or a detected cell.

      • QUERY - A question asked during the call of AnalyzeDocument. Contains an alias and an ID that attaches it to its answer.

      • QUERY_RESULT - A response to a question asked during the call of analyze document. Comes with an alias and ID for ease of locating in a response. Also contains location and confidence score.

      " }, "Confidence":{ "shape":"Percent", @@ -472,7 +472,7 @@ }, "Page":{ "shape":"UInteger", - "documentation":"

      The page on which a block was detected. Page is returned by synchronous and asynchronous operations. Page values greater than 1 are only returned for multipage documents that are in PDF or TIFF format. A scanned image (JPEG/PNG) provided to an asynchronous operation, even if it contains multiple document pages, is considered a single-page document. This means that for scanned images the value of Page is always 1. Synchronous operations will also return a Page value of 1 because every input document is considered to be a single-page document.

      " + "documentation":"

      The page on which a block was detected. Page is returned by synchronous and asynchronous operations. Page values greater than 1 are only returned for multipage documents that are in PDF or TIFF format. A scanned image (JPEG/PNG) provided to an asynchronous operation, even if it contains multiple document pages, is considered a single-page document. This means that for scanned images the value of Page is always 1.

      " }, "Query":{ "shape":"Query", @@ -501,7 +501,17 @@ "QUERY_RESULT", "SIGNATURE", "TABLE_TITLE", - "TABLE_FOOTER" + "TABLE_FOOTER", + "LAYOUT_TEXT", + "LAYOUT_TITLE", + "LAYOUT_HEADER", + "LAYOUT_FOOTER", + "LAYOUT_SECTION_HEADER", + "LAYOUT_PAGE_NUMBER", + "LAYOUT_LIST", + "LAYOUT_FIGURE", + "LAYOUT_TABLE", + "LAYOUT_KEY_VALUE" ] }, "BoundingBox":{ @@ -820,7 +830,8 @@ "TABLES", "FORMS", "QUERIES", - "SIGNATURES" + "SIGNATURES", + "LAYOUT" ] }, "FeatureTypes":{ diff --git a/services/timestreamquery/pom.xml b/services/timestreamquery/pom.xml index c514e8a9ee92..7dbe6b6ce04c 100644 --- a/services/timestreamquery/pom.xml +++ b/services/timestreamquery/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT timestreamquery AWS Java SDK :: Services :: Timestream Query diff --git a/services/timestreamquery/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/timestreamquery/src/main/resources/codegen-resources/endpoint-rule-set.json index edfe58fd52c7..325fff3b59ae 100644 --- a/services/timestreamquery/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/timestreamquery/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "parseURL", + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,221 +140,175 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://query.timestream-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] }, { "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] - }, + } + ], + "type": "tree", + "rules": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://query.timestream-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://query.timestream-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://query.timestream-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://query.timestream.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://query.timestream.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://query.timestream.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://query.timestream.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/timestreamquery/src/main/resources/codegen-resources/endpoint-tests.json b/services/timestreamquery/src/main/resources/codegen-resources/endpoint-tests.json index 91c92af29cd0..da7e3111d85a 100644 --- a/services/timestreamquery/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/timestreamquery/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,16 +1,281 @@ { "testCases": [ { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://query.timestream-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://query.timestream-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://query.timestream.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://query.timestream.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://query.timestream-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://query.timestream-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://query.timestream.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://query.timestream.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://query.timestream-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://query.timestream-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://query.timestream.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://query.timestream.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://query.timestream-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://query.timestream.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://query.timestream-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://query.timestream.us-isob-east-1.sc2s.sgov.gov" + } + }, + "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": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -20,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -32,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/timestreamwrite/pom.xml b/services/timestreamwrite/pom.xml index 150d9d1b4c98..09d26c455c99 100644 --- a/services/timestreamwrite/pom.xml +++ b/services/timestreamwrite/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT timestreamwrite AWS Java SDK :: Services :: Timestream Write diff --git a/services/timestreamwrite/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/timestreamwrite/src/main/resources/codegen-resources/endpoint-rule-set.json index 77212ec373e1..f68929199c41 100644 --- a/services/timestreamwrite/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/timestreamwrite/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,92 +140,83 @@ { "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", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://ingest.timestream-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://ingest.timestream-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 + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], @@ -221,130 +225,115 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, + "aws-us-gov", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] } ] } ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://ingest.timestream-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] + "endpoint": { + "url": "https://ingest.timestream.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://ingest.timestream-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://ingest.timestream.{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://ingest.timestream.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://ingest.timestream.{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://ingest.timestream.{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/services/timestreamwrite/src/main/resources/codegen-resources/endpoint-tests.json b/services/timestreamwrite/src/main/resources/codegen-resources/endpoint-tests.json index 37439a64a27a..c0d97159385f 100644 --- a/services/timestreamwrite/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/timestreamwrite/src/main/resources/codegen-resources/endpoint-tests.json @@ -104,6 +104,32 @@ "UseDualStack": false } }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ingest.timestream.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ingest.timestream.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": false + } + }, { "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { @@ -121,7 +147,7 @@ "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://ingest.timestream-fips.us-gov-east-1.amazonaws.com" + "url": "https://ingest.timestream.us-gov-east-1.amazonaws.com" } }, "params": { diff --git a/services/tnb/pom.xml b/services/tnb/pom.xml index 1574128b71d0..1ce73485f297 100644 --- a/services/tnb/pom.xml +++ b/services/tnb/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT tnb AWS Java SDK :: Services :: Tnb diff --git a/services/tnb/src/main/resources/codegen-resources/endpoint-tests.json b/services/tnb/src/main/resources/codegen-resources/endpoint-tests.json index 777e258d27ce..ec1704312a86 100644 --- a/services/tnb/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/tnb/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,54 +1,54 @@ { "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://tnb-fips.us-gov-east-1.api.aws" + "url": "https://tnb-fips.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": 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://tnb-fips.us-gov-east-1.amazonaws.com" + "url": "https://tnb-fips.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "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://tnb.us-gov-east-1.api.aws" + "url": "https://tnb.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "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://tnb.us-gov-east-1.amazonaws.com" + "url": "https://tnb.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-gov-east-1", "UseDualStack": false } }, @@ -60,8 +60,8 @@ } }, "params": { - "UseFIPS": true, "Region": "cn-north-1", + "UseFIPS": true, "UseDualStack": true } }, @@ -73,8 +73,8 @@ } }, "params": { - "UseFIPS": true, "Region": "cn-north-1", + "UseFIPS": true, "UseDualStack": false } }, @@ -86,8 +86,8 @@ } }, "params": { - "UseFIPS": false, "Region": "cn-north-1", + "UseFIPS": false, "UseDualStack": true } }, @@ -99,108 +99,108 @@ } }, "params": { - "UseFIPS": false, "Region": "cn-north-1", + "UseFIPS": false, "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://tnb-fips.us-gov-east-1.api.aws" + } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": 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://tnb-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://tnb-fips.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "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://tnb.us-gov-east-1.api.aws" + } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "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://tnb.us-iso-east-1.c2s.ic.gov" + "url": "https://tnb.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": 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://tnb-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, - "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://tnb-fips.us-east-1.amazonaws.com" + "url": "https://tnb-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "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://tnb.us-east-1.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "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://tnb.us-east-1.amazonaws.com" + "url": "https://tnb.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "us-east-1", "UseDualStack": false } }, @@ -210,8 +210,8 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseFIPS": true, "Region": "us-isob-east-1", + "UseFIPS": true, "UseDualStack": true } }, @@ -223,8 +223,8 @@ } }, "params": { - "UseFIPS": true, "Region": "us-isob-east-1", + "UseFIPS": true, "UseDualStack": false } }, @@ -234,8 +234,8 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseFIPS": false, "Region": "us-isob-east-1", + "UseFIPS": false, "UseDualStack": true } }, @@ -247,21 +247,34 @@ } }, "params": { - "UseFIPS": false, "Region": "us-isob-east-1", + "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, "UseDualStack": false, "Endpoint": "https://example.com" } @@ -272,8 +285,8 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, "UseDualStack": false, "Endpoint": "https://example.com" } @@ -284,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/transcribe/pom.xml b/services/transcribe/pom.xml index 5e4bfa8a7d54..862619786977 100644 --- a/services/transcribe/pom.xml +++ b/services/transcribe/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT transcribe AWS Java SDK :: Services :: Transcribe diff --git a/services/transcribe/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/transcribe/src/main/resources/codegen-resources/endpoint-rule-set.json index 6481376ce5a3..0589babab4de 100644 --- a/services/transcribe/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/transcribe/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,92 +140,83 @@ { "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://transcribe-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://transcribe-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 + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], @@ -221,218 +225,178 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, + "aws", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] } ] } ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - "aws", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://fips.transcribe.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - "aws-us-gov", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://fips.transcribe.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://transcribe-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] + "endpoint": { + "url": "https://fips.transcribe.{Region}.amazonaws.com", + "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", + "fn": "stringEquals", "argv": [ - true, + "aws-us-gov", { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsDualStack" + "name" ] } ] } ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://transcribe.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] + "endpoint": { + "url": "https://fips.transcribe.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://transcribe-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] }, { "conditions": [], - "type": "tree", - "rules": [ + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "cn-north-1" - ] - } - ], - "endpoint": { - "url": "https://cn.transcribe.cn-north-1.amazonaws.com.cn", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "ref": "UseDualStack" }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ + true, { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ { - "ref": "Region" + "ref": "PartitionResult" }, - "cn-northwest-1" + "supportsDualStack" ] } - ], - "endpoint": { - "url": "https://cn.transcribe.cn-northwest-1.amazonaws.com.cn", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, + ] + } + ], + "type": "tree", + "rules": [ { "conditions": [], "endpoint": { - "url": "https://transcribe.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://transcribe.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "cn-north-1" + ] + } + ], + "endpoint": { + "url": "https://cn.transcribe.cn-north-1.amazonaws.com.cn", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "cn-northwest-1" + ] + } + ], + "endpoint": { + "url": "https://cn.transcribe.cn-northwest-1.amazonaws.com.cn", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://transcribe.{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/services/transcribestreaming/pom.xml b/services/transcribestreaming/pom.xml index 0fadfbf3b8b6..833f0de14c55 100644 --- a/services/transcribestreaming/pom.xml +++ b/services/transcribestreaming/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT transcribestreaming AWS Java SDK :: Services :: AWS Transcribe Streaming diff --git a/services/transcribestreaming/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/transcribestreaming/src/main/resources/codegen-resources/endpoint-rule-set.json index 90ff373440dd..9d7fc853ec7a 100644 --- a/services/transcribestreaming/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/transcribestreaming/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,85 +45,20 @@ { "conditions": [ { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - }, - { - "fn": "parseURL", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } - ], - "assign": "url" - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "ref": "UseFIPS" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + true ] } - ] + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" }, { "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, { "fn": "booleanEquals", "argv": [ @@ -135,71 +69,45 @@ ] } ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://transcribestreaming-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" + "ref": "Region" } ] - }, + } + ], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ { - "ref": "UseFIPS" - }, - true - ] + "ref": "Region" + } + ], + "assign": "PartitionResult" } ], "type": "tree", @@ -209,101 +117,111 @@ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ + true, { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ { - "ref": "Region" + "ref": "PartitionResult" }, - "transcribestreaming-ca-central-1" + "supportsFIPS" ] } - ], - "endpoint": { - "url": "https://transcribestreaming-fips.ca-central-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + ] }, { - "conditions": [ + "fn": "booleanEquals", + "argv": [ + true, { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ { - "ref": "Region" + "ref": "PartitionResult" }, - "transcribestreaming-us-east-1" + "supportsDualStack" ] } - ], - "endpoint": { - "url": "https://transcribestreaming-fips.us-east-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, + ] + } + ], + "type": "tree", + "rules": [ { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "transcribestreaming-us-east-2" - ] - } - ], + "conditions": [], "endpoint": { - "url": "https://transcribestreaming-fips.us-east-2.amazonaws.com", + "url": "https://transcribestreaming-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": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ + true, { - "fn": "stringEquals", + "fn": "getAttr", "argv": [ { - "ref": "Region" + "ref": "PartitionResult" }, - "transcribestreaming-us-west-2" + "supportsFIPS" ] } - ], - "endpoint": { - "url": "https://transcribestreaming-fips.us-west-2.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, + ] + } + ], + "type": "tree", + "rules": [ { "conditions": [], "endpoint": { @@ -314,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://transcribestreaming.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://transcribestreaming.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://transcribestreaming.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://transcribestreaming.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/transcribestreaming/src/main/resources/codegen-resources/endpoint-tests.json b/services/transcribestreaming/src/main/resources/codegen-resources/endpoint-tests.json index 7694bb18faf7..53b474354a7d 100644 --- a/services/transcribestreaming/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/transcribestreaming/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,94 +1,42 @@ { "testCases": [ { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-gov-east-1" - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-gov-east-1" - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming.us-gov-east-1.api.aws" + "url": "https://transcribestreaming.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "ap-northeast-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming.us-gov-east-1.amazonaws.com" + "url": "https://transcribestreaming.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-northeast-2", "UseFIPS": false, - "Region": "us-gov-east-1" - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ca-central-1" - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ca-central-1" + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming.ca-central-1.api.aws" + "url": "https://transcribestreaming.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "ap-southeast-2", "UseFIPS": false, - "Region": "ca-central-1" + "UseDualStack": false } }, { @@ -99,48 +47,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "ca-central-1", "UseFIPS": false, - "Region": "ca-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { @@ -151,100 +60,22 @@ } }, "params": { - "UseDualStack": false, + "Region": "eu-central-1", "UseFIPS": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-west-2" - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-west-2" - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-west-2" - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-west-2" - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-west-2" - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-west-2" - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming.eu-west-2.api.aws" + "url": "https://transcribestreaming.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "eu-west-1", "UseFIPS": false, - "Region": "eu-west-2" + "UseDualStack": false } }, { @@ -255,217 +86,126 @@ } }, "params": { - "UseDualStack": false, + "Region": "eu-west-2", "UseFIPS": false, - "Region": "eu-west-2" - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-west-1" - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-west-1" + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming.eu-west-1.api.aws" + "url": "https://transcribestreaming.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "sa-east-1", "UseFIPS": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming.eu-west-1.amazonaws.com" + "url": "https://transcribestreaming.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "eu-west-1" - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-northeast-2" - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming.ap-northeast-2.api.aws" + "url": "https://transcribestreaming.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "us-east-2", "UseFIPS": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming.ap-northeast-2.amazonaws.com" + "url": "https://transcribestreaming.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-west-2", "UseFIPS": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://transcribestreaming-fips.ap-northeast-1.api.aws" + "url": "https://transcribestreaming-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": true, - "Region": "ap-northeast-1" + "UseDualStack": true } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming-fips.ap-northeast-1.amazonaws.com" + "url": "https://transcribestreaming-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": true, - "Region": "ap-northeast-1" - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://transcribestreaming.ap-northeast-1.amazonaws.com" + "url": "https://transcribestreaming.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "ap-northeast-1" - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "sa-east-1" - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "sa-east-1" + "UseDualStack": true } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming.sa-east-1.api.aws" + "url": "https://transcribestreaming.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming.sa-east-1.amazonaws.com" + "url": "https://transcribestreaming.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-northwest-1", "UseFIPS": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { @@ -476,9 +216,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -489,9 +229,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -502,61 +242,22 @@ } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": true } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "cn-north-1" - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.us-gov-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-gov-west-1" - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-gov-west-1" - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming.us-gov-west-1.api.aws" + "url": "https://transcribestreaming.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { @@ -567,61 +268,61 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-gov-west-1", "UseFIPS": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://transcribestreaming-fips.ap-southeast-2.api.aws" + "url": "https://transcribestreaming-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "ap-southeast-2" + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming-fips.ap-southeast-2.amazonaws.com" + "url": "https://transcribestreaming-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://transcribestreaming.ap-southeast-2.api.aws" + "url": "https://transcribestreaming.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "ap-southeast-2" + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming.ap-southeast-2.amazonaws.com" + "url": "https://transcribestreaming.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { @@ -630,9 +331,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "us-iso-east-1" + "UseDualStack": true } }, { @@ -643,9 +344,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { @@ -654,191 +355,83 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "us-iso-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://transcribestreaming.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-iso-east-1" - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.us-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-east-1" - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.us-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-east-1" - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming.us-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-east-1" - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming.us-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-east-1" - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.us-east-2.api.aws" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "us-east-2" + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming-fips.us-east-2.amazonaws.com" + "url": "https://transcribestreaming-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "us-east-2" + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://transcribestreaming.us-east-2.api.aws" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "us-east-2" + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming.us-east-2.amazonaws.com" + "url": "https://transcribestreaming.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "us-east-2" - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.cn-northwest-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "cn-northwest-1" - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming-fips.cn-northwest-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "cn-northwest-1" + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://transcribestreaming.cn-northwest-1.api.amazonwebservices.com.cn" + "url": "https://example.com" } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": false, - "Region": "cn-northwest-1" - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://transcribestreaming.cn-northwest-1.amazonaws.com.cn" - } - }, - "params": { "UseDualStack": false, - "UseFIPS": false, - "Region": "cn-northwest-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" } }, "params": { - "UseDualStack": false, "UseFIPS": false, - "Region": "us-east-1", + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -848,9 +441,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -860,11 +453,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/transfer/pom.xml b/services/transfer/pom.xml index 4a8cb5ed4843..2606628276d2 100644 --- a/services/transfer/pom.xml +++ b/services/transfer/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT transfer AWS Java SDK :: Services :: Transfer diff --git a/services/transfer/src/main/resources/codegen-resources/service-2.json b/services/transfer/src/main/resources/codegen-resources/service-2.json index 9deccf29a34e..bd943da5bde0 100644 --- a/services/transfer/src/main/resources/codegen-resources/service-2.json +++ b/services/transfer/src/main/resources/codegen-resources/service-2.json @@ -816,7 +816,7 @@ {"shape":"InvalidRequestException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

      Tests whether your SFTP connector is set up successfully. We highly recommend that you call this operation to test your ability to transfer files between a Transfer Family server and a trading partner's SFTP server.

      " + "documentation":"

      Tests whether your SFTP connector is set up successfully. We highly recommend that you call this operation to test your ability to transfer files between local Amazon Web Services storage and a trading partner's SFTP server.

      " }, "TestIdentityProvider":{ "name":"TestIdentityProvider", @@ -1206,11 +1206,11 @@ "members":{ "HomeDirectory":{ "shape":"HomeDirectory", - "documentation":"

      The landing directory (folder) for a user when they log in to the server using the client.

      A HomeDirectory example is /bucket_name/home/mydirectory.

      " + "documentation":"

      The landing directory (folder) for a user when they log in to the server using the client.

      A HomeDirectory example is /bucket_name/home/mydirectory.

      The HomeDirectory parameter is only used if HomeDirectoryType is set to LOGICAL.

      " }, "HomeDirectoryType":{ "shape":"HomeDirectoryType", - "documentation":"

      The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients. If you set it LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS paths visible to your users.

      " + "documentation":"

      The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or Amazon EFS path as is in their file transfer protocol clients. If you set it to LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS paths visible to your users.

      If HomeDirectoryType is LOGICAL, you must provide mappings, using the HomeDirectoryMappings parameter. If, on the other hand, HomeDirectoryType is PATH, you provide an absolute path using the HomeDirectory parameter. You cannot have both HomeDirectory and HomeDirectoryMappings in your template.

      " }, "HomeDirectoryMappings":{ "shape":"HomeDirectoryMappings", @@ -1473,11 +1473,11 @@ "members":{ "HomeDirectory":{ "shape":"HomeDirectory", - "documentation":"

      The landing directory (folder) for a user when they log in to the server using the client.

      A HomeDirectory example is /bucket_name/home/mydirectory.

      " + "documentation":"

      The landing directory (folder) for a user when they log in to the server using the client.

      A HomeDirectory example is /bucket_name/home/mydirectory.

      The HomeDirectory parameter is only used if HomeDirectoryType is set to LOGICAL.

      " }, "HomeDirectoryType":{ "shape":"HomeDirectoryType", - "documentation":"

      The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients. If you set it LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS paths visible to your users.

      " + "documentation":"

      The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or Amazon EFS path as is in their file transfer protocol clients. If you set it to LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS paths visible to your users.

      If HomeDirectoryType is LOGICAL, you must provide mappings, using the HomeDirectoryMappings parameter. If, on the other hand, HomeDirectoryType is PATH, you provide an absolute path using the HomeDirectory parameter. You cannot have both HomeDirectory and HomeDirectoryMappings in your template.

      " }, "HomeDirectoryMappings":{ "shape":"HomeDirectoryMappings", @@ -2067,7 +2067,7 @@ "members":{ "HomeDirectory":{ "shape":"HomeDirectory", - "documentation":"

      The landing directory (folder) for a user when they log in to the server using the client.

      A HomeDirectory example is /bucket_name/home/mydirectory.

      " + "documentation":"

      The landing directory (folder) for a user when they log in to the server using the client.

      A HomeDirectory example is /bucket_name/home/mydirectory.

      The HomeDirectory parameter is only used if HomeDirectoryType is set to LOGICAL.

      " }, "HomeDirectoryMappings":{ "shape":"HomeDirectoryMappings", @@ -2075,7 +2075,7 @@ }, "HomeDirectoryType":{ "shape":"HomeDirectoryType", - "documentation":"

      The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients. If you set it LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS paths visible to your users.

      " + "documentation":"

      The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or Amazon EFS path as is in their file transfer protocol clients. If you set it to LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS paths visible to your users.

      If HomeDirectoryType is LOGICAL, you must provide mappings, using the HomeDirectoryMappings parameter. If, on the other hand, HomeDirectoryType is PATH, you provide an absolute path using the HomeDirectory parameter. You cannot have both HomeDirectory and HomeDirectoryMappings in your template.

      " }, "Policy":{ "shape":"Policy", @@ -2471,7 +2471,7 @@ }, "HomeDirectory":{ "shape":"HomeDirectory", - "documentation":"

      The landing directory (folder) for a user when they log in to the server using the client.

      A HomeDirectory example is /bucket_name/home/mydirectory.

      " + "documentation":"

      The landing directory (folder) for a user when they log in to the server using the client.

      A HomeDirectory example is /bucket_name/home/mydirectory.

      The HomeDirectory parameter is only used if HomeDirectoryType is set to LOGICAL.

      " }, "HomeDirectoryMappings":{ "shape":"HomeDirectoryMappings", @@ -2479,7 +2479,7 @@ }, "HomeDirectoryType":{ "shape":"HomeDirectoryType", - "documentation":"

      The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients. If you set it LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS paths visible to your users.

      " + "documentation":"

      The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or Amazon EFS path as is in their file transfer protocol clients. If you set it to LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS paths visible to your users.

      If HomeDirectoryType is LOGICAL, you must provide mappings, using the HomeDirectoryMappings parameter. If, on the other hand, HomeDirectoryType is PATH, you provide an absolute path using the HomeDirectory parameter. You cannot have both HomeDirectory and HomeDirectoryMappings in your template.

      " }, "Policy":{ "shape":"Policy", @@ -3003,7 +3003,7 @@ "members":{ "Message":{"shape":"Message"} }, - "documentation":"

      This exception is thrown when an error occurs in the Amazon Web ServicesTransfer Family service.

      ", + "documentation":"

      This exception is thrown when an error occurs in the Transfer Family service.

      ", "exception":true, "fault":true }, @@ -3358,7 +3358,7 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

      When you can get additional results from the ListUsers call, a NextToken parameter is returned in the output. You can then pass in a subsequent command to the NextToken parameter to continue listing additional users.

      " + "documentation":"

      If there are additional results from the ListUsers call, a NextToken parameter is returned in the output. You can then pass the NextToken to a subsequent ListUsers command, to continue listing additional users.

      " }, "ServerId":{ "shape":"ServerId", @@ -3419,11 +3419,11 @@ "members":{ "HomeDirectory":{ "shape":"HomeDirectory", - "documentation":"

      The landing directory (folder) for a user when they log in to the server using the client.

      A HomeDirectory example is /bucket_name/home/mydirectory.

      " + "documentation":"

      The landing directory (folder) for a user when they log in to the server using the client.

      A HomeDirectory example is /bucket_name/home/mydirectory.

      The HomeDirectory parameter is only used if HomeDirectoryType is set to LOGICAL.

      " }, "HomeDirectoryType":{ "shape":"HomeDirectoryType", - "documentation":"

      The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients. If you set it LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS paths visible to your users.

      " + "documentation":"

      The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or Amazon EFS path as is in their file transfer protocol clients. If you set it to LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS paths visible to your users.

      If HomeDirectoryType is LOGICAL, you must provide mappings, using the HomeDirectoryMappings parameter. If, on the other hand, HomeDirectoryType is PATH, you provide an absolute path using the HomeDirectory parameter. You cannot have both HomeDirectory and HomeDirectoryMappings in your template.

      " }, "Role":{ "shape":"Role", @@ -3682,11 +3682,11 @@ }, "HomeDirectory":{ "shape":"HomeDirectory", - "documentation":"

      The landing directory (folder) for a user when they log in to the server using the client.

      A HomeDirectory example is /bucket_name/home/mydirectory.

      " + "documentation":"

      The landing directory (folder) for a user when they log in to the server using the client.

      A HomeDirectory example is /bucket_name/home/mydirectory.

      The HomeDirectory parameter is only used if HomeDirectoryType is set to LOGICAL.

      " }, "HomeDirectoryType":{ "shape":"HomeDirectoryType", - "documentation":"

      The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients. If you set it LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS paths visible to your users.

      " + "documentation":"

      The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or Amazon EFS path as is in their file transfer protocol clients. If you set it to LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS paths visible to your users.

      If HomeDirectoryType is LOGICAL, you must provide mappings, using the HomeDirectoryMappings parameter. If, on the other hand, HomeDirectoryType is PATH, you provide an absolute path using the HomeDirectory parameter. You cannot have both HomeDirectory and HomeDirectoryMappings in your template.

      " }, "Role":{ "shape":"Role", @@ -3853,12 +3853,12 @@ }, "PostAuthenticationLoginBanner":{ "type":"string", - "max":512, + "max":4096, "pattern":"[\\x09-\\x0D\\x20-\\x7E]*" }, "PreAuthenticationLoginBanner":{ "type":"string", - "max":512, + "max":4096, "pattern":"[\\x09-\\x0D\\x20-\\x7E]*" }, "PrivateKeyType":{ @@ -3931,7 +3931,7 @@ "Resource":{"shape":"Resource"}, "ResourceType":{"shape":"ResourceType"} }, - "documentation":"

      The requested resource does not exist.

      ", + "documentation":"

      The requested resource does not exist, or exists in a region other than the one specified for the command.

      ", "exception":true }, "ResourceNotFoundException":{ @@ -4181,7 +4181,7 @@ }, "TrustedHostKeys":{ "shape":"SftpConnectorTrustedHostKeyList", - "documentation":"

      The public portion of the host key, or keys, that are used to authenticate the user to the external server to which you are connecting. You can use the ssh-keyscan command against the SFTP server to retrieve the necessary key.

      The three standard SSH public key format elements are <key type>, <body base64>, and an optional <comment>, with spaces between each element.

      For the trusted host key, Transfer Family accepts RSA and ECDSA keys.

      • For RSA keys, the key type is ssh-rsa.

      • For ECDSA keys, the key type is either ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, or ecdsa-sha2-nistp521, depending on the size of the key you generated.

      " + "documentation":"

      The public portion of the host key, or keys, that are used to identify the external server to which you are connecting. You can use the ssh-keyscan command against the SFTP server to retrieve the necessary key.

      The three standard SSH public key format elements are <key type>, <body base64>, and an optional <comment>, with spaces between each element. Specify only the <key type> and <body base64>: do not enter the <comment> portion of the key.

      For the trusted host key, Transfer Family accepts RSA and ECDSA keys.

      • For RSA keys, the <key type> string is ssh-rsa.

      • For ECDSA keys, the <key type> string is either ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, or ecdsa-sha2-nistp521, depending on the size of the key you generated.

      " } }, "documentation":"

      Contains the details for an SFTP connector object. The connector object is used for transferring files to and from a partner's SFTP server.

      " @@ -4437,7 +4437,7 @@ }, "StatusMessage":{ "shape":"Message", - "documentation":"

      Returns Connection succeeded if the test is successful. Or, returns a descriptive error message if the test fails. The following list provides the details for some error messages and troubleshooting steps for each.

      • Unable to access secrets manager: Verify that your secret name aligns with the one in Transfer Role permissions.

      • Unknown Host/Connection failed: Verify the server URL in the connector configuration , and verify that the login credentials work successfully outside of the connector.

      • Private key not found: Verify that the secret exists and is formatted correctly.

      • Invalid trusted host keys: Verify that the trusted host key in the connector configuration matches the ssh-keyscan output.

      " + "documentation":"

      Returns Connection succeeded if the test is successful. Or, returns a descriptive error message if the test fails. The following list provides troubleshooting details, depending on the error message that you receive.

      • Verify that your secret name aligns with the one in Transfer Role permissions.

      • Verify the server URL in the connector configuration , and verify that the login credentials work successfully outside of the connector.

      • Verify that the secret exists and is formatted correctly.

      • Verify that the trusted host key in the connector configuration matches the ssh-keyscan output.

      " } } }, @@ -4543,11 +4543,11 @@ "members":{ "HomeDirectory":{ "shape":"HomeDirectory", - "documentation":"

      The landing directory (folder) for a user when they log in to the server using the client.

      A HomeDirectory example is /bucket_name/home/mydirectory.

      " + "documentation":"

      The landing directory (folder) for a user when they log in to the server using the client.

      A HomeDirectory example is /bucket_name/home/mydirectory.

      The HomeDirectory parameter is only used if HomeDirectoryType is set to LOGICAL.

      " }, "HomeDirectoryType":{ "shape":"HomeDirectoryType", - "documentation":"

      The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients. If you set it LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS paths visible to your users.

      " + "documentation":"

      The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or Amazon EFS path as is in their file transfer protocol clients. If you set it to LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS paths visible to your users.

      If HomeDirectoryType is LOGICAL, you must provide mappings, using the HomeDirectoryMappings parameter. If, on the other hand, HomeDirectoryType is PATH, you provide an absolute path using the HomeDirectory parameter. You cannot have both HomeDirectory and HomeDirectoryMappings in your template.

      " }, "HomeDirectoryMappings":{ "shape":"HomeDirectoryMappings", @@ -4856,11 +4856,11 @@ "members":{ "HomeDirectory":{ "shape":"HomeDirectory", - "documentation":"

      The landing directory (folder) for a user when they log in to the server using the client.

      A HomeDirectory example is /bucket_name/home/mydirectory.

      " + "documentation":"

      The landing directory (folder) for a user when they log in to the server using the client.

      A HomeDirectory example is /bucket_name/home/mydirectory.

      The HomeDirectory parameter is only used if HomeDirectoryType is set to LOGICAL.

      " }, "HomeDirectoryType":{ "shape":"HomeDirectoryType", - "documentation":"

      The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or EFS paths as is in their file transfer protocol clients. If you set it LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS paths visible to your users.

      " + "documentation":"

      The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to PATH, the user will see the absolute Amazon S3 bucket or Amazon EFS path as is in their file transfer protocol clients. If you set it to LOGICAL, you need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 or Amazon EFS paths visible to your users.

      If HomeDirectoryType is LOGICAL, you must provide mappings, using the HomeDirectoryMappings parameter. If, on the other hand, HomeDirectoryType is PATH, you provide an absolute path using the HomeDirectory parameter. You cannot have both HomeDirectory and HomeDirectoryMappings in your template.

      " }, "HomeDirectoryMappings":{ "shape":"HomeDirectoryMappings", diff --git a/services/translate/pom.xml b/services/translate/pom.xml index b05af6ec7a13..52d201968cea 100644 --- a/services/translate/pom.xml +++ b/services/translate/pom.xml @@ -20,7 +20,7 @@ services software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 translate diff --git a/services/translate/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/translate/src/main/resources/codegen-resources/endpoint-rule-set.json index 44b476b069c4..777ad96fd4f2 100644 --- a/services/translate/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/translate/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://translate-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://translate-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://translate-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://translate-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://translate.{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://translate.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://translate.{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://translate.{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/services/verifiedpermissions/pom.xml b/services/verifiedpermissions/pom.xml index e1ee1c46881e..c04f56badb9d 100644 --- a/services/verifiedpermissions/pom.xml +++ b/services/verifiedpermissions/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT verifiedpermissions AWS Java SDK :: Services :: Verified Permissions diff --git a/services/voiceid/pom.xml b/services/voiceid/pom.xml index 7c64da1e4aff..97c3aa2a8e95 100644 --- a/services/voiceid/pom.xml +++ b/services/voiceid/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT voiceid AWS Java SDK :: Services :: Voice ID diff --git a/services/voiceid/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/voiceid/src/main/resources/codegen-resources/endpoint-rule-set.json index 4405db0b24e9..da986e0645be 100644 --- a/services/voiceid/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/voiceid/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://voiceid-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://voiceid-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://voiceid-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://voiceid-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://voiceid.{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://voiceid.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://voiceid.{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://voiceid.{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/services/voiceid/src/main/resources/codegen-resources/endpoint-tests.json b/services/voiceid/src/main/resources/codegen-resources/endpoint-tests.json index 07cfaef5945b..30745d91bfe1 100644 --- a/services/voiceid/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/voiceid/src/main/resources/codegen-resources/endpoint-tests.json @@ -8,9 +8,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "ap-northeast-1", "UseFIPS": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { @@ -21,9 +21,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "ap-southeast-1", "UseFIPS": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { @@ -34,9 +34,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "ap-southeast-2", "UseFIPS": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { @@ -47,9 +47,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "eu-central-1", "UseFIPS": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { @@ -60,9 +60,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "eu-west-2", "UseFIPS": false, - "Region": "eu-west-2" + "UseDualStack": false } }, { @@ -73,9 +73,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -86,9 +86,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-west-2", "UseFIPS": false, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -99,9 +99,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -112,9 +112,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -125,9 +125,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -138,9 +138,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -151,9 +151,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -164,9 +164,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -177,9 +177,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -190,9 +190,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -203,9 +203,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -216,9 +216,9 @@ } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -229,9 +229,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -240,9 +240,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "us-iso-east-1" + "UseDualStack": true } }, { @@ -253,9 +253,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { @@ -264,9 +264,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "us-iso-east-1" + "UseDualStack": true } }, { @@ -277,9 +277,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { @@ -288,9 +288,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { @@ -301,9 +301,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -312,9 +312,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { @@ -325,9 +325,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -338,9 +338,9 @@ } }, "params": { - "UseDualStack": false, - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -352,8 +352,8 @@ } }, "params": { - "UseDualStack": false, "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -363,9 +363,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -375,9 +375,9 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } }, diff --git a/services/vpclattice/pom.xml b/services/vpclattice/pom.xml index 15ef6b3975ff..2657a16f549f 100644 --- a/services/vpclattice/pom.xml +++ b/services/vpclattice/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT vpclattice AWS Java SDK :: Services :: VPC Lattice diff --git a/services/waf/pom.xml b/services/waf/pom.xml index bc372f041716..50a27b570787 100644 --- a/services/waf/pom.xml +++ b/services/waf/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT waf AWS Java SDK :: Services :: AWS WAF diff --git a/services/waf/src/main/resources/codegen-resources/waf/endpoint-rule-set.json b/services/waf/src/main/resources/codegen-resources/waf/endpoint-rule-set.json index f1d395893238..93b40c194beb 100644 --- a/services/waf/src/main/resources/codegen-resources/waf/endpoint-rule-set.json +++ b/services/waf/src/main/resources/codegen-resources/waf/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,94 +45,175 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "parseURL", + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", "rules": [ { "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws" + ] + }, { "fn": "booleanEquals", "argv": [ { "ref": "UseFIPS" }, - true + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": "https://waf.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "waf", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" }, { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "stringEquals", + "argv": [ { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ { - "ref": "UseDualStack" + "ref": "PartitionResult" }, - true + "name" ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + }, + "aws" + ] }, { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ + true + ] + }, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "name" + false + ] + } + ], + "endpoint": { + "url": "https://waf-fips.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "waf", + "signingRegion": "us-east-1" + } ] }, - "aws" - ] - } - ], - "type": "tree", - "rules": [ + "headers": {} + }, + "type": "endpoint" + }, { "conditions": [ { @@ -195,16 +275,8 @@ { "conditions": [], "endpoint": { - "url": "https://waf-fips.{Region}.api.aws", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-east-1", - "signingName": "waf" - } - ] - }, + "url": "https://waf-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, "headers": {} }, "type": "endpoint" @@ -255,16 +327,8 @@ { "conditions": [], "endpoint": { - "url": "https://waf-fips.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-east-1", - "signingName": "waf" - } - ] - }, + "url": "https://waf-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, "headers": {} }, "type": "endpoint" @@ -315,16 +379,8 @@ { "conditions": [], "endpoint": { - "url": "https://waf.{Region}.api.aws", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-east-1", - "signingName": "waf" - } - ] - }, + "url": "https://waf.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, "headers": {} }, "type": "endpoint" @@ -338,296 +394,6 @@ } ] }, - { - "conditions": [], - "endpoint": { - "url": "https://waf.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-east-1", - "signingName": "waf" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://waf-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws" - ] - } - ], - "endpoint": { - "url": "https://waf-fips.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-east-1", - "signingName": "waf" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://waf-fips.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-east-1", - "signingName": "waf" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://waf-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://waf.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ] - }, - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "aws-global" - ] - } - ], - "endpoint": { - "url": "https://waf.amazonaws.com", - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-east-1", - "signingName": "waf" - } - ] - }, - "headers": {} - }, - "type": "endpoint" - }, { "conditions": [], "endpoint": { @@ -640,6 +406,11 @@ ] } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/waf/src/main/resources/codegen-resources/waf/endpoint-tests.json b/services/waf/src/main/resources/codegen-resources/waf/endpoint-tests.json index eb8c398966bc..e13c01270173 100644 --- a/services/waf/src/main/resources/codegen-resources/waf/endpoint-tests.json +++ b/services/waf/src/main/resources/codegen-resources/waf/endpoint-tests.json @@ -17,22 +17,327 @@ } }, "params": { - "UseDualStack": false, "Region": "aws-global", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region aws-global with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "waf", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://waf-fips.amazonaws.com" + } + }, + "params": { + "Region": "aws-global", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://waf-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "waf", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://waf-fips.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://waf.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "waf", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://waf.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://waf-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://waf-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://waf.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://waf.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://waf-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://waf-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://waf.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://waf.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://waf-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://waf.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://waf-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://waf.us-isob-east-1.sc2s.sgov.gov" + } + }, + "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": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -42,9 +347,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -54,11 +359,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/waf/src/main/resources/codegen-resources/wafregional/endpoint-rule-set.json b/services/waf/src/main/resources/codegen-resources/wafregional/endpoint-rule-set.json index 5e693e68eba0..91d6cda52e53 100644 --- a/services/waf/src/main/resources/codegen-resources/wafregional/endpoint-rule-set.json +++ b/services/waf/src/main/resources/codegen-resources/wafregional/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://waf-regional-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://waf-regional-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://waf-regional.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://waf-regional.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://waf-regional.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://waf-regional.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/waf/src/main/resources/codegen-resources/wafregional/endpoint-tests.json b/services/waf/src/main/resources/codegen-resources/wafregional/endpoint-tests.json index 186052ad83aa..ab8bc832c672 100644 --- a/services/waf/src/main/resources/codegen-resources/wafregional/endpoint-tests.json +++ b/services/waf/src/main/resources/codegen-resources/wafregional/endpoint-tests.json @@ -1,276 +1,276 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional-fips.ap-south-1.api.aws" + "url": "https://waf-regional.af-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true + "Region": "af-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional-fips.ap-south-1.amazonaws.com" + "url": "https://waf-regional-fips.af-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true + "Region": "af-south-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional.ap-south-1.api.aws" + "url": "https://waf-regional.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false + "Region": "ap-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional.ap-south-1.amazonaws.com" + "url": "https://waf-regional-fips.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": false + "Region": "ap-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional-fips.eu-south-1.api.aws" + "url": "https://waf-regional.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional-fips.eu-south-1.amazonaws.com" + "url": "https://waf-regional-fips.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": true + "Region": "ap-northeast-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional.eu-south-1.api.aws" + "url": "https://waf-regional.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-south-1", - "UseFIPS": false + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional.eu-south-1.amazonaws.com" + "url": "https://waf-regional-fips.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-south-1", - "UseFIPS": false + "Region": "ap-northeast-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional-fips.us-gov-east-1.api.aws" + "url": "https://waf-regional.ap-northeast-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": true + "Region": "ap-northeast-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional-fips.us-gov-east-1.amazonaws.com" + "url": "https://waf-regional-fips.ap-northeast-3.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": true + "Region": "ap-northeast-3", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional.us-gov-east-1.api.aws" + "url": "https://waf-regional.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-east-1", - "UseFIPS": false + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional.us-gov-east-1.amazonaws.com" + "url": "https://waf-regional-fips.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-east-1", - "UseFIPS": false + "Region": "ap-south-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional-fips.me-central-1.api.aws" + "url": "https://waf-regional.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "me-central-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional-fips.me-central-1.amazonaws.com" + "url": "https://waf-regional-fips.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "me-central-1", - "UseFIPS": true + "Region": "ap-southeast-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional.me-central-1.api.aws" + "url": "https://waf-regional.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "me-central-1", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional.me-central-1.amazonaws.com" + "url": "https://waf-regional-fips.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "me-central-1", - "UseFIPS": false + "Region": "ap-southeast-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional-fips.ca-central-1.api.aws" + "url": "https://waf-regional.ap-southeast-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true + "Region": "ap-southeast-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional-fips.ca-central-1.amazonaws.com" + "url": "https://waf-regional-fips.ap-southeast-3.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true + "Region": "ap-southeast-3", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional.ca-central-1.api.aws" + "url": "https://waf-regional.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, "Region": "ca-central-1", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional.ca-central-1.amazonaws.com" + "url": "https://waf-regional-fips.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, "Region": "ca-central-1", - "UseFIPS": false + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional-fips.eu-central-1.api.aws" + "url": "https://waf-regional.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, "Region": "eu-central-1", - "UseFIPS": true + "UseFIPS": false, + "UseDualStack": false } }, { @@ -281,1140 +281,599 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-central-1", - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional.eu-central-1.api.aws" + "url": "https://waf-regional.eu-north-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "eu-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional.eu-central-1.amazonaws.com" + "url": "https://waf-regional-fips.eu-north-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": false + "Region": "eu-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional-fips.us-west-1.api.aws" + "url": "https://waf-regional.eu-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true + "Region": "eu-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional-fips.us-west-1.amazonaws.com" + "url": "https://waf-regional-fips.eu-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true + "Region": "eu-south-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional.us-west-1.api.aws" + "url": "https://waf-regional.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional.us-west-1.amazonaws.com" + "url": "https://waf-regional-fips.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": false + "Region": "eu-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional-fips.us-west-2.api.aws" + "url": "https://waf-regional.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional-fips.us-west-2.amazonaws.com" + "url": "https://waf-regional-fips.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true + "Region": "eu-west-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional.us-west-2.api.aws" + "url": "https://waf-regional.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional.us-west-2.amazonaws.com" + "url": "https://waf-regional-fips.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false + "Region": "eu-west-3", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional-fips.af-south-1.api.aws" + "url": "https://waf-regional.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": true + "Region": "me-south-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional-fips.af-south-1.amazonaws.com" + "url": "https://waf-regional-fips.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": true + "Region": "me-south-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional.af-south-1.api.aws" + "url": "https://waf-regional.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "af-south-1", - "UseFIPS": false + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional.af-south-1.amazonaws.com" + "url": "https://waf-regional-fips.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "af-south-1", - "UseFIPS": false + "Region": "sa-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional-fips.eu-north-1.api.aws" + "url": "https://waf-regional.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional-fips.eu-north-1.amazonaws.com" + "url": "https://waf-regional-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional.eu-north-1.api.aws" + "url": "https://waf-regional.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": false + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://waf-regional.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://waf-regional-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://waf-regional-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://waf-regional.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://waf-regional.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://waf-regional-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://waf-regional-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://waf-regional.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://waf-regional.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://waf-regional-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://waf-regional-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://waf-regional.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://waf-regional.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://waf-regional-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://waf-regional-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://waf-regional.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://waf-regional.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-3", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://waf-regional-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://waf-regional-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://waf-regional.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://waf-regional.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://waf-regional-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://waf-regional-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://waf-regional.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://waf-regional.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://waf-regional-fips.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://waf-regional-fips.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://waf-regional.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "me-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://waf-regional.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "me-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://waf-regional-fips.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://waf-regional-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://waf-regional.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://waf-regional.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://waf-regional-fips.ap-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://waf-regional-fips.ap-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://waf-regional.ap-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://waf-regional.ap-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://waf-regional-fips.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://waf-regional-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://waf-regional.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "Region": "cn-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://waf-regional.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "Region": "cn-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional-fips.us-gov-west-1.api.aws" + "url": "https://waf-regional-fips.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "us-east-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional-fips.us-gov-west-1.amazonaws.com" + "url": "https://waf-regional.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": true + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional.us-gov-west-1.api.aws" + "url": "https://waf-regional-fips.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "us-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional.us-gov-west-1.amazonaws.com" + "url": "https://waf-regional.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-gov-west-1", - "UseFIPS": false + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional-fips.ap-southeast-1.api.aws" + "url": "https://waf-regional-fips.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-west-2", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://waf-regional-fips.ap-southeast-1.amazonaws.com" + "url": "https://waf-regional-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://waf-regional.ap-southeast-1.api.aws" + "url": "https://waf-regional.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional.ap-southeast-1.amazonaws.com" + "url": "https://waf-regional.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional-fips.ap-southeast-2.api.aws" + "url": "https://waf-regional-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional-fips.ap-southeast-2.amazonaws.com" + "url": "https://waf-regional.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": true + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional.ap-southeast-2.api.aws" + "url": "https://waf-regional-fips.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "cn-northwest-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://waf-regional.ap-southeast-2.amazonaws.com" + "url": "https://waf-regional-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-2", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://waf-regional-fips.ap-southeast-3.api.aws" + "url": "https://waf-regional.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-3", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional-fips.ap-southeast-3.amazonaws.com" + "url": "https://waf-regional.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-3", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional.ap-southeast-3.api.aws" + "url": "https://waf-regional-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "ap-southeast-3", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional.ap-southeast-3.amazonaws.com" + "url": "https://waf-regional.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "ap-southeast-3", - "UseFIPS": false + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional-fips.us-east-1.api.aws" + "url": "https://waf-regional-fips.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://waf-regional-fips.us-east-1.amazonaws.com" + "url": "https://waf-regional-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://waf-regional.us-east-1.api.aws" + "url": "https://waf-regional.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://waf-regional.us-east-1.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional-fips.us-east-2.api.aws" + "url": "https://waf-regional-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://waf-regional-fips.us-east-2.amazonaws.com" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": true + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional.us-east-2.api.aws" + "url": "https://waf-regional.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://waf-regional.us-east-2.amazonaws.com" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional-fips.cn-northwest-1.api.amazonwebservices.com.cn" + "url": "https://waf-regional-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://waf-regional-fips.cn-northwest-1.amazonaws.com.cn" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": true + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://waf-regional.cn-northwest-1.api.amazonwebservices.com.cn" + "url": "https://waf-regional.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "cn-northwest-1", - "UseFIPS": false + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://waf-regional.cn-northwest-1.amazonaws.com.cn" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, - "Region": "cn-northwest-1", - "UseFIPS": false + "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" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1424,9 +883,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1436,11 +895,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/wafv2/pom.xml b/services/wafv2/pom.xml index c8c0353c08e0..545972a6ee86 100644 --- a/services/wafv2/pom.xml +++ b/services/wafv2/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT wafv2 AWS Java SDK :: Services :: WAFV2 diff --git a/services/wafv2/src/main/resources/codegen-resources/service-2.json b/services/wafv2/src/main/resources/codegen-resources/service-2.json index f3f27e807800..87992b5f4bcf 100644 --- a/services/wafv2/src/main/resources/codegen-resources/service-2.json +++ b/services/wafv2/src/main/resources/codegen-resources/service-2.json @@ -154,7 +154,7 @@ {"shape":"WAFConfigurationWarningException"}, {"shape":"WAFExpiredManagedRuleGroupVersionException"} ], - "documentation":"

      Creates a WebACL per the specifications provided.

      A web ACL defines a collection of rules to use to inspect and control web requests. Each rule has an action defined (allow, block, or count) for requests that match the statement of the rule. In the web ACL, you assign a default action to take (allow, block) for any request that does not match any of the rules. The rules in a web ACL can be a combination of the types Rule, RuleGroup, and managed rule group. You can associate a web ACL with one or more Amazon Web Services resources to protect. The resources can be an Amazon CloudFront distribution, an Amazon API Gateway REST API, an Application Load Balancer, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance.

      " + "documentation":"

      Creates a WebACL per the specifications provided.

      A web ACL defines a collection of rules to use to inspect and control web requests. Each rule has a statement that defines what to look for in web requests and an action that WAF applies to requests that match the statement. In the web ACL, you assign a default action to take (allow, block) for any request that does not match any of the rules. The rules in a web ACL can be a combination of the types Rule, RuleGroup, and managed rule group. You can associate a web ACL with one or more Amazon Web Services resources to protect. The resources can be an Amazon CloudFront distribution, an Amazon API Gateway REST API, an Application Load Balancer, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance.

      " }, "DeleteFirewallManagerRuleGroups":{ "name":"DeleteFirewallManagerRuleGroups", @@ -931,7 +931,7 @@ {"shape":"WAFExpiredManagedRuleGroupVersionException"}, {"shape":"WAFConfigurationWarningException"} ], - "documentation":"

      Updates the specified WebACL. While updating a web ACL, WAF provides continuous coverage to the resources that you have associated with the web ACL.

      This operation completely replaces the mutable specifications that you already have for the web ACL with the ones that you provide to this call.

      To modify a web ACL, do the following:

      1. Retrieve it by calling GetWebACL

      2. Update its settings as needed

      3. Provide the complete web ACL specification to this call

      When you make changes to web ACLs or web ACL components, like rules and rule groups, WAF propagates the changes everywhere that the web ACL and its components are stored and used. Your changes are applied within seconds, but there might be a brief period of inconsistency when the changes have arrived in some places and not in others. So, for example, if you change a rule action setting, the action might be the old action in one area and the new action in another area. Or if you add an IP address to an IP set used in a blocking rule, the new address might briefly be blocked in one area while still allowed in another. This temporary inconsistency can occur when you first associate a web ACL with an Amazon Web Services resource and when you change a web ACL that is already associated with a resource. Generally, any inconsistencies of this type last only a few seconds.

      A web ACL defines a collection of rules to use to inspect and control web requests. Each rule has an action defined (allow, block, or count) for requests that match the statement of the rule. In the web ACL, you assign a default action to take (allow, block) for any request that does not match any of the rules. The rules in a web ACL can be a combination of the types Rule, RuleGroup, and managed rule group. You can associate a web ACL with one or more Amazon Web Services resources to protect. The resources can be an Amazon CloudFront distribution, an Amazon API Gateway REST API, an Application Load Balancer, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance.

      " + "documentation":"

      Updates the specified WebACL. While updating a web ACL, WAF provides continuous coverage to the resources that you have associated with the web ACL.

      This operation completely replaces the mutable specifications that you already have for the web ACL with the ones that you provide to this call.

      To modify a web ACL, do the following:

      1. Retrieve it by calling GetWebACL

      2. Update its settings as needed

      3. Provide the complete web ACL specification to this call

      When you make changes to web ACLs or web ACL components, like rules and rule groups, WAF propagates the changes everywhere that the web ACL and its components are stored and used. Your changes are applied within seconds, but there might be a brief period of inconsistency when the changes have arrived in some places and not in others. So, for example, if you change a rule action setting, the action might be the old action in one area and the new action in another area. Or if you add an IP address to an IP set used in a blocking rule, the new address might briefly be blocked in one area while still allowed in another. This temporary inconsistency can occur when you first associate a web ACL with an Amazon Web Services resource and when you change a web ACL that is already associated with a resource. Generally, any inconsistencies of this type last only a few seconds.

      A web ACL defines a collection of rules to use to inspect and control web requests. Each rule has a statement that defines what to look for in web requests and an action that WAF applies to requests that match the statement. In the web ACL, you assign a default action to take (allow, block) for any request that does not match any of the rules. The rules in a web ACL can be a combination of the types Rule, RuleGroup, and managed rule group. You can associate a web ACL with one or more Amazon Web Services resources to protect. The resources can be an Amazon CloudFront distribution, an Amazon API Gateway REST API, an Application Load Balancer, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance.

      " } }, "shapes":{ @@ -986,11 +986,11 @@ "members":{ "CreationPath":{ "shape":"CreationPathString", - "documentation":"

      The path of the account creation endpoint for your application. This is the page on your website that accepts the completed registration form for a new user. This page must accept POST requests.

      For example, for the URL https://example.com/web/signup, you would provide the path /web/signup.

      " + "documentation":"

      The path of the account creation endpoint for your application. This is the page on your website that accepts the completed registration form for a new user. This page must accept POST requests.

      For example, for the URL https://example.com/web/newaccount, you would provide the path /web/newaccount. Account creation page paths that start with the path that you provide are considered a match. For example /web/newaccount matches the account creation paths /web/newaccount, /web/newaccount/, /web/newaccountPage, and /web/newaccount/thisPage, but doesn't match the path /home/web/newaccount or /website/newaccount.

      " }, "RegistrationPagePath":{ "shape":"RegistrationPagePathString", - "documentation":"

      The path of the account registration endpoint for your application. This is the page on your website that presents the registration form to new users.

      This page must accept GET text/html requests.

      For example, for the URL https://example.com/web/register, you would provide the path /web/register.

      " + "documentation":"

      The path of the account registration endpoint for your application. This is the page on your website that presents the registration form to new users.

      This page must accept GET text/html requests.

      For example, for the URL https://example.com/web/registration, you would provide the path /web/registration. Registration page paths that start with the path that you provide are considered a match. For example /web/registration matches the registration paths /web/registration, /web/registration/, /web/registrationPage, and /web/registration/thisPage, but doesn't match the path /home/web/registration or /website/registration.

      " }, "RequestInspection":{ "shape":"RequestInspectionACFP", @@ -1013,7 +1013,7 @@ "members":{ "LoginPath":{ "shape":"String", - "documentation":"

      The path of the login endpoint for your application. For example, for the URL https://example.com/web/login, you would provide the path /web/login.

      The rule group inspects only HTTP POST requests to your specified login endpoint.

      " + "documentation":"

      The path of the login endpoint for your application. For example, for the URL https://example.com/web/login, you would provide the path /web/login. Login paths that start with the path that you provide are considered a match. For example /web/login matches the login paths /web/login, /web/login/, /web/loginPage, and /web/login/thisPage, but doesn't match the login path /home/web/login or /website/login.

      The rule group inspects only HTTP POST requests to your specified login endpoint.

      " }, "RequestInspection":{ "shape":"RequestInspection", @@ -1192,7 +1192,7 @@ "members":{ "SearchString":{ "shape":"SearchString", - "documentation":"

      A string value that you want WAF to search for. WAF searches only in the part of web requests that you designate for inspection in FieldToMatch. The maximum length of the value is 200 bytes.

      Valid values depend on the component that you specify for inspection in FieldToMatch:

      • Method: The HTTP method that you want WAF to search for. This indicates the type of operation specified in the request.

      • UriPath: The value that you want WAF to search for in the URI path, for example, /images/daily-ad.jpg.

      • HeaderOrder: The comma-separated list of header names to match for. WAF creates a string that contains the ordered list of header names, from the headers in the web request, and then matches against that string.

      If SearchString includes alphabetic characters A-Z and a-z, note that the value is case sensitive.

      If you're using the WAF API

      Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 200 bytes.

      For example, suppose the value of Type is HEADER and the value of Data is User-Agent. If you want to search the User-Agent header for the value BadBot, you base64-encode BadBot using MIME base64-encoding and include the resulting value, QmFkQm90, in the value of SearchString.

      If you're using the CLI or one of the Amazon Web Services SDKs

      The value that you want WAF to search for. The SDK automatically base64 encodes the value.

      " + "documentation":"

      A string value that you want WAF to search for. WAF searches only in the part of web requests that you designate for inspection in FieldToMatch. The maximum length of the value is 200 bytes.

      Valid values depend on the component that you specify for inspection in FieldToMatch:

      • Method: The HTTP method that you want WAF to search for. This indicates the type of operation specified in the request.

      • UriPath: The value that you want WAF to search for in the URI path, for example, /images/daily-ad.jpg.

      • JA3Fingerprint: Match against the request's JA3 fingerprint. The JA3 fingerprint is a 32-character hash derived from the TLS Client Hello of an incoming request. This fingerprint serves as a unique identifier for the client's TLS configuration. You can use this choice only with a string match ByteMatchStatement with the PositionalConstraint set to EXACTLY.

        You can obtain the JA3 fingerprint for client requests from the web ACL logs. If WAF is able to calculate the fingerprint, it includes it in the logs. For information about the logging fields, see Log fields in the WAF Developer Guide.

      • HeaderOrder: The comma-separated list of header names to match for. WAF creates a string that contains the ordered list of header names, from the headers in the web request, and then matches against that string.

      If SearchString includes alphabetic characters A-Z and a-z, note that the value is case sensitive.

      If you're using the WAF API

      Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 200 bytes.

      For example, suppose the value of Type is HEADER and the value of Data is User-Agent. If you want to search the User-Agent header for the value BadBot, you base64-encode BadBot using MIME base64-encoding and include the resulting value, QmFkQm90, in the value of SearchString.

      If you're using the CLI or one of the Amazon Web Services SDKs

      The value that you want WAF to search for. The SDK automatically base64 encodes the value.

      " }, "FieldToMatch":{ "shape":"FieldToMatch", @@ -1200,7 +1200,7 @@ }, "TextTransformations":{ "shape":"TextTransformations", - "documentation":"

      Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents.

      " + "documentation":"

      Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.

      " }, "PositionalConstraint":{ "shape":"PositionalConstraint", @@ -1720,7 +1720,7 @@ }, "Addresses":{ "shape":"IPAddresses", - "documentation":"

      Contains an array of strings that specifies zero or more IP addresses or blocks of IP addresses. All addresses must be specified using Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges except for /0.

      Example address strings:

      • To configure WAF to allow, block, or count requests that originated from the IP address 192.0.2.44, specify 192.0.2.44/32.

      • To configure WAF to allow, block, or count requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24.

      • To configure WAF to allow, block, or count requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify 1111:0000:0000:0000:0000:0000:0000:0111/128.

      • To configure WAF to allow, block, or count requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify 1111:0000:0000:0000:0000:0000:0000:0000/64.

      For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

      Example JSON Addresses specifications:

      • Empty array: \"Addresses\": []

      • Array with one address: \"Addresses\": [\"192.0.2.44/32\"]

      • Array with three addresses: \"Addresses\": [\"192.0.2.44/32\", \"192.0.2.0/24\", \"192.0.0.0/16\"]

      • INVALID specification: \"Addresses\": [\"\"] INVALID

      " + "documentation":"

      Contains an array of strings that specifies zero or more IP addresses or blocks of IP addresses that you want WAF to inspect for in incoming requests. All addresses must be specified using Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges except for /0.

      Example address strings:

      • For requests that originated from the IP address 192.0.2.44, specify 192.0.2.44/32.

      • For requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24.

      • For requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify 1111:0000:0000:0000:0000:0000:0000:0111/128.

      • For requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify 1111:0000:0000:0000:0000:0000:0000:0000/64.

      For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

      Example JSON Addresses specifications:

      • Empty array: \"Addresses\": []

      • Array with one address: \"Addresses\": [\"192.0.2.44/32\"]

      • Array with three addresses: \"Addresses\": [\"192.0.2.44/32\", \"192.0.2.0/24\", \"192.0.0.0/16\"]

      • INVALID specification: \"Addresses\": [\"\"] INVALID

      " }, "Tags":{ "shape":"TagList", @@ -1803,7 +1803,7 @@ }, "Rules":{ "shape":"Rules", - "documentation":"

      The Rule statements used to identify the web requests that you want to allow, block, or count. Each rule includes one top-level statement that WAF uses to identify matching web requests, and parameters that govern how WAF handles them.

      " + "documentation":"

      The Rule statements used to identify the web requests that you want to manage. Each rule includes one top-level statement that WAF uses to identify matching web requests, and parameters that govern how WAF handles them.

      " }, "VisibilityConfig":{ "shape":"VisibilityConfig", @@ -1855,7 +1855,7 @@ }, "Rules":{ "shape":"Rules", - "documentation":"

      The Rule statements used to identify the web requests that you want to allow, block, or count. Each rule includes one top-level statement that WAF uses to identify matching web requests, and parameters that govern how WAF handles them.

      " + "documentation":"

      The Rule statements used to identify the web requests that you want to manage. Each rule includes one top-level statement that WAF uses to identify matching web requests, and parameters that govern how WAF handles them.

      " }, "VisibilityConfig":{ "shape":"VisibilityConfig", @@ -1962,7 +1962,7 @@ }, "ResponseHeaders":{ "shape":"CustomHTTPHeaders", - "documentation":"

      The HTTP headers to use in the response. Duplicate header names are not allowed.

      For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide.

      " + "documentation":"

      The HTTP headers to use in the response. You can specify any header name except for content-type. Duplicate header names are not allowed.

      For information about the limits on count and size for custom request and response settings, see WAF quotas in the WAF Developer Guide.

      " } }, "documentation":"

      A custom response to send to the client. You can define a custom response for rule actions and default web ACL actions that are set to BlockAction.

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

      " @@ -2435,6 +2435,10 @@ "HeaderOrder":{ "shape":"HeaderOrder", "documentation":"

      Inspect a string containing the list of the request's header names, ordered as they appear in the web request that WAF receives for inspection. WAF generates the string and then uses that as the field to match component in its inspection. WAF separates the header names in the string using colons and no added spaces, for example host:user-agent:accept:authorization:referer.

      " + }, + "JA3Fingerprint":{ + "shape":"JA3Fingerprint", + "documentation":"

      Match against the request's JA3 fingerprint. The JA3 fingerprint is a 32-character hash derived from the TLS Client Hello of an incoming request. This fingerprint serves as a unique identifier for the client's TLS configuration. WAF calculates and logs this fingerprint for each request that has enough TLS Client Hello information for the calculation. Almost all web requests include this information.

      You can use this choice only with a string match ByteMatchStatement with the PositionalConstraint set to EXACTLY.

      You can obtain the JA3 fingerprint for client requests from the web ACL logs. If WAF is able to calculate the fingerprint, it includes it in the logs. For information about the logging fields, see Log fields in the WAF Developer Guide.

      Provide the JA3 fingerprint string from the logs in your string match statement specification, to match with any future requests that have the same TLS configuration.

      " } }, "documentation":"

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

      Example JSON for a QueryString field to match:

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

      Example JSON for a Method field to match specification:

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

      " @@ -3153,7 +3157,7 @@ }, "Addresses":{ "shape":"IPAddresses", - "documentation":"

      Contains an array of strings that specifies zero or more IP addresses or blocks of IP addresses. All addresses must be specified using Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges except for /0.

      Example address strings:

      • To configure WAF to allow, block, or count requests that originated from the IP address 192.0.2.44, specify 192.0.2.44/32.

      • To configure WAF to allow, block, or count requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24.

      • To configure WAF to allow, block, or count requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify 1111:0000:0000:0000:0000:0000:0000:0111/128.

      • To configure WAF to allow, block, or count requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify 1111:0000:0000:0000:0000:0000:0000:0000/64.

      For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

      Example JSON Addresses specifications:

      • Empty array: \"Addresses\": []

      • Array with one address: \"Addresses\": [\"192.0.2.44/32\"]

      • Array with three addresses: \"Addresses\": [\"192.0.2.44/32\", \"192.0.2.0/24\", \"192.0.0.0/16\"]

      • INVALID specification: \"Addresses\": [\"\"] INVALID

      " + "documentation":"

      Contains an array of strings that specifies zero or more IP addresses or blocks of IP addresses that you want WAF to inspect for in incoming requests. All addresses must be specified using Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges except for /0.

      Example address strings:

      • For requests that originated from the IP address 192.0.2.44, specify 192.0.2.44/32.

      • For requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24.

      • For requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify 1111:0000:0000:0000:0000:0000:0000:0111/128.

      • For requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify 1111:0000:0000:0000:0000:0000:0000:0000/64.

      For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

      Example JSON Addresses specifications:

      • Empty array: \"Addresses\": []

      • Array with one address: \"Addresses\": [\"192.0.2.44/32\"]

      • Array with three addresses: \"Addresses\": [\"192.0.2.44/32\", \"192.0.2.0/24\", \"192.0.0.0/16\"]

      • INVALID specification: \"Addresses\": [\"\"] INVALID

      " } }, "documentation":"

      Contains zero or more IP addresses or blocks of IP addresses specified in Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges except for /0. For information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

      WAF assigns an ARN to each IPSet that you create. To use an IP set in a rule, you provide the ARN to the Rule statement IPSetReferenceStatement.

      " @@ -3245,6 +3249,17 @@ "TARGETED" ] }, + "JA3Fingerprint":{ + "type":"structure", + "required":["FallbackBehavior"], + "members":{ + "FallbackBehavior":{ + "shape":"FallbackBehavior", + "documentation":"

      The match status to assign to the web request if the request doesn't have a JA3 fingerprint.

      You can specify the following fallback behaviors:

      • MATCH - Treat the web request as matching the rule statement. WAF applies the rule action to the request.

      • NO_MATCH - Treat the web request as not matching the rule statement.

      " + } + }, + "documentation":"

      Match against the request's JA3 fingerprint. The JA3 fingerprint is a 32-character hash derived from the TLS Client Hello of an incoming request. This fingerprint serves as a unique identifier for the client's TLS configuration. WAF calculates and logs this fingerprint for each request that has enough TLS Client Hello information for the calculation. Almost all web requests include this information.

      You can use this choice only with a string match ByteMatchStatement with the PositionalConstraint set to EXACTLY.

      You can obtain the JA3 fingerprint for client requests from the web ACL logs. If WAF is able to calculate the fingerprint, it includes it in the logs. For information about the logging fields, see Log fields in the WAF Developer Guide.

      Provide the JA3 fingerprint string from the logs in your string match statement specification, to match with any future requests that have the same TLS configuration.

      " + }, "JsonBody":{ "type":"structure", "required":[ @@ -3974,7 +3989,7 @@ "documentation":"

      Action settings to use in the place of the rule actions that are configured inside the rule group. You specify one override for each rule whose action you want to change.

      You can use overrides for testing, for example you can override all of rule actions to Count and then monitor the resulting count metrics to understand how the rule group would handle your web traffic. You can also permanently override some or all actions, to modify how the rule group manages your web traffic.

      " } }, - "documentation":"

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

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

      You are charged additional fees when you use the WAF Bot Control managed rule group AWSManagedRulesBotControlRuleSet, the WAF Fraud Control account takeover prevention (ATP) managed rule group AWSManagedRulesATPRuleSet, or the WAF Fraud Control account creation fraud prevention (ACFP) managed rule group AWSManagedRulesACFPRuleSet. For more information, see WAF Pricing.

      " + "documentation":"

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

      You cannot nest a ManagedRuleGroupStatement, for example for use inside a NotStatement or OrStatement. You cannot use a managed rule group inside another rule group. You can only reference a managed rule group as a top-level statement within a rule that you define in a web ACL.

      You are charged additional fees when you use the WAF Bot Control managed rule group AWSManagedRulesBotControlRuleSet, the WAF Fraud Control account takeover prevention (ATP) managed rule group AWSManagedRulesATPRuleSet, or the WAF Fraud Control account creation fraud prevention (ACFP) managed rule group AWSManagedRulesACFPRuleSet. For more information, see WAF Pricing.

      " }, "ManagedRuleGroupSummaries":{ "type":"list", @@ -4600,7 +4615,7 @@ }, "TextTransformations":{ "shape":"TextTransformations", - "documentation":"

      Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents.

      " + "documentation":"

      Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.

      " } }, "documentation":"

      Specifies a cookie as an aggregate key for a rate-based rule. Each distinct value in the cookie contributes to the aggregation instance. If you use a single cookie as your custom key, then each value fully defines an aggregation instance.

      " @@ -4630,7 +4645,7 @@ }, "TextTransformations":{ "shape":"TextTransformations", - "documentation":"

      Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents.

      " + "documentation":"

      Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.

      " } }, "documentation":"

      Specifies a header as an aggregate key for a rate-based rule. Each distinct value in the header contributes to the aggregation instance. If you use a single header as your custom key, then each value fully defines an aggregation instance.

      " @@ -4665,7 +4680,7 @@ }, "TextTransformations":{ "shape":"TextTransformations", - "documentation":"

      Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents.

      " + "documentation":"

      Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.

      " } }, "documentation":"

      Specifies a query argument in the request as an aggregate key for a rate-based rule. Each distinct value for the named query argument contributes to the aggregation instance. If you use a single query argument as your custom key, then each value fully defines an aggregation instance.

      " @@ -4676,7 +4691,7 @@ "members":{ "TextTransformations":{ "shape":"TextTransformations", - "documentation":"

      Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents.

      " + "documentation":"

      Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.

      " } }, "documentation":"

      Specifies the request's query string as an aggregate key for a rate-based rule. Each distinct string contributes to the aggregation instance. If you use just the query string as your custom key, then each string fully defines an aggregation instance.

      " @@ -4687,7 +4702,7 @@ "members":{ "TextTransformations":{ "shape":"TextTransformations", - "documentation":"

      Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents.

      " + "documentation":"

      Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.

      " } }, "documentation":"

      Specifies the request's URI path as an aggregate key for a rate-based rule. Each distinct URI path contributes to the aggregation instance. If you use just the URI path as your custom key, then each URI path fully defines an aggregation instance.

      " @@ -4725,7 +4740,7 @@ }, "TextTransformations":{ "shape":"TextTransformations", - "documentation":"

      Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents.

      " + "documentation":"

      Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.

      " } }, "documentation":"

      A rule statement used to search web request components for a match against a single regular expression.

      " @@ -4774,7 +4789,7 @@ }, "TextTransformations":{ "shape":"TextTransformations", - "documentation":"

      Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents.

      " + "documentation":"

      Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.

      " } }, "documentation":"

      A rule statement used to search web request components for matches with regular expressions. To use this, create a RegexPatternSet that specifies the expressions that you want to detect, then use the ARN of that set in this statement. A web request matches the pattern set rule statement if the request component matches any of the patterns in the set. To create a regex pattern set, see CreateRegexPatternSet.

      Each regex pattern set rule statement references a regex pattern set. You create and maintain the set independent of your rules. This allows you to use the single set in multiple rules. When you update the referenced set, WAF automatically updates all rules that reference it.

      " @@ -5159,7 +5174,7 @@ "documentation":"

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

      " } }, - "documentation":"

      A single rule, which you can use in a WebACL or RuleGroup to identify web requests that you want to allow, block, or count. Each rule includes one top-level Statement that WAF uses to identify matching web requests, and parameters that govern how WAF handles them.

      " + "documentation":"

      A single rule, which you can use in a WebACL or RuleGroup to identify web requests that you want to manage in some way. Each rule includes one top-level Statement that WAF uses to identify matching web requests, and parameters that govern how WAF handles them.

      " }, "RuleAction":{ "type":"structure", @@ -5243,7 +5258,7 @@ }, "Rules":{ "shape":"Rules", - "documentation":"

      The Rule statements used to identify the web requests that you want to allow, block, or count. Each rule includes one top-level statement that WAF uses to identify matching web requests, and parameters that govern how WAF handles them.

      " + "documentation":"

      The Rule statements used to identify the web requests that you want to manage. Each rule includes one top-level statement that WAF uses to identify matching web requests, and parameters that govern how WAF handles them.

      " }, "VisibilityConfig":{ "shape":"VisibilityConfig", @@ -5285,7 +5300,7 @@ "documentation":"

      Action settings to use in the place of the rule actions that are configured inside the rule group. You specify one override for each rule whose action you want to change.

      You can use overrides for testing, for example you can override all of rule actions to Count and then monitor the resulting count metrics to understand how the rule group would handle your web traffic. You can also permanently override some or all actions, to modify how the rule group manages your web traffic.

      " } }, - "documentation":"

      A rule statement used to run the rules that are defined in a RuleGroup. To use this, create a rule group with your rules, then provide the ARN of the rule group in this statement.

      You cannot nest a RuleGroupReferenceStatement, for example for use inside a NotStatement or OrStatement. You can only use a rule group reference statement at the top level inside a web ACL.

      " + "documentation":"

      A rule statement used to run the rules that are defined in a RuleGroup. To use this, create a rule group with your rules, then provide the ARN of the rule group in this statement.

      You cannot nest a RuleGroupReferenceStatement, for example for use inside a NotStatement or OrStatement. You cannot use a rule group reference statement inside another rule group. You can only reference a rule group as a top-level statement within a rule that you define in a web ACL.

      " }, "RuleGroupSummaries":{ "type":"list", @@ -5476,7 +5491,7 @@ }, "TextTransformations":{ "shape":"TextTransformations", - "documentation":"

      Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents.

      " + "documentation":"

      Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.

      " } }, "documentation":"

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

      If you configure WAF to inspect the request body, WAF inspects only the number of bytes of the body up to the limit for the web ACL. By default, for regional web ACLs, this limit is 8 KB (8,192 bytes) and for CloudFront web ACLs, this limit is 16 KB (16,384 bytes). For CloudFront web ACLs, you can increase the limit in the web ACL AssociationConfig, for additional fees. If you know that the request body for your web requests should never exceed the inspection limit, you could use a size constraint statement to block requests that have a larger request body size.

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

      " @@ -5504,7 +5519,7 @@ }, "TextTransformations":{ "shape":"TextTransformations", - "documentation":"

      Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents.

      " + "documentation":"

      Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.

      " }, "SensitivityLevel":{ "shape":"SensitivityLevel", @@ -5538,7 +5553,7 @@ }, "RuleGroupReferenceStatement":{ "shape":"RuleGroupReferenceStatement", - "documentation":"

      A rule statement used to run the rules that are defined in a RuleGroup. To use this, create a rule group with your rules, then provide the ARN of the rule group in this statement.

      You cannot nest a RuleGroupReferenceStatement, for example for use inside a NotStatement or OrStatement. You can only use a rule group reference statement at the top level inside a web ACL.

      " + "documentation":"

      A rule statement used to run the rules that are defined in a RuleGroup. To use this, create a rule group with your rules, then provide the ARN of the rule group in this statement.

      You cannot nest a RuleGroupReferenceStatement, for example for use inside a NotStatement or OrStatement. You cannot use a rule group reference statement inside another rule group. You can only reference a rule group as a top-level statement within a rule that you define in a web ACL.

      " }, "IPSetReferenceStatement":{ "shape":"IPSetReferenceStatement", @@ -5566,7 +5581,7 @@ }, "ManagedRuleGroupStatement":{ "shape":"ManagedRuleGroupStatement", - "documentation":"

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

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

      You are charged additional fees when you use the WAF Bot Control managed rule group AWSManagedRulesBotControlRuleSet, the WAF Fraud Control account takeover prevention (ATP) managed rule group AWSManagedRulesATPRuleSet, or the WAF Fraud Control account creation fraud prevention (ACFP) managed rule group AWSManagedRulesACFPRuleSet. For more information, see WAF Pricing.

      " + "documentation":"

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

      You cannot nest a ManagedRuleGroupStatement, for example for use inside a NotStatement or OrStatement. You cannot use a managed rule group inside another rule group. You can only reference a managed rule group as a top-level statement within a rule that you define in a web ACL.

      You are charged additional fees when you use the WAF Bot Control managed rule group AWSManagedRulesBotControlRuleSet, the WAF Fraud Control account takeover prevention (ATP) managed rule group AWSManagedRulesATPRuleSet, or the WAF Fraud Control account creation fraud prevention (ACFP) managed rule group AWSManagedRulesACFPRuleSet. For more information, see WAF Pricing.

      " }, "LabelMatchStatement":{ "shape":"LabelMatchStatement", @@ -5684,7 +5699,7 @@ }, "Type":{ "shape":"TextTransformationType", - "documentation":"

      You can specify the following transformation types:

      BASE64_DECODE - Decode a Base64-encoded string.

      BASE64_DECODE_EXT - Decode a Base64-encoded string, but use a forgiving implementation that ignores characters that aren't valid.

      CMD_LINE - Command-line transformations. These are helpful in reducing effectiveness of attackers who inject an operating system command-line command and use unusual formatting to disguise some or all of the command.

      • Delete the following characters: \\ \" ' ^

      • Delete spaces before the following characters: / (

      • Replace the following characters with a space: , ;

      • Replace multiple spaces with one space

      • Convert uppercase letters (A-Z) to lowercase (a-z)

      COMPRESS_WHITE_SPACE - Replace these characters with a space character (decimal 32):

      • \\f, formfeed, decimal 12

      • \\t, tab, decimal 9

      • \\n, newline, decimal 10

      • \\r, carriage return, decimal 13

      • \\v, vertical tab, decimal 11

      • Non-breaking space, decimal 160

      COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

      CSS_DECODE - Decode characters that were encoded using CSS 2.x escape rules syndata.html#characters. This function uses up to two bytes in the decoding process, so it can help to uncover ASCII characters that were encoded using CSS encoding that wouldn’t typically be encoded. It's also useful in countering evasion, which is a combination of a backslash and non-hexadecimal characters. For example, ja\\vascript for javascript.

      ESCAPE_SEQ_DECODE - Decode the following ANSI C escape sequences: \\a, \\b, \\f, \\n, \\r, \\t, \\v, \\\\, \\?, \\', \\\", \\xHH (hexadecimal), \\0OOO (octal). Encodings that aren't valid remain in the output.

      HEX_DECODE - Decode a string of hexadecimal characters into a binary.

      HTML_ENTITY_DECODE - Replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs these operations:

      • Replaces (ampersand)quot; with \"

      • Replaces (ampersand)nbsp; with a non-breaking space, decimal 160

      • Replaces (ampersand)lt; with a \"less than\" symbol

      • Replaces (ampersand)gt; with >

      • Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, with the corresponding characters

      • Replaces characters that are represented in decimal format, (ampersand)#nnnn;, with the corresponding characters

      JS_DECODE - Decode JavaScript escape sequences. If a \\ u HHHH code is in the full-width ASCII code range of FF01-FF5E, then the higher byte is used to detect and adjust the lower byte. If not, only the lower byte is used and the higher byte is zeroed, causing a possible loss of information.

      LOWERCASE - Convert uppercase letters (A-Z) to lowercase (a-z).

      MD5 - Calculate an MD5 hash from the data in the input. The computed hash is in a raw binary form.

      NONE - Specify NONE if you don't want any text transformations.

      NORMALIZE_PATH - Remove multiple slashes, directory self-references, and directory back-references that are not at the beginning of the input from an input string.

      NORMALIZE_PATH_WIN - This is the same as NORMALIZE_PATH, but first converts backslash characters to forward slashes.

      REMOVE_NULLS - Remove all NULL bytes from the input.

      REPLACE_COMMENTS - Replace each occurrence of a C-style comment (/* ... */) with a single space. Multiple consecutive occurrences are not compressed. Unterminated comments are also replaced with a space (ASCII 0x20). However, a standalone termination of a comment (*/) is not acted upon.

      REPLACE_NULLS - Replace NULL bytes in the input with space characters (ASCII 0x20).

      SQL_HEX_DECODE - Decode SQL hex data. Example (0x414243) will be decoded to (ABC).

      URL_DECODE - Decode a URL-encoded value.

      URL_DECODE_UNI - Like URL_DECODE, but with support for Microsoft-specific %u encoding. If the code is in the full-width ASCII code range of FF01-FF5E, the higher byte is used to detect and adjust the lower byte. Otherwise, only the lower byte is used and the higher byte is zeroed.

      UTF8_TO_UNICODE - Convert all UTF-8 character sequences to Unicode. This helps input normalization, and minimizing false-positives and false-negatives for non-English languages.

      " + "documentation":"

      For detailed descriptions of each of the transformation types, see Text transformations in the WAF Developer Guide.

      " } }, "documentation":"

      Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.

      " @@ -5813,7 +5828,7 @@ }, "Addresses":{ "shape":"IPAddresses", - "documentation":"

      Contains an array of strings that specifies zero or more IP addresses or blocks of IP addresses. All addresses must be specified using Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges except for /0.

      Example address strings:

      • To configure WAF to allow, block, or count requests that originated from the IP address 192.0.2.44, specify 192.0.2.44/32.

      • To configure WAF to allow, block, or count requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24.

      • To configure WAF to allow, block, or count requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify 1111:0000:0000:0000:0000:0000:0000:0111/128.

      • To configure WAF to allow, block, or count requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify 1111:0000:0000:0000:0000:0000:0000:0000/64.

      For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

      Example JSON Addresses specifications:

      • Empty array: \"Addresses\": []

      • Array with one address: \"Addresses\": [\"192.0.2.44/32\"]

      • Array with three addresses: \"Addresses\": [\"192.0.2.44/32\", \"192.0.2.0/24\", \"192.0.0.0/16\"]

      • INVALID specification: \"Addresses\": [\"\"] INVALID

      " + "documentation":"

      Contains an array of strings that specifies zero or more IP addresses or blocks of IP addresses that you want WAF to inspect for in incoming requests. All addresses must be specified using Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges except for /0.

      Example address strings:

      • For requests that originated from the IP address 192.0.2.44, specify 192.0.2.44/32.

      • For requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24.

      • For requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify 1111:0000:0000:0000:0000:0000:0000:0111/128.

      • For requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify 1111:0000:0000:0000:0000:0000:0000:0000/64.

      For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

      Example JSON Addresses specifications:

      • Empty array: \"Addresses\": []

      • Array with one address: \"Addresses\": [\"192.0.2.44/32\"]

      • Array with three addresses: \"Addresses\": [\"192.0.2.44/32\", \"192.0.2.0/24\", \"192.0.0.0/16\"]

      • INVALID specification: \"Addresses\": [\"\"] INVALID

      " }, "LockToken":{ "shape":"LockToken", @@ -5957,7 +5972,7 @@ }, "Rules":{ "shape":"Rules", - "documentation":"

      The Rule statements used to identify the web requests that you want to allow, block, or count. Each rule includes one top-level statement that WAF uses to identify matching web requests, and parameters that govern how WAF handles them.

      " + "documentation":"

      The Rule statements used to identify the web requests that you want to manage. Each rule includes one top-level statement that WAF uses to identify matching web requests, and parameters that govern how WAF handles them.

      " }, "VisibilityConfig":{ "shape":"VisibilityConfig", @@ -6015,7 +6030,7 @@ }, "Rules":{ "shape":"Rules", - "documentation":"

      The Rule statements used to identify the web requests that you want to allow, block, or count. Each rule includes one top-level statement that WAF uses to identify matching web requests, and parameters that govern how WAF handles them.

      " + "documentation":"

      The Rule statements used to identify the web requests that you want to manage. Each rule includes one top-level statement that WAF uses to identify matching web requests, and parameters that govern how WAF handles them.

      " }, "VisibilityConfig":{ "shape":"VisibilityConfig", @@ -6325,7 +6340,7 @@ }, "Rules":{ "shape":"Rules", - "documentation":"

      The Rule statements used to identify the web requests that you want to allow, block, or count. Each rule includes one top-level statement that WAF uses to identify matching web requests, and parameters that govern how WAF handles them.

      " + "documentation":"

      The Rule statements used to identify the web requests that you want to manage. Each rule includes one top-level statement that WAF uses to identify matching web requests, and parameters that govern how WAF handles them.

      " }, "VisibilityConfig":{ "shape":"VisibilityConfig", @@ -6372,7 +6387,7 @@ "documentation":"

      Specifies custom configurations for the associations between the web ACL and protected resources.

      Use this to customize the maximum size of the request body that your protected CloudFront distributions forward to WAF for inspection. The default is 16 KB (16,384 bytes).

      You are charged additional fees when your protected resources forward body sizes that are larger than the default. For more information, see WAF Pricing.

      " } }, - "documentation":"

      A web ACL defines a collection of rules to use to inspect and control web requests. Each rule has an action defined (allow, block, or count) for requests that match the statement of the rule. In the web ACL, you assign a default action to take (allow, block) for any request that does not match any of the rules. The rules in a web ACL can be a combination of the types Rule, RuleGroup, and managed rule group. You can associate a web ACL with one or more Amazon Web Services resources to protect. The resources can be an Amazon CloudFront distribution, an Amazon API Gateway REST API, an Application Load Balancer, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance.

      " + "documentation":"

      A web ACL defines a collection of rules to use to inspect and control web requests. Each rule has a statement that defines what to look for in web requests and an action that WAF applies to requests that match the statement. In the web ACL, you assign a default action to take (allow, block) for any request that does not match any of the rules. The rules in a web ACL can be a combination of the types Rule, RuleGroup, and managed rule group. You can associate a web ACL with one or more Amazon Web Services resources to protect. The resources can be an Amazon CloudFront distribution, an Amazon API Gateway REST API, an Application Load Balancer, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance.

      " }, "WebACLSummaries":{ "type":"list", @@ -6417,7 +6432,7 @@ }, "TextTransformations":{ "shape":"TextTransformations", - "documentation":"

      Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the component contents.

      " + "documentation":"

      Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. Text transformations are used in rule match statements, to transform the FieldToMatch request component before inspecting it, and they're used in rate-based rule statements, to transform request components before using them as custom aggregation keys. If you specify one or more transformations to apply, WAF performs all transformations on the specified content, starting from the lowest priority setting, and then uses the transformed component contents.

      " } }, "documentation":"

      A rule statement that inspects for cross-site scripting (XSS) attacks. In XSS attacks, the attacker uses vulnerabilities in a benign website as a vehicle to inject malicious client-site scripts into other legitimate web browsers.

      " diff --git a/services/wellarchitected/pom.xml b/services/wellarchitected/pom.xml index 802cd7afbdcc..943f404b7323 100644 --- a/services/wellarchitected/pom.xml +++ b/services/wellarchitected/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT wellarchitected AWS Java SDK :: Services :: Well Architected diff --git a/services/wellarchitected/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/wellarchitected/src/main/resources/codegen-resources/endpoint-rule-set.json index 3067f5198231..69a78ebbbc35 100644 --- a/services/wellarchitected/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/wellarchitected/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://wellarchitected-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://wellarchitected-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://wellarchitected-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://wellarchitected-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://wellarchitected.{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://wellarchitected.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://wellarchitected.{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://wellarchitected.{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/services/wellarchitected/src/main/resources/codegen-resources/paginators-1.json b/services/wellarchitected/src/main/resources/codegen-resources/paginators-1.json index fd24c74bd14a..0238510fd735 100644 --- a/services/wellarchitected/src/main/resources/codegen-resources/paginators-1.json +++ b/services/wellarchitected/src/main/resources/codegen-resources/paginators-1.json @@ -65,11 +65,26 @@ "output_token": "NextToken", "limit_key": "MaxResults" }, + "ListReviewTemplateAnswers": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListReviewTemplates": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, "ListShareInvitations": { "input_token": "NextToken", "output_token": "NextToken", "limit_key": "MaxResults" }, + "ListTemplateShares": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, "ListWorkloadShares": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/services/wellarchitected/src/main/resources/codegen-resources/service-2.json b/services/wellarchitected/src/main/resources/codegen-resources/service-2.json index 5ccdcc1bca3b..1771666e732b 100644 --- a/services/wellarchitected/src/main/resources/codegen-resources/service-2.json +++ b/services/wellarchitected/src/main/resources/codegen-resources/service-2.json @@ -141,6 +141,44 @@ ], "documentation":"

      Create a profile share.

      " }, + "CreateReviewTemplate":{ + "name":"CreateReviewTemplate", + "http":{ + "method":"POST", + "requestUri":"/reviewTemplates" + }, + "input":{"shape":"CreateReviewTemplateInput"}, + "output":{"shape":"CreateReviewTemplateOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Create a review template.

      Disclaimer

      Do not include or gather personal identifiable information (PII) of end users or other identifiable individuals in or via your review templates. If your review template or those shared with you and used in your account do include or collect PII you are responsible for: ensuring that the included PII is processed in accordance with applicable law, providing adequate privacy notices, and obtaining necessary consents for processing such data.

      " + }, + "CreateTemplateShare":{ + "name":"CreateTemplateShare", + "http":{ + "method":"POST", + "requestUri":"/templates/shares/{TemplateArn}" + }, + "input":{"shape":"CreateTemplateShareInput"}, + "output":{"shape":"CreateTemplateShareOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Create a review template share.

      The owner of a review template can share it with other Amazon Web Services accounts, users, an organization, and organizational units (OUs) in the same Amazon Web Services Region.

      Shared access to a review template is not removed until the review template share invitation is deleted.

      If you share a review template with an organization or OU, all accounts in the organization or OU are granted access to the review template.

      Disclaimer

      By sharing your review template with other Amazon Web Services accounts, you acknowledge that Amazon Web Services will make your review template available to those other accounts.

      " + }, "CreateWorkload":{ "name":"CreateWorkload", "http":{ @@ -158,7 +196,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"} ], - "documentation":"

      Create a new workload.

      The owner of a workload can share the workload with other Amazon Web Services accounts, users, an organization, and organizational units (OUs) in the same Amazon Web Services Region. Only the owner of a workload can delete it.

      For more information, see Defining a Workload in the Well-Architected Tool User Guide.

      Either AwsRegions, NonAwsRegions, or both must be specified when creating a workload.

      You also must specify ReviewOwner, even though the parameter is listed as not being required in the following section.

      " + "documentation":"

      Create a new workload.

      The owner of a workload can share the workload with other Amazon Web Services accounts, users, an organization, and organizational units (OUs) in the same Amazon Web Services Region. Only the owner of a workload can delete it.

      For more information, see Defining a Workload in the Well-Architected Tool User Guide.

      Either AwsRegions, NonAwsRegions, or both must be specified when creating a workload.

      You also must specify ReviewOwner, even though the parameter is listed as not being required in the following section.

      When creating a workload using a review template, you must have the following IAM permissions:

      • wellarchitected:GetReviewTemplate

      • wellarchitected:GetReviewTemplateAnswer

      • wellarchitected:ListReviewTemplateAnswers

      • wellarchitected:GetReviewTemplateLensReview

      " }, "CreateWorkloadShare":{ "name":"CreateWorkloadShare", @@ -247,6 +285,40 @@ ], "documentation":"

      Delete a profile share.

      " }, + "DeleteReviewTemplate":{ + "name":"DeleteReviewTemplate", + "http":{ + "method":"DELETE", + "requestUri":"/reviewTemplates/{TemplateArn}" + }, + "input":{"shape":"DeleteReviewTemplateInput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Delete a review template.

      Only the owner of a review template can delete it.

      After the review template is deleted, Amazon Web Services accounts, users, organizations, and organizational units (OUs) that you shared the review template with will no longer be able to apply it to new workloads.

      " + }, + "DeleteTemplateShare":{ + "name":"DeleteTemplateShare", + "http":{ + "method":"DELETE", + "requestUri":"/templates/shares/{TemplateArn}/{ShareId}" + }, + "input":{"shape":"DeleteTemplateShareInput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Delete a review template share.

      After the review template share is deleted, Amazon Web Services accounts, users, organizations, and organizational units (OUs) that you shared the review template with will no longer be able to apply it to new workloads.

      " + }, "DeleteWorkload":{ "name":"DeleteWorkload", "http":{ @@ -485,6 +557,57 @@ ], "documentation":"

      Get profile template.

      " }, + "GetReviewTemplate":{ + "name":"GetReviewTemplate", + "http":{ + "method":"GET", + "requestUri":"/reviewTemplates/{TemplateArn}" + }, + "input":{"shape":"GetReviewTemplateInput"}, + "output":{"shape":"GetReviewTemplateOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Get review template.

      " + }, + "GetReviewTemplateAnswer":{ + "name":"GetReviewTemplateAnswer", + "http":{ + "method":"GET", + "requestUri":"/reviewTemplates/{TemplateArn}/lensReviews/{LensAlias}/answers/{QuestionId}" + }, + "input":{"shape":"GetReviewTemplateAnswerInput"}, + "output":{"shape":"GetReviewTemplateAnswerOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Get review template answer.

      " + }, + "GetReviewTemplateLensReview":{ + "name":"GetReviewTemplateLensReview", + "http":{ + "method":"GET", + "requestUri":"/reviewTemplates/{TemplateArn}/lensReviews/{LensAlias}" + }, + "input":{"shape":"GetReviewTemplateLensReviewInput"}, + "output":{"shape":"GetReviewTemplateLensReviewOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Get a lens review associated with a review template.

      " + }, "GetWorkload":{ "name":"GetWorkload", "http":{ @@ -721,6 +844,39 @@ ], "documentation":"

      List profiles.

      " }, + "ListReviewTemplateAnswers":{ + "name":"ListReviewTemplateAnswers", + "http":{ + "method":"GET", + "requestUri":"/reviewTemplates/{TemplateArn}/lensReviews/{LensAlias}/answers" + }, + "input":{"shape":"ListReviewTemplateAnswersInput"}, + "output":{"shape":"ListReviewTemplateAnswersOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      List the answers of a review template.

      " + }, + "ListReviewTemplates":{ + "name":"ListReviewTemplates", + "http":{ + "method":"GET", + "requestUri":"/reviewTemplates" + }, + "input":{"shape":"ListReviewTemplatesInput"}, + "output":{"shape":"ListReviewTemplatesOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      List review templates.

      " + }, "ListShareInvitations":{ "name":"ListShareInvitations", "http":{ @@ -735,7 +891,7 @@ {"shape":"AccessDeniedException"}, {"shape":"ThrottlingException"} ], - "documentation":"

      List the workload invitations.

      " + "documentation":"

      List the share invitations.

      WorkloadNamePrefix, LensNamePrefix, ProfileNamePrefix, and TemplateNamePrefix are mutually exclusive. Use the parameter that matches your ShareResourceType.

      " }, "ListTagsForResource":{ "name":"ListTagsForResource", @@ -749,7 +905,24 @@ {"shape":"InternalServerException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

      List the tags for a resource.

      The WorkloadArn parameter can be a workload ARN, a custom lens ARN, or a profile ARN.

      " + "documentation":"

      List the tags for a resource.

      The WorkloadArn parameter can be a workload ARN, a custom lens ARN, a profile ARN, or review template ARN.

      " + }, + "ListTemplateShares":{ + "name":"ListTemplateShares", + "http":{ + "method":"GET", + "requestUri":"/templates/shares/{TemplateArn}" + }, + "input":{"shape":"ListTemplateSharesInput"}, + "output":{"shape":"ListTemplateSharesOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      List review template shares.

      " }, "ListWorkloadShares":{ "name":"ListWorkloadShares", @@ -796,7 +969,7 @@ {"shape":"InternalServerException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

      Adds one or more tags to the specified resource.

      The WorkloadArn parameter can be a workload ARN, a custom lens ARN, or a profile ARN.

      " + "documentation":"

      Adds one or more tags to the specified resource.

      The WorkloadArn parameter can be a workload ARN, a custom lens ARN, a profile ARN, or review template ARN.

      " }, "UntagResource":{ "name":"UntagResource", @@ -810,7 +983,7 @@ {"shape":"InternalServerException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

      Deletes specified tags from a resource.

      The WorkloadArn parameter can be a workload ARN, a custom lens ARN, or a profile ARN.

      To specify multiple tags, use separate tagKeys parameters, for example:

      DELETE /tags/WorkloadArn?tagKeys=key1&tagKeys=key2

      " + "documentation":"

      Deletes specified tags from a resource.

      The WorkloadArn parameter can be a workload ARN, a custom lens ARN, a profile ARN, or review template ARN.

      To specify multiple tags, use separate tagKeys parameters, for example:

      DELETE /tags/WorkloadArn?tagKeys=key1&tagKeys=key2

      " }, "UpdateAnswer":{ "name":"UpdateAnswer", @@ -882,6 +1055,60 @@ ], "documentation":"

      Update a profile.

      " }, + "UpdateReviewTemplate":{ + "name":"UpdateReviewTemplate", + "http":{ + "method":"PATCH", + "requestUri":"/reviewTemplates/{TemplateArn}" + }, + "input":{"shape":"UpdateReviewTemplateInput"}, + "output":{"shape":"UpdateReviewTemplateOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Update a review template.

      " + }, + "UpdateReviewTemplateAnswer":{ + "name":"UpdateReviewTemplateAnswer", + "http":{ + "method":"PATCH", + "requestUri":"/reviewTemplates/{TemplateArn}/lensReviews/{LensAlias}/answers/{QuestionId}" + }, + "input":{"shape":"UpdateReviewTemplateAnswerInput"}, + "output":{"shape":"UpdateReviewTemplateAnswerOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Update a review template answer.

      " + }, + "UpdateReviewTemplateLensReview":{ + "name":"UpdateReviewTemplateLensReview", + "http":{ + "method":"PATCH", + "requestUri":"/reviewTemplates/{TemplateArn}/lensReviews/{LensAlias}" + }, + "input":{"shape":"UpdateReviewTemplateLensReviewInput"}, + "output":{"shape":"UpdateReviewTemplateLensReviewOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Update a lens review associated with a review template.

      " + }, "UpdateShareInvitation":{ "name":"UpdateShareInvitation", "http":{ @@ -969,6 +1196,23 @@ {"shape":"ThrottlingException"} ], "documentation":"

      Upgrade a profile.

      " + }, + "UpgradeReviewTemplateLensReview":{ + "name":"UpgradeReviewTemplateLensReview", + "http":{ + "method":"PUT", + "requestUri":"/reviewTemplates/{TemplateArn}/lensReviews/{LensAlias}/upgrade" + }, + "input":{"shape":"UpgradeReviewTemplateLensReviewInput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

      Upgrade the lens review of a review template.

      " } }, "shapes":{ @@ -1665,6 +1909,78 @@ } } }, + "CreateReviewTemplateInput":{ + "type":"structure", + "required":[ + "TemplateName", + "Description", + "Lenses", + "ClientRequestToken" + ], + "members":{ + "TemplateName":{ + "shape":"TemplateName", + "documentation":"

      Name of the review template.

      " + }, + "Description":{ + "shape":"TemplateDescription", + "documentation":"

      The review template description.

      " + }, + "Lenses":{ + "shape":"ReviewTemplateLenses", + "documentation":"

      Lenses applied to the review template.

      " + }, + "Notes":{"shape":"Notes"}, + "Tags":{ + "shape":"TagMap", + "documentation":"

      The tags assigned to the review template.

      " + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + } + } + }, + "CreateReviewTemplateOutput":{ + "type":"structure", + "members":{ + "TemplateArn":{ + "shape":"TemplateArn", + "documentation":"

      The review template ARN.

      " + } + } + }, + "CreateTemplateShareInput":{ + "type":"structure", + "required":[ + "TemplateArn", + "SharedWith", + "ClientRequestToken" + ], + "members":{ + "TemplateArn":{ + "shape":"TemplateArn", + "documentation":"

      The review template ARN.

      ", + "location":"uri", + "locationName":"TemplateArn" + }, + "SharedWith":{"shape":"SharedWith"}, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + } + } + }, + "CreateTemplateShareOutput":{ + "type":"structure", + "members":{ + "TemplateArn":{ + "shape":"TemplateArn", + "documentation":"

      The review template ARN.

      " + }, + "ShareId":{"shape":"ShareId"} + } + }, "CreateWorkloadInput":{ "type":"structure", "required":[ @@ -1707,6 +2023,10 @@ "ProfileArns":{ "shape":"WorkloadProfileArns", "documentation":"

      The list of profile ARNs associated with the workload.

      " + }, + "ReviewTemplateArns":{ + "shape":"ReviewTemplateArns", + "documentation":"

      The list of review template ARNs to associate with the workload.

      " } }, "documentation":"

      Input for workload creation.

      " @@ -1858,6 +2178,54 @@ } } }, + "DeleteReviewTemplateInput":{ + "type":"structure", + "required":[ + "TemplateArn", + "ClientRequestToken" + ], + "members":{ + "TemplateArn":{ + "shape":"TemplateArn", + "documentation":"

      The review template ARN.

      ", + "location":"uri", + "locationName":"TemplateArn" + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true, + "location":"querystring", + "locationName":"ClientRequestToken" + } + } + }, + "DeleteTemplateShareInput":{ + "type":"structure", + "required":[ + "ShareId", + "TemplateArn", + "ClientRequestToken" + ], + "members":{ + "ShareId":{ + "shape":"ShareId", + "location":"uri", + "locationName":"ShareId" + }, + "TemplateArn":{ + "shape":"TemplateArn", + "documentation":"

      The review template ARN.

      ", + "location":"uri", + "locationName":"TemplateArn" + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true, + "location":"querystring", + "locationName":"ClientRequestToken" + } + } + }, "DeleteWorkloadInput":{ "type":"structure", "required":[ @@ -2302,11 +2670,105 @@ } } }, - "GetWorkloadInput":{ + "GetReviewTemplateAnswerInput":{ "type":"structure", - "required":["WorkloadId"], + "required":[ + "TemplateArn", + "LensAlias", + "QuestionId" + ], "members":{ - "WorkloadId":{ + "TemplateArn":{ + "shape":"TemplateArn", + "documentation":"

      The review template ARN.

      ", + "location":"uri", + "locationName":"TemplateArn" + }, + "LensAlias":{ + "shape":"LensAlias", + "location":"uri", + "locationName":"LensAlias" + }, + "QuestionId":{ + "shape":"QuestionId", + "location":"uri", + "locationName":"QuestionId" + } + } + }, + "GetReviewTemplateAnswerOutput":{ + "type":"structure", + "members":{ + "TemplateArn":{ + "shape":"TemplateArn", + "documentation":"

      The review template ARN.

      " + }, + "LensAlias":{"shape":"LensAlias"}, + "Answer":{ + "shape":"ReviewTemplateAnswer", + "documentation":"

      An answer of the question.

      " + } + } + }, + "GetReviewTemplateInput":{ + "type":"structure", + "required":["TemplateArn"], + "members":{ + "TemplateArn":{ + "shape":"TemplateArn", + "documentation":"

      The review template ARN.

      ", + "location":"uri", + "locationName":"TemplateArn" + } + } + }, + "GetReviewTemplateLensReviewInput":{ + "type":"structure", + "required":[ + "TemplateArn", + "LensAlias" + ], + "members":{ + "TemplateArn":{ + "shape":"TemplateArn", + "documentation":"

      The review template ARN.

      ", + "location":"uri", + "locationName":"TemplateArn" + }, + "LensAlias":{ + "shape":"LensAlias", + "location":"uri", + "locationName":"LensAlias" + } + } + }, + "GetReviewTemplateLensReviewOutput":{ + "type":"structure", + "members":{ + "TemplateArn":{ + "shape":"TemplateArn", + "documentation":"

      The review template ARN.

      " + }, + "LensReview":{ + "shape":"ReviewTemplateLensReview", + "documentation":"

      A lens review of a question.

      " + } + } + }, + "GetReviewTemplateOutput":{ + "type":"structure", + "members":{ + "ReviewTemplate":{ + "shape":"ReviewTemplate", + "documentation":"

      The review template.

      " + } + } + }, + "GetWorkloadInput":{ + "type":"structure", + "required":["WorkloadId"], + "members":{ + "WorkloadId":{ "shape":"WorkloadId", "location":"uri", "locationName":"WorkloadId" @@ -2663,7 +3125,12 @@ "LatestLensVersion":{ "shape":"LensVersion", "documentation":"

      The latest version of the lens.

      " - } + }, + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

      ResourceArn of the lens being upgraded

      " + }, + "ResourceName":{"shape":"WorkloadName"} }, "documentation":"

      Lens upgrade summary return object.

      " }, @@ -2930,7 +3397,7 @@ }, "SharedWithPrefix":{ "shape":"SharedWithPrefix", - "documentation":"

      The Amazon Web Services account ID, IAM role, organization ID, or organizational unit (OU) ID with which the lens is shared.

      ", + "documentation":"

      The Amazon Web Services account ID, organization ID, or organizational unit (OU) ID with which the lens is shared.

      ", "location":"querystring", "locationName":"SharedWithPrefix" }, @@ -3034,6 +3501,10 @@ "MaxResults":{ "shape":"ListNotificationsMaxResults", "documentation":"

      The maximum number of results to return for this request.

      " + }, + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

      The ARN for the related resource for the notification.

      Only one of WorkloadID or ResourceARN should be specified.

      " } } }, @@ -3094,7 +3565,7 @@ }, "SharedWithPrefix":{ "shape":"SharedWithPrefix", - "documentation":"

      The Amazon Web Services account ID, IAM role, organization ID, or organizational unit (OU) ID with which the profile is shared.

      ", + "documentation":"

      The Amazon Web Services account ID, organization ID, or organizational unit (OU) ID with which the profile is shared.

      ", "location":"querystring", "locationName":"SharedWithPrefix" }, @@ -3136,7 +3607,7 @@ "members":{ "ProfileNamePrefix":{ "shape":"ProfileNamePrefix", - "documentation":"

      Prefix for profile name.

      ", + "documentation":"

      An optional string added to the beginning of each profile name returned in the results.

      ", "location":"querystring", "locationName":"ProfileNamePrefix" }, @@ -3168,6 +3639,87 @@ "NextToken":{"shape":"NextToken"} } }, + "ListReviewTemplateAnswersInput":{ + "type":"structure", + "required":[ + "TemplateArn", + "LensAlias" + ], + "members":{ + "TemplateArn":{ + "shape":"TemplateArn", + "documentation":"

      The ARN of the review template.

      ", + "location":"uri", + "locationName":"TemplateArn" + }, + "LensAlias":{ + "shape":"LensAlias", + "location":"uri", + "locationName":"LensAlias" + }, + "PillarId":{ + "shape":"PillarId", + "location":"querystring", + "locationName":"PillarId" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"NextToken" + }, + "MaxResults":{ + "shape":"ListReviewTemplateAnswersMaxResults", + "documentation":"

      The maximum number of results to return for this request.

      ", + "location":"querystring", + "locationName":"MaxResults" + } + } + }, + "ListReviewTemplateAnswersMaxResults":{ + "type":"integer", + "max":50, + "min":1 + }, + "ListReviewTemplateAnswersOutput":{ + "type":"structure", + "members":{ + "TemplateArn":{ + "shape":"TemplateArn", + "documentation":"

      The ARN of the review template.

      " + }, + "LensAlias":{"shape":"LensAlias"}, + "AnswerSummaries":{ + "shape":"ReviewTemplateAnswerSummaries", + "documentation":"

      List of answer summaries of a lens review in a review template.

      " + }, + "NextToken":{"shape":"NextToken"} + } + }, + "ListReviewTemplatesInput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"NextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"MaxResults" + } + } + }, + "ListReviewTemplatesOutput":{ + "type":"structure", + "members":{ + "ReviewTemplates":{ + "shape":"ReviewTemplates", + "documentation":"

      List of review templates.

      " + }, + "NextToken":{"shape":"NextToken"} + } + }, "ListShareInvitationsInput":{ "type":"structure", "members":{ @@ -3201,9 +3753,15 @@ }, "ProfileNamePrefix":{ "shape":"ProfileNamePrefix", - "documentation":"

      Profile name prefix.

      ", + "documentation":"

      An optional string added to the beginning of each profile name returned in the results.

      ", "location":"querystring", "locationName":"ProfileNamePrefix" + }, + "TemplateNamePrefix":{ + "shape":"TemplateNamePrefix", + "documentation":"

      An optional string added to the beginning of each review template name returned in the results.

      ", + "location":"querystring", + "locationName":"TemplateNamePrefix" } }, "documentation":"

      Input for List Share Invitations

      " @@ -3244,6 +3802,59 @@ } } }, + "ListTemplateSharesInput":{ + "type":"structure", + "required":["TemplateArn"], + "members":{ + "TemplateArn":{ + "shape":"TemplateArn", + "documentation":"

      The review template ARN.

      ", + "location":"uri", + "locationName":"TemplateArn" + }, + "SharedWithPrefix":{ + "shape":"SharedWithPrefix", + "documentation":"

      The Amazon Web Services account ID, organization ID, or organizational unit (OU) ID with which the profile is shared.

      ", + "location":"querystring", + "locationName":"SharedWithPrefix" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"NextToken" + }, + "MaxResults":{ + "shape":"ListTemplateSharesMaxResults", + "documentation":"

      The maximum number of results to return for this request.

      ", + "location":"querystring", + "locationName":"MaxResults" + }, + "Status":{ + "shape":"ShareStatus", + "location":"querystring", + "locationName":"Status" + } + } + }, + "ListTemplateSharesMaxResults":{ + "type":"integer", + "max":50, + "min":1 + }, + "ListTemplateSharesOutput":{ + "type":"structure", + "members":{ + "TemplateArn":{ + "shape":"TemplateArn", + "documentation":"

      The review template ARN.

      " + }, + "TemplateShareSummaries":{ + "shape":"TemplateShareSummaries", + "documentation":"

      A review template share summary return object.

      " + }, + "NextToken":{"shape":"NextToken"} + } + }, "ListWorkloadSharesInput":{ "type":"structure", "required":["WorkloadId"], @@ -3255,7 +3866,7 @@ }, "SharedWithPrefix":{ "shape":"SharedWithPrefix", - "documentation":"

      The Amazon Web Services account ID, IAM role, organization ID, or organizational unit (OU) ID with which the workload is shared.

      ", + "documentation":"

      The Amazon Web Services account ID, organization ID, or organizational unit (OU) ID with which the workload is shared.

      ", "location":"querystring", "locationName":"SharedWithPrefix" }, @@ -3378,7 +3989,7 @@ }, "Notes":{ "type":"string", - "documentation":"

      The notes associated with the workload.

      ", + "documentation":"

      The notes associated with the workload.

      For a review template, these are the notes that will be associated with the workload when the template is applied.

      ", "max":2084 }, "NotificationSummaries":{ @@ -3473,7 +4084,7 @@ "type":"map", "key":{"shape":"PillarId"}, "value":{"shape":"Notes"}, - "documentation":"

      List of pillar notes of a lens review in a workload.

      " + "documentation":"

      List of pillar notes of a lens review in a workload.

      For a review template, these are the notes that will be associated with the workload when the template is applied.

      " }, "PillarReviewSummaries":{ "type":"list", @@ -3760,6 +4371,18 @@ "min":1, "pattern":"^[A-Za-z0-9-]+$" }, + "Question":{ + "type":"string", + "enum":[ + "UNANSWERED", + "ANSWERED" + ] + }, + "QuestionCounts":{ + "type":"map", + "key":{"shape":"Question"}, + "value":{"shape":"Count"} + }, "QuestionDescription":{ "type":"string", "documentation":"

      The description of the question.

      ", @@ -3835,6 +4458,12 @@ "JSON" ] }, + "ResourceArn":{ + "type":"string", + "max":250, + "min":50, + "pattern":"arn:aws(-us-gov|-iso(-[a-z])?|-cn)?:wellarchitected:[a-z]{2}(-gov|-iso([a-z])?)?-[a-z]+-\\d:\\d{12}:(review-template)/[a-f0-9]{32}" + }, "ResourceNotFoundException":{ "type":"structure", "required":[ @@ -3851,6 +4480,220 @@ "error":{"httpStatusCode":404}, "exception":true }, + "ReviewTemplate":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"TemplateDescription", + "documentation":"

      The review template description.

      " + }, + "Lenses":{ + "shape":"ReviewTemplateLenses", + "documentation":"

      The lenses applied to the review template.

      " + }, + "Notes":{"shape":"Notes"}, + "QuestionCounts":{ + "shape":"QuestionCounts", + "documentation":"

      A count of how many total questions are answered and unanswered in the review template.

      " + }, + "Owner":{"shape":"AwsAccountId"}, + "UpdatedAt":{"shape":"Timestamp"}, + "TemplateArn":{ + "shape":"TemplateArn", + "documentation":"

      The review template ARN.

      " + }, + "TemplateName":{ + "shape":"TemplateName", + "documentation":"

      The name of the review template.

      " + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

      The tags assigned to the review template.

      " + }, + "UpdateStatus":{ + "shape":"ReviewTemplateUpdateStatus", + "documentation":"

      The latest status of a review template.

      " + }, + "ShareInvitationId":{ + "shape":"ShareInvitationId", + "documentation":"

      The ID assigned to the template share invitation.

      " + } + }, + "documentation":"

      A review template.

      " + }, + "ReviewTemplateAnswer":{ + "type":"structure", + "members":{ + "QuestionId":{"shape":"QuestionId"}, + "PillarId":{"shape":"PillarId"}, + "QuestionTitle":{"shape":"QuestionTitle"}, + "QuestionDescription":{"shape":"QuestionDescription"}, + "ImprovementPlanUrl":{"shape":"ImprovementPlanUrl"}, + "HelpfulResourceUrl":{"shape":"HelpfulResourceUrl"}, + "HelpfulResourceDisplayText":{ + "shape":"DisplayText", + "documentation":"

      The helpful resource text to be displayed for a custom lens.

      This field does not apply to Amazon Web Services official lenses.

      " + }, + "Choices":{"shape":"Choices"}, + "SelectedChoices":{"shape":"SelectedChoices"}, + "ChoiceAnswers":{ + "shape":"ChoiceAnswers", + "documentation":"

      A list of selected choices to a question in your review template.

      " + }, + "IsApplicable":{"shape":"IsApplicable"}, + "AnswerStatus":{ + "shape":"ReviewTemplateAnswerStatus", + "documentation":"

      The status of whether or not this question has been answered.

      " + }, + "Notes":{"shape":"Notes"}, + "Reason":{ + "shape":"AnswerReason", + "documentation":"

      The reason why the question is not applicable to your review template.

      " + } + }, + "documentation":"

      An answer of the question.

      " + }, + "ReviewTemplateAnswerStatus":{ + "type":"string", + "enum":[ + "UNANSWERED", + "ANSWERED" + ] + }, + "ReviewTemplateAnswerSummaries":{ + "type":"list", + "member":{"shape":"ReviewTemplateAnswerSummary"} + }, + "ReviewTemplateAnswerSummary":{ + "type":"structure", + "members":{ + "QuestionId":{"shape":"QuestionId"}, + "PillarId":{"shape":"PillarId"}, + "QuestionTitle":{"shape":"QuestionTitle"}, + "Choices":{"shape":"Choices"}, + "SelectedChoices":{"shape":"SelectedChoices"}, + "ChoiceAnswerSummaries":{ + "shape":"ChoiceAnswerSummaries", + "documentation":"

      A list of selected choices to a question in the review template.

      " + }, + "IsApplicable":{"shape":"IsApplicable"}, + "AnswerStatus":{ + "shape":"ReviewTemplateAnswerStatus", + "documentation":"

      The status of whether or not this question has been answered.

      " + }, + "Reason":{ + "shape":"AnswerReason", + "documentation":"

      The reason why a choice is not-applicable to a question in the review template.

      " + }, + "QuestionType":{ + "shape":"QuestionType", + "documentation":"

      The type of question.

      " + } + }, + "documentation":"

      The summary of review template answers.

      " + }, + "ReviewTemplateArns":{ + "type":"list", + "member":{"shape":"TemplateArn"}, + "max":1 + }, + "ReviewTemplateLensAliases":{ + "type":"list", + "member":{"shape":"LensAlias"}, + "max":10, + "min":1 + }, + "ReviewTemplateLensReview":{ + "type":"structure", + "members":{ + "LensAlias":{"shape":"LensAlias"}, + "LensArn":{ + "shape":"LensArn", + "documentation":"

      The lens ARN.

      " + }, + "LensVersion":{ + "shape":"LensVersion", + "documentation":"

      The version of the lens.

      " + }, + "LensName":{"shape":"LensName"}, + "LensStatus":{ + "shape":"LensStatus", + "documentation":"

      The status of the lens.

      " + }, + "PillarReviewSummaries":{ + "shape":"ReviewTemplatePillarReviewSummaries", + "documentation":"

      Pillar review summaries of a lens review.

      " + }, + "UpdatedAt":{"shape":"Timestamp"}, + "Notes":{"shape":"Notes"}, + "QuestionCounts":{ + "shape":"QuestionCounts", + "documentation":"

      A count of how many questions are answered and unanswered in the lens review.

      " + }, + "NextToken":{"shape":"NextToken"} + }, + "documentation":"

      The lens review of a review template.

      " + }, + "ReviewTemplateLenses":{ + "type":"list", + "member":{"shape":"LensAlias"} + }, + "ReviewTemplatePillarReviewSummaries":{ + "type":"list", + "member":{"shape":"ReviewTemplatePillarReviewSummary"} + }, + "ReviewTemplatePillarReviewSummary":{ + "type":"structure", + "members":{ + "PillarId":{"shape":"PillarId"}, + "PillarName":{"shape":"PillarName"}, + "Notes":{"shape":"Notes"}, + "QuestionCounts":{ + "shape":"QuestionCounts", + "documentation":"

      A count of how many questions are answered and unanswered in the requested pillar of the lens review.

      " + } + }, + "documentation":"

      Summary of a review template.

      " + }, + "ReviewTemplateSummary":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"TemplateDescription", + "documentation":"

      Description of the review template.

      " + }, + "Lenses":{ + "shape":"ReviewTemplateLenses", + "documentation":"

      Lenses associated with the review template.

      " + }, + "Owner":{"shape":"AwsAccountId"}, + "UpdatedAt":{"shape":"Timestamp"}, + "TemplateArn":{ + "shape":"TemplateArn", + "documentation":"

      The review template ARN.

      " + }, + "TemplateName":{ + "shape":"TemplateName", + "documentation":"

      The name of the review template.

      " + }, + "UpdateStatus":{ + "shape":"ReviewTemplateUpdateStatus", + "documentation":"

      The latest status of a review template.

      " + } + }, + "documentation":"

      Summary of a review template.

      " + }, + "ReviewTemplateUpdateStatus":{ + "type":"string", + "enum":[ + "CURRENT", + "LENS_NOT_CURRENT" + ] + }, + "ReviewTemplates":{ + "type":"list", + "member":{"shape":"ReviewTemplateSummary"} + }, "Risk":{ "type":"string", "documentation":"

      The risk for a given workload, lens review, pillar, or question.

      ", @@ -3928,6 +4771,10 @@ "ProfileArn":{ "shape":"ProfileArn", "documentation":"

      The profile ARN.

      " + }, + "TemplateArn":{ + "shape":"TemplateArn", + "documentation":"

      The review template ARN.

      " } }, "documentation":"

      The share invitation.

      " @@ -3976,6 +4823,14 @@ "ProfileArn":{ "shape":"ProfileArn", "documentation":"

      The profile ARN.

      " + }, + "TemplateName":{ + "shape":"TemplateName", + "documentation":"

      The name of the review template.

      " + }, + "TemplateArn":{ + "shape":"TemplateArn", + "documentation":"

      The review template ARN.

      " } }, "documentation":"

      A share invitation summary return object.

      " @@ -3985,7 +4840,8 @@ "enum":[ "WORKLOAD", "LENS", - "PROFILE" + "PROFILE", + "TEMPLATE" ] }, "ShareStatus":{ @@ -4004,7 +4860,7 @@ }, "SharedWith":{ "type":"string", - "documentation":"

      The Amazon Web Services account ID, IAM role, organization ID, or organizational unit (OU) ID with which the workload, lens, or profile is shared.

      ", + "documentation":"

      The Amazon Web Services account ID, organization ID, or organizational unit (OU) ID with which the workload, lens, profile, or review template is shared.

      ", "max":2048, "min":12 }, @@ -4063,10 +4919,50 @@ "max":256, "min":0 }, + "TemplateArn":{ + "type":"string", + "max":250, + "min":50, + "pattern":"arn:aws(-us-gov|-iso(-[a-z])?|-cn)?:wellarchitected:[a-z]{2}(-gov|-iso([a-z])?)?-[a-z]+-\\d:\\d{12}:(review-template)/[a-f0-9]{32}" + }, + "TemplateDescription":{ + "type":"string", + "max":250, + "min":3, + "pattern":"^[A-Za-z0-9-_.,:/()@!&?#+'’\\s]+$" + }, + "TemplateName":{ + "type":"string", + "max":100, + "min":3, + "pattern":"^[A-Za-z0-9-_.,:/()@!&?#+'’\\s]+$" + }, + "TemplateNamePrefix":{ + "type":"string", + "max":100, + "pattern":"^[A-Za-z0-9-_.,:/()@!&?#+'’\\s]+$" + }, "TemplateQuestions":{ "type":"list", "member":{"shape":"ProfileTemplateQuestion"} }, + "TemplateShareSummaries":{ + "type":"list", + "member":{"shape":"TemplateShareSummary"} + }, + "TemplateShareSummary":{ + "type":"structure", + "members":{ + "ShareId":{"shape":"ShareId"}, + "SharedWith":{"shape":"SharedWith"}, + "Status":{"shape":"ShareStatus"}, + "StatusMessage":{ + "shape":"StatusMessage", + "documentation":"

      Review template share invitation status message.

      " + } + }, + "documentation":"

      Summary of a review template share.

      " + }, "ThrottlingException":{ "type":"structure", "required":["Message"], @@ -4237,6 +5133,130 @@ } } }, + "UpdateReviewTemplateAnswerInput":{ + "type":"structure", + "required":[ + "TemplateArn", + "LensAlias", + "QuestionId" + ], + "members":{ + "TemplateArn":{ + "shape":"TemplateArn", + "documentation":"

      The review template ARN.

      ", + "location":"uri", + "locationName":"TemplateArn" + }, + "LensAlias":{ + "shape":"LensAlias", + "location":"uri", + "locationName":"LensAlias" + }, + "QuestionId":{ + "shape":"QuestionId", + "location":"uri", + "locationName":"QuestionId" + }, + "SelectedChoices":{"shape":"SelectedChoices"}, + "ChoiceUpdates":{ + "shape":"ChoiceUpdates", + "documentation":"

      A list of choices to be updated.

      " + }, + "Notes":{"shape":"Notes"}, + "IsApplicable":{"shape":"IsApplicable"}, + "Reason":{ + "shape":"AnswerReason", + "documentation":"

      The update reason.

      " + } + } + }, + "UpdateReviewTemplateAnswerOutput":{ + "type":"structure", + "members":{ + "TemplateArn":{ + "shape":"TemplateArn", + "documentation":"

      The review template ARN.

      " + }, + "LensAlias":{"shape":"LensAlias"}, + "Answer":{ + "shape":"ReviewTemplateAnswer", + "documentation":"

      An answer of the question.

      " + } + } + }, + "UpdateReviewTemplateInput":{ + "type":"structure", + "required":["TemplateArn"], + "members":{ + "TemplateArn":{ + "shape":"TemplateArn", + "documentation":"

      The review template ARN.

      ", + "location":"uri", + "locationName":"TemplateArn" + }, + "TemplateName":{ + "shape":"TemplateName", + "documentation":"

      The review template name.

      " + }, + "Description":{ + "shape":"TemplateDescription", + "documentation":"

      The review template description.

      " + }, + "Notes":{"shape":"Notes"}, + "LensesToAssociate":{ + "shape":"ReviewTemplateLensAliases", + "documentation":"

      A list of lens aliases or ARNs to apply to the review template.

      " + }, + "LensesToDisassociate":{ + "shape":"ReviewTemplateLensAliases", + "documentation":"

      A list of lens aliases or ARNs to unapply to the review template. The wellarchitected lens cannot be unapplied.

      " + } + } + }, + "UpdateReviewTemplateLensReviewInput":{ + "type":"structure", + "required":[ + "TemplateArn", + "LensAlias" + ], + "members":{ + "TemplateArn":{ + "shape":"TemplateArn", + "documentation":"

      The review template ARN.

      ", + "location":"uri", + "locationName":"TemplateArn" + }, + "LensAlias":{ + "shape":"LensAlias", + "location":"uri", + "locationName":"LensAlias" + }, + "LensNotes":{"shape":"Notes"}, + "PillarNotes":{"shape":"PillarNotes"} + } + }, + "UpdateReviewTemplateLensReviewOutput":{ + "type":"structure", + "members":{ + "TemplateArn":{ + "shape":"TemplateArn", + "documentation":"

      The review template ARN.

      " + }, + "LensReview":{ + "shape":"ReviewTemplateLensReview", + "documentation":"

      A lens review of a question.

      " + } + } + }, + "UpdateReviewTemplateOutput":{ + "type":"structure", + "members":{ + "ReviewTemplate":{ + "shape":"ReviewTemplate", + "documentation":"

      A review template.

      " + } + } + }, "UpdateShareInvitationInput":{ "type":"structure", "required":[ @@ -4384,6 +5404,27 @@ } } }, + "UpgradeReviewTemplateLensReviewInput":{ + "type":"structure", + "required":[ + "TemplateArn", + "LensAlias" + ], + "members":{ + "TemplateArn":{ + "shape":"TemplateArn", + "documentation":"

      The ARN of the review template.

      ", + "location":"uri", + "locationName":"TemplateArn" + }, + "LensAlias":{ + "shape":"LensAlias", + "location":"uri", + "locationName":"LensAlias" + }, + "ClientRequestToken":{"shape":"ClientRequestToken"} + } + }, "Urls":{ "type":"list", "member":{"shape":"ChoiceContent"} @@ -4578,7 +5619,7 @@ "WorkloadLenses":{ "type":"list", "member":{"shape":"LensAlias"}, - "documentation":"

      The list of lenses associated with the workload. Each lens is identified by its LensSummary$LensAlias.

      " + "documentation":"

      The list of lenses associated with the workload. Each lens is identified by its LensSummary$LensAlias.

      If a review template that specifies lenses is applied to the workload, those lenses are applied to the workload in addition to these lenses.

      " }, "WorkloadName":{ "type":"string", diff --git a/services/wisdom/pom.xml b/services/wisdom/pom.xml index c4be3283adab..11b76acd901b 100644 --- a/services/wisdom/pom.xml +++ b/services/wisdom/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT wisdom AWS Java SDK :: Services :: Wisdom diff --git a/services/wisdom/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/wisdom/src/main/resources/codegen-resources/endpoint-rule-set.json index ed174d9d57a2..7bbf62b4649d 100644 --- a/services/wisdom/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/wisdom/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://wisdom-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://wisdom-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://wisdom-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://wisdom-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://wisdom.{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://wisdom.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://wisdom.{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://wisdom.{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/services/workdocs/pom.xml b/services/workdocs/pom.xml index 60527d5b2dcb..234f70836725 100644 --- a/services/workdocs/pom.xml +++ b/services/workdocs/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT workdocs AWS Java SDK :: Services :: Amazon WorkDocs diff --git a/services/workdocs/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/workdocs/src/main/resources/codegen-resources/endpoint-rule-set.json index 781aaf4e4d9d..3c324fd5d819 100644 --- a/services/workdocs/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/workdocs/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://workdocs-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://workdocs-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://workdocs-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://workdocs-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://workdocs.{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://workdocs.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://workdocs.{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://workdocs.{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/services/workdocs/src/main/resources/codegen-resources/endpoint-tests.json b/services/workdocs/src/main/resources/codegen-resources/endpoint-tests.json index 24d3d86a5f50..13231bc9537d 100644 --- a/services/workdocs/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/workdocs/src/main/resources/codegen-resources/endpoint-tests.json @@ -8,9 +8,9 @@ } }, "params": { + "Region": "ap-northeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-northeast-1" + "UseDualStack": false } }, { @@ -21,9 +21,9 @@ } }, "params": { + "Region": "ap-southeast-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { @@ -34,9 +34,9 @@ } }, "params": { + "Region": "ap-southeast-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { @@ -47,9 +47,9 @@ } }, "params": { + "Region": "eu-west-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-west-1" + "UseDualStack": false } }, { @@ -60,9 +60,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -73,9 +73,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -86,9 +86,9 @@ } }, "params": { + "Region": "us-west-2", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -99,9 +99,9 @@ } }, "params": { + "Region": "us-west-2", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-west-2" + "UseDualStack": false } }, { @@ -112,9 +112,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -125,9 +125,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -138,9 +138,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -151,9 +151,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -164,9 +164,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -177,9 +177,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -190,9 +190,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -203,9 +203,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -216,9 +216,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -229,9 +229,20 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -242,9 +253,20 @@ } }, "params": { + "Region": "us-iso-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", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -255,9 +277,20 @@ } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { @@ -268,9 +301,20 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { @@ -281,9 +325,9 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -294,9 +338,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -319,9 +363,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" } }, @@ -331,11 +375,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/services/worklink/pom.xml b/services/worklink/pom.xml index a878b6d88e0a..9ecf4d6822fb 100644 --- a/services/worklink/pom.xml +++ b/services/worklink/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT worklink AWS Java SDK :: Services :: WorkLink diff --git a/services/worklink/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/worklink/src/main/resources/codegen-resources/endpoint-rule-set.json index f9472b183390..b68590f6cee6 100644 --- a/services/worklink/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/worklink/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "parseURL", + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,221 +140,175 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://worklink-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] }, { "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] - }, + } + ], + "type": "tree", + "rules": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://worklink-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://worklink-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://worklink-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://worklink.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://worklink.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://worklink.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://worklink.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/worklink/src/main/resources/codegen-resources/endpoint-tests.json b/services/worklink/src/main/resources/codegen-resources/endpoint-tests.json index 91c92af29cd0..e5d8218f84ab 100644 --- a/services/worklink/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/worklink/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,16 +1,281 @@ { "testCases": [ { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://worklink-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://worklink-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://worklink.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://worklink.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://worklink-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://worklink-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://worklink.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://worklink.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://worklink-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://worklink-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://worklink.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://worklink.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://worklink-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://worklink.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://worklink-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://worklink.us-isob-east-1.sc2s.sgov.gov" + } + }, + "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": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -20,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -32,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/workmail/pom.xml b/services/workmail/pom.xml index 4e13e1092b2c..a541d02fe601 100644 --- a/services/workmail/pom.xml +++ b/services/workmail/pom.xml @@ -20,7 +20,7 @@ services software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 workmail diff --git a/services/workmail/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/workmail/src/main/resources/codegen-resources/endpoint-rule-set.json index cab5481b11bc..a0b2c379c0d8 100644 --- a/services/workmail/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/workmail/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ { - "fn": "parseURL", + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,143 +140,86 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + ], + "type": "tree", + "rules": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] + "conditions": [], + "endpoint": { + "url": "https://workmail-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://workmail-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], "type": "tree", "rules": [ { @@ -238,78 +232,83 @@ "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://workmail.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://workmail.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://workmail.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://workmail.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/workmail/src/main/resources/codegen-resources/endpoint-tests.json b/services/workmail/src/main/resources/codegen-resources/endpoint-tests.json index fe0d9a2d03b2..be70fbc37317 100644 --- a/services/workmail/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/workmail/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,172 +1,307 @@ { "testCases": [ { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://workmail-fips.us-west-2.api.aws" + "url": "https://workmail.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://workmail-fips.us-west-2.amazonaws.com" + "url": "https://workmail.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://workmail.us-west-2.api.aws" + "url": "https://workmail.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, "Region": "us-west-2", - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://workmail.us-west-2.amazonaws.com" + "url": "https://workmail-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://workmail-fips.eu-west-1.api.aws" + "url": "https://workmail-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://workmail-fips.eu-west-1.amazonaws.com" + "url": "https://workmail.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": true + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://workmail.eu-west-1.api.aws" + "url": "https://workmail-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://workmail.eu-west-1.amazonaws.com" + "url": "https://workmail-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "eu-west-1", - "UseFIPS": false + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://workmail-fips.us-east-1.api.aws" + "url": "https://workmail.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://workmail-fips.us-east-1.amazonaws.com" + "url": "https://workmail.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": true + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://workmail.us-east-1.api.aws" + "url": "https://workmail-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://workmail.us-east-1.amazonaws.com" + "url": "https://workmail-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "Region": "us-east-1", - "UseFIPS": false + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workmail.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://workmail.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://workmail-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://workmail.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://workmail-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://workmail.us-isob-east-1.sc2s.sgov.gov" + } + }, + "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": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -176,9 +311,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -188,11 +323,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/workmail/src/main/resources/codegen-resources/paginators-1.json b/services/workmail/src/main/resources/codegen-resources/paginators-1.json index 6b71db44dace..f4305ce7e13d 100644 --- a/services/workmail/src/main/resources/codegen-resources/paginators-1.json +++ b/services/workmail/src/main/resources/codegen-resources/paginators-1.json @@ -21,6 +21,11 @@ "output_token": "NextToken", "limit_key": "MaxResults" }, + "ListGroupsForEntity": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, "ListImpersonationRoles": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/services/workmail/src/main/resources/codegen-resources/service-2.json b/services/workmail/src/main/resources/codegen-resources/service-2.json index 357302963404..9df664353a8d 100644 --- a/services/workmail/src/main/resources/codegen-resources/service-2.json +++ b/services/workmail/src/main/resources/codegen-resources/service-2.json @@ -25,7 +25,8 @@ {"shape":"EntityStateException"}, {"shape":"InvalidParameterException"}, {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"} + {"shape":"OrganizationStateException"}, + {"shape":"UnsupportedOperationException"} ], "documentation":"

      Adds a member (user or group) to the resource's set of delegates.

      ", "idempotent":true @@ -212,7 +213,8 @@ {"shape":"NameAvailabilityException"}, {"shape":"OrganizationNotFoundException"}, {"shape":"OrganizationStateException"}, - {"shape":"ReservedNameException"} + {"shape":"ReservedNameException"}, + {"shape":"UnsupportedOperationException"} ], "documentation":"

      Creates a new WorkMail resource.

      ", "idempotent":true @@ -414,7 +416,8 @@ {"shape":"EntityStateException"}, {"shape":"InvalidParameterException"}, {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"} + {"shape":"OrganizationStateException"}, + {"shape":"UnsupportedOperationException"} ], "documentation":"

      Deletes the specified resource.

      ", "idempotent":true @@ -508,6 +511,23 @@ "documentation":"

      Describes the current email monitoring configuration for a specified organization.

      ", "idempotent":true }, + "DescribeEntity":{ + "name":"DescribeEntity", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEntityRequest"}, + "output":{"shape":"DescribeEntityResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "documentation":"

      Returns basic details about an entity in WorkMail.

      ", + "idempotent":true + }, "DescribeGroup":{ "name":"DescribeGroup", "http":{ @@ -584,7 +604,8 @@ {"shape":"EntityNotFoundException"}, {"shape":"InvalidParameterException"}, {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"} + {"shape":"OrganizationStateException"}, + {"shape":"UnsupportedOperationException"} ], "documentation":"

      Returns the data available for the resource.

      ", "idempotent":true @@ -619,7 +640,8 @@ {"shape":"EntityStateException"}, {"shape":"InvalidParameterException"}, {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"} + {"shape":"OrganizationStateException"}, + {"shape":"UnsupportedOperationException"} ], "documentation":"

      Removes a member from the resource's set of delegates.

      ", "idempotent":true @@ -739,6 +761,7 @@ "input":{"shape":"GetMailboxDetailsRequest"}, "output":{"shape":"GetMailboxDetailsResponse"}, "errors":[ + {"shape":"InvalidParameterException"}, {"shape":"OrganizationNotFoundException"}, {"shape":"OrganizationStateException"}, {"shape":"EntityNotFoundException"} @@ -859,6 +882,24 @@ "documentation":"

      Returns summaries of the organization's groups.

      ", "idempotent":true }, + "ListGroupsForEntity":{ + "name":"ListGroupsForEntity", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListGroupsForEntityRequest"}, + "output":{"shape":"ListGroupsForEntityResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"EntityStateException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"}, + {"shape":"InvalidParameterException"} + ], + "documentation":"

      Returns all the groups to which an entity belongs.

      ", + "idempotent":true + }, "ListImpersonationRoles":{ "name":"ListImpersonationRoles", "http":{ @@ -981,7 +1022,8 @@ {"shape":"EntityStateException"}, {"shape":"InvalidParameterException"}, {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"} + {"shape":"OrganizationStateException"}, + {"shape":"UnsupportedOperationException"} ], "documentation":"

      Lists the delegates associated with a resource. Users and groups can be resource delegates and answer requests on behalf of the resource.

      ", "idempotent":true @@ -997,7 +1039,8 @@ "errors":[ {"shape":"InvalidParameterException"}, {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"} + {"shape":"OrganizationStateException"}, + {"shape":"UnsupportedOperationException"} ], "documentation":"

      Returns summaries of the organization's resources.

      ", "idempotent":true @@ -1224,6 +1267,7 @@ "input":{"shape":"TagResourceRequest"}, "output":{"shape":"TagResourceResponse"}, "errors":[ + {"shape":"InvalidParameterException"}, {"shape":"ResourceNotFoundException"}, {"shape":"TooManyTagsException"}, {"shape":"OrganizationStateException"} @@ -1294,6 +1338,25 @@ "documentation":"

      Updates the default mail domain for an organization. The default mail domain is used by the WorkMail AWS Console to suggest an email address when enabling a mail user. You can only have one default domain.

      ", "idempotent":true }, + "UpdateGroup":{ + "name":"UpdateGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateGroupRequest"}, + "output":{"shape":"UpdateGroupResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"EntityStateException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"InvalidParameterException"} + ], + "documentation":"

      Updates attibutes in a group.

      ", + "idempotent":true + }, "UpdateImpersonationRole":{ "name":"UpdateImpersonationRole", "http":{ @@ -1390,10 +1453,33 @@ {"shape":"MailDomainStateException"}, {"shape":"NameAvailabilityException"}, {"shape":"OrganizationNotFoundException"}, - {"shape":"OrganizationStateException"} + {"shape":"OrganizationStateException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"InvalidParameterException"} ], "documentation":"

      Updates data for the resource. To have the latest information, it must be preceded by a DescribeResource call. The dataset in the request should be the one expected when performing another DescribeResource call.

      ", "idempotent":true + }, + "UpdateUser":{ + "name":"UpdateUser", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateUserRequest"}, + "output":{"shape":"UpdateUserResponse"}, + "errors":[ + {"shape":"DirectoryServiceAuthenticationFailedException"}, + {"shape":"DirectoryUnavailableException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"EntityStateException"} + ], + "documentation":"

      Updates data for the user. To have the latest information, it must be preceded by a DescribeUser call. The dataset in the request should be the one expected when performing another DescribeUser call.

      ", + "idempotent":true } }, "shapes":{ @@ -1512,7 +1598,8 @@ "AmazonResourceName":{ "type":"string", "max":1011, - "min":1 + "min":1, + "pattern":"arn:aws:workmail:[a-z0-9-]*:[a-z0-9-]+:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}" }, "AssociateDelegateToResourceRequest":{ "type":"structure", @@ -1527,12 +1614,12 @@ "documentation":"

      The organization under which the resource exists.

      " }, "ResourceId":{ - "shape":"ResourceId", - "documentation":"

      The resource for which members (users or groups) are associated.

      " + "shape":"EntityIdentifier", + "documentation":"

      The resource for which members (users or groups) are associated.

      The identifier can accept ResourceId, Resourcename, or email. The following identity formats are available:

      • Resource ID: r-0123456789a0123456789b0123456789

      • Email address: resource@domain.tld

      • Resource name: resource

      " }, "EntityId":{ - "shape":"WorkMailIdentifier", - "documentation":"

      The member (user or group) to associate to the resource.

      " + "shape":"EntityIdentifier", + "documentation":"

      The member (user or group) to associate to the resource.

      The entity ID can accept UserId or GroupID, Username or Groupname, or email.

      • Entity: 12345678-1234-1234-1234-123456789012 or S-1-1-12-1234567890-123456789-123456789-1234

      • Email address: entity@domain.tld

      • Entity: entity

      " } } }, @@ -1554,12 +1641,12 @@ "documentation":"

      The organization under which the group exists.

      " }, "GroupId":{ - "shape":"WorkMailIdentifier", - "documentation":"

      The group to which the member (user or group) is associated.

      " + "shape":"EntityIdentifier", + "documentation":"

      The group to which the member (user or group) is associated.

      The identifier can accept GroupId, Groupname, or email. The following identity formats are available:

      • Group ID: 12345678-1234-1234-1234-123456789012 or S-1-1-12-1234567890-123456789-123456789-1234

      • Email address: group@domain.tld

      • Group name: group

      " }, "MemberId":{ - "shape":"WorkMailIdentifier", - "documentation":"

      The member (user or group) to associate to the group.

      " + "shape":"EntityIdentifier", + "documentation":"

      The member (user or group) to associate to the group.

      The member ID can accept UserID or GroupId, Username or Groupname, or email.

      • Member: 12345678-1234-1234-1234-123456789012 or S-1-1-12-1234567890-123456789-123456789-1234

      • Email address: member@domain.tld

      • Member name: member

      " } } }, @@ -1763,6 +1850,10 @@ "Name":{ "shape":"GroupName", "documentation":"

      The name of the group.

      " + }, + "HiddenFromGlobalAddressList":{ + "shape":"Boolean", + "documentation":"

      If this parameter is enabled, the group will be hidden from the address book.

      " } } }, @@ -1951,6 +2042,14 @@ "Type":{ "shape":"ResourceType", "documentation":"

      The type of the new resource. The available types are equipment and room.

      " + }, + "Description":{ + "shape":"ResourceDescription", + "documentation":"

      Resource description.

      " + }, + "HiddenFromGlobalAddressList":{ + "shape":"Boolean", + "documentation":"

      If this parameter is enabled, the resource will be hidden from the address book.

      " } } }, @@ -1968,8 +2067,7 @@ "required":[ "OrganizationId", "Name", - "DisplayName", - "Password" + "DisplayName" ], "members":{ "OrganizationId":{ @@ -1981,12 +2079,28 @@ "documentation":"

      The name for the new user. WorkMail directory user names have a maximum length of 64. All others have a maximum length of 20.

      " }, "DisplayName":{ - "shape":"String", + "shape":"UserAttribute", "documentation":"

      The display name for the new user.

      " }, "Password":{ "shape":"Password", "documentation":"

      The password for the new user.

      " + }, + "Role":{ + "shape":"UserRole", + "documentation":"

      The role of the new user.

      You cannot pass SYSTEM_USER or RESOURCE role in a single request. When a user role is not selected, the default role of USER is selected.

      " + }, + "FirstName":{ + "shape":"UserAttribute", + "documentation":"

      The first name of the new user.

      " + }, + "LastName":{ + "shape":"UserAttribute", + "documentation":"

      The last name of the new user.

      " + }, + "HiddenFromGlobalAddressList":{ + "shape":"Boolean", + "documentation":"

      If this parameter is enabled, the user will be hidden from the address book.

      " } } }, @@ -2115,8 +2229,8 @@ "documentation":"

      The organization that contains the group.

      " }, "GroupId":{ - "shape":"WorkMailIdentifier", - "documentation":"

      The identifier of the group to be deleted.

      " + "shape":"EntityIdentifier", + "documentation":"

      The identifier of the group to be deleted.

      The identifier can be the GroupId, or Groupname. The following identity formats are available:

      • Group ID: 12345678-1234-1234-1234-123456789012 or S-1-1-12-1234567890-123456789-123456789-1234

      • Group name: group

      " } } }, @@ -2160,12 +2274,12 @@ "documentation":"

      The identifier of the organization under which the member (user or group) exists.

      " }, "EntityId":{ - "shape":"WorkMailIdentifier", - "documentation":"

      The identifier of the member (user or group) that owns the mailbox.

      " + "shape":"EntityIdentifier", + "documentation":"

      The identifier of the entity that owns the mailbox.

      The identifier can be UserId or Group Id, Username or Groupname, or email.

      • Entity ID: 12345678-1234-1234-1234-123456789012, r-0123456789a0123456789b0123456789, or S-1-1-12-1234567890-123456789-123456789-1234

      • Email address: entity@domain.tld

      • Entity name: entity

      " }, "GranteeId":{ - "shape":"WorkMailIdentifier", - "documentation":"

      The identifier of the member (user or group) for which to delete granted permissions.

      " + "shape":"EntityIdentifier", + "documentation":"

      The identifier of the entity for which to delete granted permissions.

      The identifier can be UserId, ResourceID, or Group Id, Username or Groupname, or email.

      • Grantee ID: 12345678-1234-1234-1234-123456789012,r-0123456789a0123456789b0123456789, or S-1-1-12-1234567890-123456789-123456789-1234

      • Email address: grantee@domain.tld

      • Grantee name: grantee

      " } } }, @@ -2242,6 +2356,10 @@ "DeleteDirectory":{ "shape":"Boolean", "documentation":"

      If true, deletes the AWS Directory Service directory associated with the organization.

      " + }, + "ForceDelete":{ + "shape":"Boolean", + "documentation":"

      Deletes a WorkMail organization even if the organization has enabled users.

      " } } }, @@ -2270,8 +2388,8 @@ "documentation":"

      The identifier associated with the organization from which the resource is deleted.

      " }, "ResourceId":{ - "shape":"ResourceId", - "documentation":"

      The identifier of the resource to be deleted.

      " + "shape":"EntityIdentifier", + "documentation":"

      The identifier of the resource to be deleted.

      The identifier can accept ResourceId, or Resourcename. The following identity formats are available:

      • Resource ID: r-0123456789a0123456789b0123456789

      • Resource name: resource

      " } } }, @@ -2314,8 +2432,8 @@ "documentation":"

      The organization that contains the user to be deleted.

      " }, "UserId":{ - "shape":"WorkMailIdentifier", - "documentation":"

      The identifier of the user to be deleted.

      " + "shape":"EntityIdentifier", + "documentation":"

      The identifier of the user to be deleted.

      The identifier can be the UserId or Username. The following identity formats are available:

      • User ID: 12345678-1234-1234-1234-123456789012 or S-1-1-12-1234567890-123456789-123456789-1234

      • User name: user

      " } } }, @@ -2336,8 +2454,8 @@ "documentation":"

      The identifier for the organization under which the WorkMail entity exists.

      " }, "EntityId":{ - "shape":"WorkMailIdentifier", - "documentation":"

      The identifier for the member (user or group) to be updated.

      " + "shape":"EntityIdentifier", + "documentation":"

      The identifier for the member to be updated.

      The identifier can be UserId, ResourceId, or Group Id, Username, Resourcename, or Groupname, or email.

      • Entity ID: 12345678-1234-1234-1234-123456789012, r-0123456789a0123456789b0123456789, or S-1-1-12-1234567890-123456789-123456789-1234

      • Email address: entity@domain.tld

      • Entity name: entity

      " } } }, @@ -2391,6 +2509,40 @@ } } }, + "DescribeEntityRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "Email" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

      The identifier for the organization under which the entity exists.

      " + }, + "Email":{ + "shape":"EmailAddress", + "documentation":"

      The email under which the entity exists.

      " + } + } + }, + "DescribeEntityResponse":{ + "type":"structure", + "members":{ + "EntityId":{ + "shape":"WorkMailIdentifier", + "documentation":"

      The entity ID under which the entity exists.

      " + }, + "Name":{ + "shape":"String", + "documentation":"

      Username, GroupName, or ResourceName based on entity type.

      " + }, + "Type":{ + "shape":"EntityType", + "documentation":"

      Entity type.

      " + } + } + }, "DescribeGroupRequest":{ "type":"structure", "required":[ @@ -2403,8 +2555,8 @@ "documentation":"

      The identifier for the organization under which the group exists.

      " }, "GroupId":{ - "shape":"WorkMailIdentifier", - "documentation":"

      The identifier for the group to be described.

      " + "shape":"EntityIdentifier", + "documentation":"

      The identifier for the group to be described.

      The identifier can accept GroupId, Groupname, or email. The following identity formats are available:

      • Group ID: 12345678-1234-1234-1234-123456789012 or S-1-1-12-1234567890-123456789-123456789-1234

      • Email address: group@domain.tld

      • Group name: group

      " } } }, @@ -2434,6 +2586,10 @@ "DisabledDate":{ "shape":"Timestamp", "documentation":"

      The date and time when a user was deregistered from WorkMail, in UNIX epoch time format.

      " + }, + "HiddenFromGlobalAddressList":{ + "shape":"Boolean", + "documentation":"

      If the value is set to true, the group is hidden from the address book.

      " } } }, @@ -2574,6 +2730,14 @@ "ARN":{ "shape":"AmazonResourceName", "documentation":"

      The Amazon Resource Name (ARN) of the organization.

      " + }, + "MigrationAdmin":{ + "shape":"WorkMailIdentifier", + "documentation":"

      The user ID of the migration admin if migration is enabled for the organization.

      " + }, + "InteroperabilityEnabled":{ + "shape":"Boolean", + "documentation":"

      Indicates if interoperability is enabled for this organization.

      " } } }, @@ -2589,8 +2753,8 @@ "documentation":"

      The identifier associated with the organization for which the resource is described.

      " }, "ResourceId":{ - "shape":"ResourceId", - "documentation":"

      The identifier of the resource to be described.

      " + "shape":"EntityIdentifier", + "documentation":"

      The identifier of the resource to be described.

      The identifier can accept ResourceId, Resourcename, or email. The following identity formats are available:

      • Resource ID: r-0123456789a0123456789b0123456789

      • Email address: resource@domain.tld

      • Resource name: resource

      " } } }, @@ -2628,6 +2792,14 @@ "DisabledDate":{ "shape":"Timestamp", "documentation":"

      The date and time when a resource was disabled from WorkMail, in UNIX epoch time format.

      " + }, + "Description":{ + "shape":"ResourceDescription", + "documentation":"

      Description of the resource.

      " + }, + "HiddenFromGlobalAddressList":{ + "shape":"Boolean", + "documentation":"

      If enabled, the resource is hidden from the global address list.

      " } } }, @@ -2643,8 +2815,8 @@ "documentation":"

      The identifier for the organization under which the user exists.

      " }, "UserId":{ - "shape":"WorkMailIdentifier", - "documentation":"

      The identifier for the user to be described.

      " + "shape":"EntityIdentifier", + "documentation":"

      The identifier for the user to be described.

      The identifier can be the UserId, Username, or email. The following identity formats are available:

      • User ID: 12345678-1234-1234-1234-123456789012 or S-1-1-12-1234567890-123456789-123456789-1234

      • Email address: user@domain.tld

      • User name: user

      " } } }, @@ -2664,7 +2836,7 @@ "documentation":"

      The email of the user.

      " }, "DisplayName":{ - "shape":"String", + "shape":"UserAttribute", "documentation":"

      The display name of the user.

      " }, "State":{ @@ -2673,7 +2845,7 @@ }, "UserRole":{ "shape":"UserRole", - "documentation":"

      In certain cases, other entities are modeled as users. If interoperability is enabled, resources are imported into WorkMail as users. Because different WorkMail organizations rely on different directory types, administrators can distinguish between an unregistered user (account is disabled and has a user role) and the directory administrators. The values are USER, RESOURCE, and SYSTEM_USER.

      " + "documentation":"

      In certain cases, other entities are modeled as users. If interoperability is enabled, resources are imported into WorkMail as users. Because different WorkMail organizations rely on different directory types, administrators can distinguish between an unregistered user (account is disabled and has a user role) and the directory administrators. The values are USER, RESOURCE, SYSTEM_USER, and REMOTE_USER.

      " }, "EnabledDate":{ "shape":"Timestamp", @@ -2682,6 +2854,66 @@ "DisabledDate":{ "shape":"Timestamp", "documentation":"

      The date and time at which the user was disabled for WorkMail usage, in UNIX epoch time format.

      " + }, + "MailboxProvisionedDate":{ + "shape":"Timestamp", + "documentation":"

      The date when the mailbox was created for the user.

      " + }, + "MailboxDeprovisionedDate":{ + "shape":"Timestamp", + "documentation":"

      The date when the mailbox was removed for the user.

      " + }, + "FirstName":{ + "shape":"UserAttribute", + "documentation":"

      First name of the user.

      " + }, + "LastName":{ + "shape":"UserAttribute", + "documentation":"

      Last name of the user.

      " + }, + "HiddenFromGlobalAddressList":{ + "shape":"Boolean", + "documentation":"

      If enabled, the user is hidden from the global address list.

      " + }, + "Initials":{ + "shape":"UserAttribute", + "documentation":"

      Initials of the user.

      " + }, + "Telephone":{ + "shape":"UserAttribute", + "documentation":"

      User's contact number.

      " + }, + "Street":{ + "shape":"UserAttribute", + "documentation":"

      Street where the user is located.

      " + }, + "JobTitle":{ + "shape":"UserAttribute", + "documentation":"

      Job title of the user.

      " + }, + "City":{ + "shape":"UserAttribute", + "documentation":"

      City where the user is located.

      " + }, + "Company":{ + "shape":"UserAttribute", + "documentation":"

      Company of the user.

      " + }, + "ZipCode":{ + "shape":"UserAttribute", + "documentation":"

      Zip code of the user.

      " + }, + "Department":{ + "shape":"UserAttribute", + "documentation":"

      Department of the user.

      " + }, + "Country":{ + "shape":"UserAttribute", + "documentation":"

      Country where the user is located.

      " + }, + "Office":{ + "shape":"UserAttribute", + "documentation":"

      Office where the user is located.

      " } } }, @@ -2788,12 +3020,12 @@ "documentation":"

      The identifier for the organization under which the resource exists.

      " }, "ResourceId":{ - "shape":"ResourceId", - "documentation":"

      The identifier of the resource from which delegates' set members are removed.

      " + "shape":"EntityIdentifier", + "documentation":"

      The identifier of the resource from which delegates' set members are removed.

      The identifier can accept ResourceId, Resourcename, or email. The following identity formats are available:

      • Resource ID: r-0123456789a0123456789b0123456789

      • Email address: resource@domain.tld

      • Resource name: resource

      " }, "EntityId":{ - "shape":"WorkMailIdentifier", - "documentation":"

      The identifier for the member (user, group) to be removed from the resource's delegates.

      " + "shape":"EntityIdentifier", + "documentation":"

      The identifier for the member (user, group) to be removed from the resource's delegates.

      The entity ID can accept UserId or GroupID, Username or Groupname, or email.

      • Entity: 12345678-1234-1234-1234-123456789012 or S-1-1-12-1234567890-123456789-123456789-1234

      • Email address: entity@domain.tld

      • Entity: entity

      " } } }, @@ -2815,12 +3047,12 @@ "documentation":"

      The identifier for the organization under which the group exists.

      " }, "GroupId":{ - "shape":"WorkMailIdentifier", - "documentation":"

      The identifier for the group from which members are removed.

      " + "shape":"EntityIdentifier", + "documentation":"

      The identifier for the group from which members are removed.

      The identifier can accept GroupId, Groupname, or email. The following identity formats are available:

      • Group ID: 12345678-1234-1234-1234-123456789012 or S-1-1-12-1234567890-123456789-123456789-1234

      • Email address: group@domain.tld

      • Group name: group

      " }, "MemberId":{ - "shape":"WorkMailIdentifier", - "documentation":"

      The identifier for the member to be removed to the group.

      " + "shape":"EntityIdentifier", + "documentation":"

      The identifier for the member to be removed from the group.

      The member ID can accept UserID or GroupId, Username or Groupname, or email.

      • Member ID: 12345678-1234-1234-1234-123456789012 or S-1-1-12-1234567890-123456789-123456789-1234

      • Email address: member@domain.tld

      • Member name: member

      " } } }, @@ -2861,6 +3093,7 @@ }, "Domain":{ "type":"structure", + "required":["DomainName"], "members":{ "DomainName":{ "shape":"DomainName", @@ -2877,7 +3110,7 @@ "type":"string", "max":255, "min":3, - "pattern":"[a-zA-Z0-9.-]+\\.[a-zA-Z-]{2,}" + "pattern":"[a-zA-Z0-9.-]+" }, "Domains":{ "type":"list", @@ -2937,6 +3170,14 @@ "documentation":"

      You are performing an operation on a user, group, or resource that isn't in the expected state, such as trying to delete an active user.

      ", "exception":true }, + "EntityType":{ + "type":"string", + "enum":[ + "GROUP", + "USER", + "RESOURCE" + ] + }, "EwsAvailabilityProvider":{ "type":"structure", "required":[ @@ -3222,8 +3463,8 @@ "documentation":"

      The identifier for the organization that contains the user whose mailbox details are being requested.

      " }, "UserId":{ - "shape":"WorkMailIdentifier", - "documentation":"

      The identifier for the user whose mailbox details are being requested.

      " + "shape":"EntityIdentifier", + "documentation":"

      The identifier for the user whose mailbox details are being requested.

      The identifier can be the UserId, Username, or email. The following identity formats are available:

      • User ID: 12345678-1234-1234-1234-123456789012 or S-1-1-12-1234567890-123456789-123456789-1234

      • Email address: user@domain.tld

      • User name: user

      " } } }, @@ -3360,6 +3601,24 @@ }, "documentation":"

      The representation of an WorkMail group.

      " }, + "GroupIdentifier":{ + "type":"structure", + "members":{ + "GroupId":{ + "shape":"WorkMailIdentifier", + "documentation":"

      Group ID that matched the group.

      " + }, + "GroupName":{ + "shape":"GroupName", + "documentation":"

      Group name that matched the group.

      " + } + }, + "documentation":"

      The identifier that contains the Group ID and name of a group.

      " + }, + "GroupIdentifiers":{ + "type":"list", + "member":{"shape":"GroupIdentifier"} + }, "GroupName":{ "type":"string", "max":256, @@ -3374,7 +3633,7 @@ "type":"string", "max":32, "min":1, - "pattern":"[\\S\\s]*" + "pattern":"[^/\\\\]*" }, "IdempotencyClientToken":{ "type":"string", @@ -3714,8 +3973,8 @@ "documentation":"

      The identifier for the organization under which the group exists.

      " }, "GroupId":{ - "shape":"WorkMailIdentifier", - "documentation":"

      The identifier for the group to which the members (users or groups) are associated.

      " + "shape":"EntityIdentifier", + "documentation":"

      The identifier for the group to which the members (users or groups) are associated.

      The identifier can accept GroupId, Groupname, or email. The following identity formats are available:

      • Group ID: 12345678-1234-1234-1234-123456789012 or S-1-1-12-1234567890-123456789-123456789-1234

      • Email address: group@domain.tld

      • Group name: group

      " }, "NextToken":{ "shape":"NextToken", @@ -3740,6 +3999,76 @@ } } }, + "ListGroupsFilters":{ + "type":"structure", + "members":{ + "NamePrefix":{ + "shape":"String", + "documentation":"

      Filters only groups with the provided name prefix.

      " + }, + "PrimaryEmailPrefix":{ + "shape":"String", + "documentation":"

      Filters only groups with the provided primary email prefix.

      " + }, + "State":{ + "shape":"EntityState", + "documentation":"

      Filters only groups with the provided state.

      " + } + }, + "documentation":"

      Filtering options for ListGroups operation. This is only used as input to Operation.

      " + }, + "ListGroupsForEntityFilters":{ + "type":"structure", + "members":{ + "GroupNamePrefix":{ + "shape":"String", + "documentation":"

      Filters only group names that start with the provided name prefix.

      " + } + }, + "documentation":"

      Filtering options for ListGroupsForEntity operation. This is only used as input to Operation.

      " + }, + "ListGroupsForEntityRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "EntityId" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

      The identifier for the organization under which the entity exists.

      " + }, + "EntityId":{ + "shape":"EntityIdentifier", + "documentation":"

      The identifier for the entity.

      The entity ID can accept UserId or GroupID, Username or Groupname, or email.

      • Entity ID: 12345678-1234-1234-1234-123456789012 or S-1-1-12-1234567890-123456789-123456789-1234

      • Email address: entity@domain.tld

      • Entity name: entity

      " + }, + "Filters":{ + "shape":"ListGroupsForEntityFilters", + "documentation":"

      Limit the search results based on the filter criteria.

      " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

      The token to use to retrieve the next page of results. The first call does not contain any tokens.

      " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

      The maximum number of results to return in a single call.

      " + } + } + }, + "ListGroupsForEntityResponse":{ + "type":"structure", + "members":{ + "Groups":{ + "shape":"GroupIdentifiers", + "documentation":"

      The overview of groups in an organization.

      " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

      The token to use to retrieve the next page of results. This value is `null` when there are no more results to return.

      " + } + } + }, "ListGroupsRequest":{ "type":"structure", "required":["OrganizationId"], @@ -3755,6 +4084,10 @@ "MaxResults":{ "shape":"MaxResults", "documentation":"

      The maximum number of results to return in a single call.

      " + }, + "Filters":{ + "shape":"ListGroupsFilters", + "documentation":"

      Limit the search results based on the filter criteria. Only one filter per request is supported.

      " } } }, @@ -3876,8 +4209,8 @@ "documentation":"

      The identifier of the organization under which the user, group, or resource exists.

      " }, "EntityId":{ - "shape":"WorkMailIdentifier", - "documentation":"

      The identifier of the user, group, or resource for which to list mailbox permissions.

      " + "shape":"EntityIdentifier", + "documentation":"

      The identifier of the user, or resource for which to list mailbox permissions.

      The entity ID can accept UserId or ResourceId, Username or Resourcename, or email.

      • Entity ID: 12345678-1234-1234-1234-123456789012, or r-0123456789a0123456789b0123456789

      • Email address: entity@domain.tld

      • Entity name: entity

      " }, "NextToken":{ "shape":"NextToken", @@ -3998,8 +4331,8 @@ "documentation":"

      The identifier for the organization that contains the resource for which delegates are listed.

      " }, "ResourceId":{ - "shape":"WorkMailIdentifier", - "documentation":"

      The identifier for the resource whose delegates are listed.

      " + "shape":"EntityIdentifier", + "documentation":"

      The identifier for the resource whose delegates are listed.

      The identifier can accept ResourceId, Resourcename, or email. The following identity formats are available:

      • Resource ID: r-0123456789a0123456789b0123456789

      • Email address: resource@domain.tld

      • Resource name: resource

      " }, "NextToken":{ "shape":"NextToken", @@ -4024,6 +4357,24 @@ } } }, + "ListResourcesFilters":{ + "type":"structure", + "members":{ + "NamePrefix":{ + "shape":"String", + "documentation":"

      Filters only resource that start with the entered name prefix .

      " + }, + "PrimaryEmailPrefix":{ + "shape":"String", + "documentation":"

      Filters only resource with the provided primary email prefix.

      " + }, + "State":{ + "shape":"EntityState", + "documentation":"

      Filters only resource with the provided state.

      " + } + }, + "documentation":"

      Filtering options for ListResources operation. This is only used as input to Operation.

      " + }, "ListResourcesRequest":{ "type":"structure", "required":["OrganizationId"], @@ -4039,6 +4390,10 @@ "MaxResults":{ "shape":"MaxResults", "documentation":"

      The maximum number of results to return in a single call.

      " + }, + "Filters":{ + "shape":"ListResourcesFilters", + "documentation":"

      Limit the resource search results based on the filter criteria. You can only use one filter per request.

      " } } }, @@ -4074,6 +4429,28 @@ } } }, + "ListUsersFilters":{ + "type":"structure", + "members":{ + "UsernamePrefix":{ + "shape":"String", + "documentation":"

      Filters only users with the provided username prefix.

      " + }, + "DisplayNamePrefix":{ + "shape":"UserAttribute", + "documentation":"

      Filters only users with the provided display name prefix.

      " + }, + "PrimaryEmailPrefix":{ + "shape":"String", + "documentation":"

      Filters only users with the provided email prefix.

      " + }, + "State":{ + "shape":"EntityState", + "documentation":"

      Filters only users with the provided state.

      " + } + }, + "documentation":"

      Filtering options for ListUsers operation. This is only used as input to Operation.

      " + }, "ListUsersRequest":{ "type":"structure", "required":["OrganizationId"], @@ -4089,6 +4466,10 @@ "MaxResults":{ "shape":"MaxResults", "documentation":"

      The maximum number of results to return in a single call.

      " + }, + "Filters":{ + "shape":"ListUsersFilters", + "documentation":"

      Limit the user search results based on the filter criteria. You can only use one filter per request.

      " } } }, @@ -4427,6 +4808,11 @@ "documentation":"

      The user, group, or resource name isn't unique in WorkMail.

      ", "exception":true }, + "NewResourceDescription":{ + "type":"string", + "max":64, + "min":0 + }, "NextToken":{ "type":"string", "max":1024, @@ -4674,12 +5060,12 @@ "documentation":"

      The identifier of the organization under which the user, group, or resource exists.

      " }, "EntityId":{ - "shape":"WorkMailIdentifier", - "documentation":"

      The identifier of the user, group, or resource for which to update mailbox permissions.

      " + "shape":"EntityIdentifier", + "documentation":"

      The identifier of the user or resource for which to update mailbox permissions.

      The identifier can be UserId, ResourceID, or Group Id, Username, Resourcename, or Groupname, or email.

      • Entity ID: 12345678-1234-1234-1234-123456789012, r-0123456789a0123456789b0123456789, or S-1-1-12-1234567890-123456789-123456789-1234

      • Email address: entity@domain.tld

      • Entity name: entity

      " }, "GranteeId":{ - "shape":"WorkMailIdentifier", - "documentation":"

      The identifier of the user, group, or resource to which to grant the permissions.

      " + "shape":"EntityIdentifier", + "documentation":"

      The identifier of the user, group, or resource to which to grant the permissions.

      The identifier can be UserId, ResourceID, or Group Id, Username, Resourcename, or Groupname, or email.

      • Grantee ID: 12345678-1234-1234-1234-123456789012, r-0123456789a0123456789b0123456789, or S-1-1-12-1234567890-123456789-123456789-1234

      • Email address: grantee@domain.tld

      • Grantee name: grantee

      " }, "PermissionValues":{ "shape":"PermissionValues", @@ -4817,8 +5203,8 @@ "documentation":"

      The identifier for the organization under which the user, group, or resource exists.

      " }, "EntityId":{ - "shape":"WorkMailIdentifier", - "documentation":"

      The identifier for the user, group, or resource to be updated.

      " + "shape":"EntityIdentifier", + "documentation":"

      The identifier for the user, group, or resource to be updated.

      The identifier can accept UserId, ResourceId, or GroupId, or Username, Resourcename, or Groupname. The following identity formats are available:

      • Entity ID: 12345678-1234-1234-1234-123456789012, r-0123456789a0123456789b0123456789, or S-1-1-12-1234567890-123456789-123456789-1234

      • Entity name: entity

      " }, "Email":{ "shape":"EmailAddress", @@ -4896,6 +5282,10 @@ "DisabledDate":{ "shape":"Timestamp", "documentation":"

      The date indicating when the resource was disabled from WorkMail use.

      " + }, + "Description":{ + "shape":"ResourceDescription", + "documentation":"

      Resource description.

      " } }, "documentation":"

      The representation of a resource.

      " @@ -4904,6 +5294,11 @@ "type":"list", "member":{"shape":"Delegate"} }, + "ResourceDescription":{ + "type":"string", + "max":64, + "min":1 + }, "ResourceId":{ "type":"string", "max":34, @@ -4952,7 +5347,8 @@ "RoleArn":{ "type":"string", "max":2048, - "min":20 + "min":20, + "pattern":"arn:aws:iam:[a-z0-9-]*:[a-z0-9-]+:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}" }, "S3BucketName":{ "type":"string", @@ -4994,8 +5390,8 @@ "documentation":"

      The identifier associated with the organization.

      " }, "EntityId":{ - "shape":"WorkMailIdentifier", - "documentation":"

      The identifier of the user or resource associated with the mailbox.

      " + "shape":"EntityIdentifier", + "documentation":"

      The identifier of the user or resource associated with the mailbox.

      The identifier can accept UserId or ResourceId, Username or Resourcename, or email. The following identity formats are available:

      • Entity ID: 12345678-1234-1234-1234-123456789012, r-0123456789a0123456789b0123456789 , or S-1-1-12-1234567890-123456789-123456789-1234

      • Email address: entity@domain.tld

      • Entity name: entity

      " }, "Description":{ "shape":"Description", @@ -5220,6 +5616,32 @@ "members":{ } }, + "UpdateGroupRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "GroupId" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

      The identifier for the organization under which the group exists.

      " + }, + "GroupId":{ + "shape":"EntityIdentifier", + "documentation":"

      The identifier for the group to be updated.

      The identifier can accept GroupId, Groupname, or email. The following identity formats are available:

      • Group ID: 12345678-1234-1234-1234-123456789012 or S-1-1-12-1234567890-123456789-123456789-1234

      • Email address: group@domain.tld

      • Group name: group

      " + }, + "HiddenFromGlobalAddressList":{ + "shape":"BooleanObject", + "documentation":"

      If enabled, the group is hidden from the global address list.

      " + } + } + }, + "UpdateGroupResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateImpersonationRoleRequest":{ "type":"structure", "required":[ @@ -5274,8 +5696,8 @@ "documentation":"

      The identifier for the organization that contains the user for whom to update the mailbox quota.

      " }, "UserId":{ - "shape":"WorkMailIdentifier", - "documentation":"

      The identifer for the user for whom to update the mailbox quota.

      " + "shape":"EntityIdentifier", + "documentation":"

      The identifer for the user for whom to update the mailbox quota.

      The identifier can be the UserId, Username, or email. The following identity formats are available:

      • User ID: 12345678-1234-1234-1234-123456789012 or S-1-1-12-1234567890-123456789-123456789-1234

      • Email address: user@domain.tld

      • User name: user

      " }, "MailboxQuota":{ "shape":"MailboxQuota", @@ -5369,8 +5791,8 @@ "documentation":"

      The organization that contains the user, group, or resource to update.

      " }, "EntityId":{ - "shape":"WorkMailIdentifier", - "documentation":"

      The user, group, or resource to update.

      " + "shape":"EntityIdentifier", + "documentation":"

      The user, group, or resource to update.

      The identifier can accept UseriD, ResourceId, or GroupId, Username, Resourcename, or Groupname, or email. The following identity formats are available:

      • Entity ID: 12345678-1234-1234-1234-123456789012, r-0123456789a0123456789b0123456789, or S-1-1-12-1234567890-123456789-123456789-1234

      • Email address: entity@domain.tld

      • Entity name: entity

      " }, "Email":{ "shape":"EmailAddress", @@ -5395,8 +5817,8 @@ "documentation":"

      The identifier associated with the organization for which the resource is updated.

      " }, "ResourceId":{ - "shape":"ResourceId", - "documentation":"

      The identifier of the resource to be updated.

      " + "shape":"EntityIdentifier", + "documentation":"

      The identifier of the resource to be updated.

      The identifier can accept ResourceId, Resourcename, or email. The following identity formats are available:

      • Resource ID: r-0123456789a0123456789b0123456789

      • Email address: resource@domain.tld

      • Resource name: resource

      " }, "Name":{ "shape":"ResourceName", @@ -5405,6 +5827,18 @@ "BookingOptions":{ "shape":"BookingOptions", "documentation":"

      The resource's booking options to be updated.

      " + }, + "Description":{ + "shape":"NewResourceDescription", + "documentation":"

      Updates the resource description.

      " + }, + "Type":{ + "shape":"ResourceType", + "documentation":"

      Updates the resource type.

      " + }, + "HiddenFromGlobalAddressList":{ + "shape":"BooleanObject", + "documentation":"

      If enabled, the resource is hidden from the global address list.

      " } } }, @@ -5413,6 +5847,88 @@ "members":{ } }, + "UpdateUserRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "UserId" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

      The identifier for the organization under which the user exists.

      " + }, + "UserId":{ + "shape":"EntityIdentifier", + "documentation":"

      The identifier for the user to be updated.

      The identifier can be the UserId, Username, or email. The following identity formats are available:

      • User ID: 12345678-1234-1234-1234-123456789012 or S-1-1-12-1234567890-123456789-123456789-1234

      • Email address: user@domain.tld

      • User name: user

      " + }, + "Role":{ + "shape":"UserRole", + "documentation":"

      Updates the user role.

      You cannot pass SYSTEM_USER or RESOURCE.

      " + }, + "DisplayName":{ + "shape":"UserAttribute", + "documentation":"

      Updates the display name of the user.

      " + }, + "FirstName":{ + "shape":"UserAttribute", + "documentation":"

      Updates the user's first name.

      " + }, + "LastName":{ + "shape":"UserAttribute", + "documentation":"

      Updates the user's last name.

      " + }, + "HiddenFromGlobalAddressList":{ + "shape":"BooleanObject", + "documentation":"

      If enabled, the user is hidden from the global address list.

      " + }, + "Initials":{ + "shape":"UserAttribute", + "documentation":"

      Updates the user's initials.

      " + }, + "Telephone":{ + "shape":"UserAttribute", + "documentation":"

      Updates the user's contact details.

      " + }, + "Street":{ + "shape":"UserAttribute", + "documentation":"

      Updates the user's street address.

      " + }, + "JobTitle":{ + "shape":"UserAttribute", + "documentation":"

      Updates the user's job title.

      " + }, + "City":{ + "shape":"UserAttribute", + "documentation":"

      Updates the user's city.

      " + }, + "Company":{ + "shape":"UserAttribute", + "documentation":"

      Updates the user's company.

      " + }, + "ZipCode":{ + "shape":"UserAttribute", + "documentation":"

      Updates the user's zipcode.

      " + }, + "Department":{ + "shape":"UserAttribute", + "documentation":"

      Updates the user's department.

      " + }, + "Country":{ + "shape":"UserAttribute", + "documentation":"

      Updates the user's country.

      " + }, + "Office":{ + "shape":"UserAttribute", + "documentation":"

      Updates the user's office.

      " + } + } + }, + "UpdateUserResponse":{ + "type":"structure", + "members":{ + } + }, "Url":{ "type":"string", "max":256, @@ -5456,6 +5972,11 @@ }, "documentation":"

      The representation of an WorkMail user.

      " }, + "UserAttribute":{ + "type":"string", + "max":256, + "sensitive":true + }, "UserIdList":{ "type":"list", "member":{"shape":"WorkMailIdentifier"}, @@ -5473,7 +5994,8 @@ "enum":[ "USER", "RESOURCE", - "SYSTEM_USER" + "SYSTEM_USER", + "REMOTE_USER" ] }, "Users":{ @@ -5484,7 +6006,7 @@ "type":"string", "max":209, "min":3, - "pattern":"[a-zA-Z0-9.-]+\\.[a-zA-Z-]{2,}" + "pattern":"[a-zA-Z0-9.-]+" }, "WorkMailIdentifier":{ "type":"string", diff --git a/services/workmailmessageflow/pom.xml b/services/workmailmessageflow/pom.xml index ff64205d226e..444c943b0deb 100644 --- a/services/workmailmessageflow/pom.xml +++ b/services/workmailmessageflow/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT workmailmessageflow AWS Java SDK :: Services :: WorkMailMessageFlow diff --git a/services/workmailmessageflow/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/workmailmessageflow/src/main/resources/codegen-resources/endpoint-rule-set.json index 821d9f7d50b0..6aedb5684359 100644 --- a/services/workmailmessageflow/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/workmailmessageflow/src/main/resources/codegen-resources/endpoint-rule-set.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,21 +45,69 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ { - "fn": "parseURL", + "fn": "aws.partition", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ], - "assign": "url" + "assign": "PartitionResult" } ], "type": "tree", @@ -75,13 +122,17 @@ }, true ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], "type": "tree", "rules": [ { @@ -89,221 +140,175 @@ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://workmailmessageflow-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] }, { "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseFIPS" + }, + true ] - }, + } + ], + "type": "tree", + "rules": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://workmailmessageflow-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://workmailmessageflow-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "type": "tree", - "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } + "ref": "UseDualStack" + }, + true ] } ], "type": "tree", "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://workmailmessageflow-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, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "PartitionResult" - }, - "supportsDualStack" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://workmailmessageflow.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://workmailmessageflow.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] }, { "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" + "endpoint": { + "url": "https://workmailmessageflow.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, - { - "conditions": [], - "endpoint": { - "url": "https://workmailmessageflow.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" } ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/services/workmailmessageflow/src/main/resources/codegen-resources/endpoint-tests.json b/services/workmailmessageflow/src/main/resources/codegen-resources/endpoint-tests.json index 91c92af29cd0..3bee569a6863 100644 --- a/services/workmailmessageflow/src/main/resources/codegen-resources/endpoint-tests.json +++ b/services/workmailmessageflow/src/main/resources/codegen-resources/endpoint-tests.json @@ -1,16 +1,281 @@ { "testCases": [ { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workmailmessageflow-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://workmailmessageflow-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workmailmessageflow.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://workmailmessageflow.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workmailmessageflow-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://workmailmessageflow-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workmailmessageflow.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://workmailmessageflow.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workmailmessageflow-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://workmailmessageflow-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://workmailmessageflow.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://workmailmessageflow.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://workmailmessageflow-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://workmailmessageflow.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://workmailmessageflow-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://workmailmessageflow.us-isob-east-1.sc2s.sgov.gov" + } + }, + "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": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -20,9 +285,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -32,11 +297,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" diff --git a/services/workspaces/pom.xml b/services/workspaces/pom.xml index 4c977118b7e9..81ac65056956 100644 --- a/services/workspaces/pom.xml +++ b/services/workspaces/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT workspaces AWS Java SDK :: Services :: Amazon WorkSpaces diff --git a/services/workspaces/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/workspaces/src/main/resources/codegen-resources/endpoint-rule-set.json index 828bc33d1b37..f07e0d5663cf 100644 --- a/services/workspaces/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/workspaces/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://workspaces-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://workspaces-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://workspaces-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://workspaces-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://workspaces.{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://workspaces.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://workspaces.{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://workspaces.{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/services/workspaces/src/main/resources/codegen-resources/paginators-1.json b/services/workspaces/src/main/resources/codegen-resources/paginators-1.json index cc7a0c68892f..93b49cb1e0fd 100644 --- a/services/workspaces/src/main/resources/codegen-resources/paginators-1.json +++ b/services/workspaces/src/main/resources/codegen-resources/paginators-1.json @@ -1,5 +1,15 @@ { "pagination": { + "DescribeApplicationAssociations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken" + }, + "DescribeApplications": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken" + }, "DescribeWorkspaceBundles": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/services/workspaces/src/main/resources/codegen-resources/service-2.json b/services/workspaces/src/main/resources/codegen-resources/service-2.json index 3f36aa5bb45e..15203c1864ca 100644 --- a/services/workspaces/src/main/resources/codegen-resources/service-2.json +++ b/services/workspaces/src/main/resources/codegen-resources/service-2.json @@ -48,6 +48,28 @@ ], "documentation":"

      Associates the specified IP access control group with the specified directory.

      " }, + "AssociateWorkspaceApplication":{ + "name":"AssociateWorkspaceApplication", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateWorkspaceApplicationRequest"}, + "output":{"shape":"AssociateWorkspaceApplicationResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValuesException"}, + {"shape":"OperationNotSupportedException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ComputeNotCompatibleException"}, + {"shape":"OperatingSystemNotCompatibleException"}, + {"shape":"ApplicationNotSupportedException"}, + {"shape":"IncompatibleApplicationsException"} + ], + "documentation":"

      Associates the specified application to the specified WorkSpace.

      " + }, "AuthorizeIpRules":{ "name":"AuthorizeIpRules", "http":{ @@ -347,6 +369,24 @@ ], "documentation":"

      Deletes the specified image from your account. To delete an image, you must first delete any bundles that are associated with the image and unshare the image if it is shared with other accounts.

      " }, + "DeployWorkspaceApplications":{ + "name":"DeployWorkspaceApplications", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeployWorkspaceApplicationsRequest"}, + "output":{"shape":"DeployWorkspaceApplicationsResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValuesException"}, + {"shape":"OperationNotSupportedException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"IncompatibleApplicationsException"} + ], + "documentation":"

      Deploys associated applications to the specified WorkSpace

      " + }, "DeregisterWorkspaceDirectory":{ "name":"DeregisterWorkspaceDirectory", "http":{ @@ -390,6 +430,54 @@ ], "documentation":"

      Retrieves a list that describes modifications to the configuration of Bring Your Own License (BYOL) for the specified account.

      " }, + "DescribeApplicationAssociations":{ + "name":"DescribeApplicationAssociations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeApplicationAssociationsRequest"}, + "output":{"shape":"DescribeApplicationAssociationsResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValuesException"}, + {"shape":"OperationNotSupportedException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

      Describes the associations between the application and the specified associated resources.

      " + }, + "DescribeApplications":{ + "name":"DescribeApplications", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeApplicationsRequest"}, + "output":{"shape":"DescribeApplicationsResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValuesException"}, + {"shape":"OperationNotSupportedException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

      Describes the specified applications by filtering based on their compute types, license availability, operating systems, and owners.

      " + }, + "DescribeBundleAssociations":{ + "name":"DescribeBundleAssociations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeBundleAssociationsRequest"}, + "output":{"shape":"DescribeBundleAssociationsResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValuesException"}, + {"shape":"OperationNotSupportedException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

      Describes the associations between the applications and the specified bundle.

      " + }, "DescribeClientBranding":{ "name":"DescribeClientBranding", "http":{ @@ -466,6 +554,22 @@ ], "documentation":"

      Retrieves a list that describes the connection aliases used for cross-Region redirection. For more information, see Cross-Region Redirection for Amazon WorkSpaces.

      " }, + "DescribeImageAssociations":{ + "name":"DescribeImageAssociations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeImageAssociationsRequest"}, + "output":{"shape":"DescribeImageAssociationsResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValuesException"}, + {"shape":"OperationNotSupportedException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

      Describes the associations between the applications and the specified image.

      " + }, "DescribeIpGroups":{ "name":"DescribeIpGroups", "http":{ @@ -493,6 +597,22 @@ ], "documentation":"

      Describes the specified tags for the specified WorkSpaces resource.

      " }, + "DescribeWorkspaceAssociations":{ + "name":"DescribeWorkspaceAssociations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeWorkspaceAssociationsRequest"}, + "output":{"shape":"DescribeWorkspaceAssociationsResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValuesException"}, + {"shape":"OperationNotSupportedException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

      Describes the associations betweens applications and the specified WorkSpace.

      " + }, "DescribeWorkspaceBundles":{ "name":"DescribeWorkspaceBundles", "http":{ @@ -622,6 +742,23 @@ ], "documentation":"

      Disassociates the specified IP access control group from the specified directory.

      " }, + "DisassociateWorkspaceApplication":{ + "name":"DisassociateWorkspaceApplication", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateWorkspaceApplicationRequest"}, + "output":{"shape":"DisassociateWorkspaceApplicationResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValuesException"}, + {"shape":"OperationNotSupportedException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

      Disassociates the specified application from a WorkSpace.

      " + }, "ImportClientBranding":{ "name":"ImportClientBranding", "http":{ @@ -1106,12 +1243,69 @@ "Microsoft_Office_2019" ] }, + "ApplicationAssociatedResourceType":{ + "type":"string", + "enum":[ + "WORKSPACE", + "BUNDLE", + "IMAGE" + ] + }, + "ApplicationAssociatedResourceTypeList":{ + "type":"list", + "member":{"shape":"ApplicationAssociatedResourceType"} + }, "ApplicationList":{ "type":"list", "member":{"shape":"Application"}, "max":5, "min":1 }, + "ApplicationNotSupportedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

      The specified application is not supported.

      ", + "exception":true + }, + "ApplicationResourceAssociation":{ + "type":"structure", + "members":{ + "ApplicationId":{ + "shape":"WorkSpaceApplicationId", + "documentation":"

      The identifier of the application.

      " + }, + "AssociatedResourceId":{ + "shape":"NonEmptyString", + "documentation":"

      The identifier of the associated resource.

      " + }, + "AssociatedResourceType":{ + "shape":"ApplicationAssociatedResourceType", + "documentation":"

      The resource type of the associated resource.

      " + }, + "Created":{ + "shape":"Timestamp", + "documentation":"

      The time the association was created.

      " + }, + "LastUpdatedTime":{ + "shape":"Timestamp", + "documentation":"

      The time the association status was last updated.

      " + }, + "State":{ + "shape":"AssociationState", + "documentation":"

      The status of the application resource association.

      " + }, + "StateReason":{ + "shape":"AssociationStateReason", + "documentation":"

      The reason the association deployment failed.

      " + } + }, + "documentation":"

      Describes the association between an application and an application resource.

      " + }, + "ApplicationResourceAssociationList":{ + "type":"list", + "member":{"shape":"ApplicationResourceAssociation"} + }, "AssociateConnectionAliasRequest":{ "type":"structure", "required":[ @@ -1160,6 +1354,70 @@ "members":{ } }, + "AssociateWorkspaceApplicationRequest":{ + "type":"structure", + "required":[ + "WorkspaceId", + "ApplicationId" + ], + "members":{ + "WorkspaceId":{ + "shape":"WorkspaceId", + "documentation":"

      The identifier of the WorkSpace.

      " + }, + "ApplicationId":{ + "shape":"WorkSpaceApplicationId", + "documentation":"

      The identifier of the application.

      " + } + } + }, + "AssociateWorkspaceApplicationResult":{ + "type":"structure", + "members":{ + "Association":{ + "shape":"WorkspaceResourceAssociation", + "documentation":"

      Information about the association between the specified WorkSpace and the specified application.

      " + } + } + }, + "AssociationErrorCode":{ + "type":"string", + "enum":[ + "ValidationError.InsufficientDiskSpace", + "ValidationError.InsufficientMemory", + "ValidationError.UnsupportedOperatingSystem", + "DeploymentError.InternalServerError", + "DeploymentError.WorkspaceUnreachable" + ] + }, + "AssociationState":{ + "type":"string", + "enum":[ + "PENDING_INSTALL", + "PENDING_INSTALL_DEPLOYMENT", + "PENDING_UNINSTALL", + "PENDING_UNINSTALL_DEPLOYMENT", + "INSTALLING", + "UNINSTALLING", + "ERROR", + "COMPLETED", + "REMOVED" + ] + }, + "AssociationStateReason":{ + "type":"structure", + "members":{ + "ErrorCode":{ + "shape":"AssociationErrorCode", + "documentation":"

      The error code of the association deployment failure.

      " + }, + "ErrorMessage":{ + "shape":"String2048", + "documentation":"

      The error message of the association deployment failure.

      " + } + }, + "documentation":"

      Indicates the reason that the association deployment failed, including the error code and error message.

      " + }, "AssociationStatus":{ "type":"string", "enum":[ @@ -1197,6 +1455,14 @@ "pattern":"^\\d{12}$" }, "BooleanObject":{"type":"boolean"}, + "BundleAssociatedResourceType":{ + "type":"string", + "enum":["APPLICATION"] + }, + "BundleAssociatedResourceTypeList":{ + "type":"list", + "member":{"shape":"BundleAssociatedResourceType"} + }, "BundleId":{ "type":"string", "pattern":"^wsb-[0-9a-z]{8,63}$" @@ -1212,6 +1478,44 @@ "member":{"shape":"WorkspaceBundle"} }, "BundleOwner":{"type":"string"}, + "BundleResourceAssociation":{ + "type":"structure", + "members":{ + "AssociatedResourceId":{ + "shape":"NonEmptyString", + "documentation":"

      The identifier of the associated resource.

      " + }, + "AssociatedResourceType":{ + "shape":"BundleAssociatedResourceType", + "documentation":"

      The resource type of the associated resources.

      " + }, + "BundleId":{ + "shape":"BundleId", + "documentation":"

      The identifier of the bundle.

      " + }, + "Created":{ + "shape":"Timestamp", + "documentation":"

      The time the association is created.

      " + }, + "LastUpdatedTime":{ + "shape":"Timestamp", + "documentation":"

      The time the association status was last updated.

      " + }, + "State":{ + "shape":"AssociationState", + "documentation":"

      The status of the bundle resource association.

      " + }, + "StateReason":{ + "shape":"AssociationStateReason", + "documentation":"

      The reason the association deployment failed.

      " + } + }, + "documentation":"

      Describes the association between an application and a bundle resource.

      " + }, + "BundleResourceAssociationList":{ + "type":"list", + "member":{"shape":"BundleResourceAssociation"} + }, "BundleType":{ "type":"string", "enum":[ @@ -1333,6 +1637,17 @@ "GRAPHICSPRO_G4DN" ] }, + "ComputeList":{ + "type":"list", + "member":{"shape":"Compute"} + }, + "ComputeNotCompatibleException":{ + "type":"structure", + "members":{ + }, + "documentation":"

      The compute type of the WorkSpace is not compatible with the application.

      ", + "exception":true + }, "ComputeType":{ "type":"structure", "members":{ @@ -2087,6 +2402,29 @@ "members":{ } }, + "DeployWorkspaceApplicationsRequest":{ + "type":"structure", + "required":["WorkspaceId"], + "members":{ + "WorkspaceId":{ + "shape":"WorkspaceId", + "documentation":"

      The identifier of the WorkSpace.

      " + }, + "Force":{ + "shape":"BooleanObject", + "documentation":"

      Indicates whether the force flag is applied for the specified WorkSpace. When the force flag is enabled, it allows previously failed deployments to be retried.

      " + } + } + }, + "DeployWorkspaceApplicationsResult":{ + "type":"structure", + "members":{ + "Deployment":{ + "shape":"WorkSpaceApplicationDeployment", + "documentation":"

      The list of deployed associations and information about them.

      " + } + } + }, "DeregisterWorkspaceDirectoryRequest":{ "type":"structure", "required":["DirectoryId"], @@ -2142,6 +2480,116 @@ } } }, + "DescribeApplicationAssociationsRequest":{ + "type":"structure", + "required":[ + "ApplicationId", + "AssociatedResourceTypes" + ], + "members":{ + "MaxResults":{ + "shape":"Limit", + "documentation":"

      The maximum number of associations to return.

      " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

      If you received a NextToken from a previous call that was paginated, provide this token to receive the next set of results.

      " + }, + "ApplicationId":{ + "shape":"WorkSpaceApplicationId", + "documentation":"

      The identifier of the specified application.

      " + }, + "AssociatedResourceTypes":{ + "shape":"ApplicationAssociatedResourceTypeList", + "documentation":"

      The resource type of the associated resources.

      " + } + } + }, + "DescribeApplicationAssociationsResult":{ + "type":"structure", + "members":{ + "Associations":{ + "shape":"ApplicationResourceAssociationList", + "documentation":"

      List of associations and information about them.

      " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

      If you received a NextToken from a previous call that was paginated, provide this token to receive the next set of results.

      " + } + } + }, + "DescribeApplicationsRequest":{ + "type":"structure", + "members":{ + "ApplicationIds":{ + "shape":"WorkSpaceApplicationIdList", + "documentation":"

      The identifiers of one or more applications.

      " + }, + "ComputeTypeNames":{ + "shape":"ComputeList", + "documentation":"

      The compute types supported by the applications.

      " + }, + "LicenseType":{ + "shape":"WorkSpaceApplicationLicenseType", + "documentation":"

      The license availability for the applications.

      " + }, + "OperatingSystemNames":{ + "shape":"OperatingSystemNameList", + "documentation":"

      The operating systems supported by the applications.

      " + }, + "Owner":{ + "shape":"WorkSpaceApplicationOwner", + "documentation":"

      The owner of the applications.

      " + }, + "MaxResults":{ + "shape":"Limit", + "documentation":"

      The maximum number of applications to return.

      " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

      If you received a NextToken from a previous call that was paginated, provide this token to receive the next set of results.

      " + } + } + }, + "DescribeApplicationsResult":{ + "type":"structure", + "members":{ + "Applications":{ + "shape":"WorkSpaceApplicationList", + "documentation":"

      List of information about the specified applications.

      " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

      If you received a NextToken from a previous call that was paginated, provide this token to receive the next set of results.

      " + } + } + }, + "DescribeBundleAssociationsRequest":{ + "type":"structure", + "required":[ + "BundleId", + "AssociatedResourceTypes" + ], + "members":{ + "BundleId":{ + "shape":"BundleId", + "documentation":"

      The identifier of the bundle.

      " + }, + "AssociatedResourceTypes":{ + "shape":"BundleAssociatedResourceTypeList", + "documentation":"

      The resource types of the associated resource.

      " + } + } + }, + "DescribeBundleAssociationsResult":{ + "type":"structure", + "members":{ + "Associations":{ + "shape":"BundleResourceAssociationList", + "documentation":"

      List of information about the specified associations.

      " + } + } + }, "DescribeClientBrandingRequest":{ "type":"structure", "required":["ResourceId"], @@ -2300,6 +2748,32 @@ } } }, + "DescribeImageAssociationsRequest":{ + "type":"structure", + "required":[ + "ImageId", + "AssociatedResourceTypes" + ], + "members":{ + "ImageId":{ + "shape":"WorkspaceImageId", + "documentation":"

      The identifier of the image.

      " + }, + "AssociatedResourceTypes":{ + "shape":"ImageAssociatedResourceTypeList", + "documentation":"

      The resource types of the associated resource.

      " + } + } + }, + "DescribeImageAssociationsResult":{ + "type":"structure", + "members":{ + "Associations":{ + "shape":"ImageResourceAssociationList", + "documentation":"

      List of information about the specified associations.

      " + } + } + }, "DescribeIpGroupsRequest":{ "type":"structure", "members":{ @@ -2349,6 +2823,32 @@ } } }, + "DescribeWorkspaceAssociationsRequest":{ + "type":"structure", + "required":[ + "WorkspaceId", + "AssociatedResourceTypes" + ], + "members":{ + "WorkspaceId":{ + "shape":"WorkspaceId", + "documentation":"

      The identifier of the WorkSpace.

      " + }, + "AssociatedResourceTypes":{ + "shape":"WorkSpaceAssociatedResourceTypeList", + "documentation":"

      The resource types of the associated resources.

      " + } + } + }, + "DescribeWorkspaceAssociationsResult":{ + "type":"structure", + "members":{ + "Associations":{ + "shape":"WorkspaceResourceAssociationList", + "documentation":"

      List of information about the specified associations.

      " + } + } + }, "DescribeWorkspaceBundlesRequest":{ "type":"structure", "members":{ @@ -2624,6 +3124,32 @@ "members":{ } }, + "DisassociateWorkspaceApplicationRequest":{ + "type":"structure", + "required":[ + "WorkspaceId", + "ApplicationId" + ], + "members":{ + "WorkspaceId":{ + "shape":"WorkspaceId", + "documentation":"

      The identifier of the WorkSpace.

      " + }, + "ApplicationId":{ + "shape":"WorkSpaceApplicationId", + "documentation":"

      The identifier of the application.

      " + } + } + }, + "DisassociateWorkspaceApplicationResult":{ + "type":"structure", + "members":{ + "Association":{ + "shape":"WorkspaceResourceAssociation", + "documentation":"

      Information about the targeted association.

      " + } + } + }, "DnsIpAddresses":{ "type":"list", "member":{"shape":"IpAddress"} @@ -2632,6 +3158,24 @@ "type":"string", "pattern":"^ami\\-([a-f0-9]{8}|[a-f0-9]{17})$" }, + "ErrorDetails":{ + "type":"structure", + "members":{ + "ErrorCode":{ + "shape":"WorkspaceImageErrorDetailCode", + "documentation":"

      Indicates the error code returned.

      " + }, + "ErrorMessage":{ + "shape":"Description", + "documentation":"

      The text of the error message related the error code.

      " + } + }, + "documentation":"

      Describes in-depth details about the error. These details include the possible causes of the error and troubleshooting information.

      " + }, + "ErrorDetailsList":{ + "type":"list", + "member":{"shape":"ErrorDetails"} + }, "ErrorType":{"type":"string"}, "ExceptionErrorCode":{"type":"string"}, "ExceptionMessage":{"type":"string"}, @@ -2717,6 +3261,14 @@ }, "documentation":"

      Describes a WorkSpace that could not be rebooted. (RebootWorkspaces), rebuilt (RebuildWorkspaces), restored (RestoreWorkspace), terminated (TerminateWorkspaces), started (StartWorkspaces), or stopped (StopWorkspaces).

      " }, + "ImageAssociatedResourceType":{ + "type":"string", + "enum":["APPLICATION"] + }, + "ImageAssociatedResourceTypeList":{ + "type":"list", + "member":{"shape":"ImageAssociatedResourceType"} + }, "ImagePermission":{ "type":"structure", "members":{ @@ -2731,6 +3283,44 @@ "type":"list", "member":{"shape":"ImagePermission"} }, + "ImageResourceAssociation":{ + "type":"structure", + "members":{ + "AssociatedResourceId":{ + "shape":"NonEmptyString", + "documentation":"

      The identifier of the associated resource.

      " + }, + "AssociatedResourceType":{ + "shape":"ImageAssociatedResourceType", + "documentation":"

      The resource type of the associated resources.

      " + }, + "Created":{ + "shape":"Timestamp", + "documentation":"

      The time the association is created.

      " + }, + "LastUpdatedTime":{ + "shape":"Timestamp", + "documentation":"

      The time the association status was last updated.

      " + }, + "ImageId":{ + "shape":"WorkspaceImageId", + "documentation":"

      The identifier of the image.

      " + }, + "State":{ + "shape":"AssociationState", + "documentation":"

      The status of the image resource association.

      " + }, + "StateReason":{ + "shape":"AssociationStateReason", + "documentation":"

      The reason the association deployment failed.

      " + } + }, + "documentation":"

      Describes the association between an application and an image resource.

      " + }, + "ImageResourceAssociationList":{ + "type":"list", + "member":{"shape":"ImageResourceAssociation"} + }, "ImageType":{ "type":"string", "enum":[ @@ -2845,6 +3435,13 @@ } } }, + "IncompatibleApplicationsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

      The specified application is not compatible with the resource.

      ", + "exception":true + }, "InvalidParameterValuesException":{ "type":"structure", "members":{ @@ -3312,6 +3909,33 @@ }, "documentation":"

      The operating system that the image is running.

      " }, + "OperatingSystemName":{ + "type":"string", + "enum":[ + "AMAZON_LINUX_2", + "UBUNTU_18_04", + "UBUNTU_20_04", + "UBUNTU_22_04", + "UNKNOWN", + "WINDOWS_10", + "WINDOWS_11", + "WINDOWS_7", + "WINDOWS_SERVER_2016", + "WINDOWS_SERVER_2019", + "WINDOWS_SERVER_2022" + ] + }, + "OperatingSystemNameList":{ + "type":"list", + "member":{"shape":"OperatingSystemName"} + }, + "OperatingSystemNotCompatibleException":{ + "type":"structure", + "members":{ + }, + "documentation":"

      The operating system of the WorkSpace is not compatible with the application.

      ", + "exception":true + }, "OperatingSystemType":{ "type":"string", "enum":[ @@ -3568,6 +4192,18 @@ "max":25, "min":1 }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"}, + "ResourceId":{ + "shape":"NonEmptyString", + "documentation":"

      The ID of the resource that is in use.

      " + } + }, + "documentation":"

      The specified resource is currently in use.

      ", + "exception":true + }, "ResourceLimitExceededException":{ "type":"structure", "members":{ @@ -3851,6 +4487,11 @@ } } }, + "String2048":{ + "type":"string", + "max":2048, + "min":0 + }, "SubnetId":{ "type":"string", "max":24, @@ -4117,6 +4758,100 @@ }, "UserVolumeSizeGib":{"type":"integer"}, "VolumeEncryptionKey":{"type":"string"}, + "WorkSpaceApplication":{ + "type":"structure", + "members":{ + "ApplicationId":{ + "shape":"WorkSpaceApplicationId", + "documentation":"

      The identifier of the application.

      " + }, + "Created":{ + "shape":"Timestamp", + "documentation":"

      The time the application is created.

      " + }, + "Description":{ + "shape":"String2048", + "documentation":"

      The description of the WorkSpace application.

      " + }, + "LicenseType":{ + "shape":"WorkSpaceApplicationLicenseType", + "documentation":"

      The license availability for the applications.

      " + }, + "Name":{ + "shape":"NonEmptyString", + "documentation":"

      The name of the WorkSpace application.

      " + }, + "Owner":{ + "shape":"WorkSpaceApplicationOwner", + "documentation":"

      The owner of the WorkSpace application.

      " + }, + "State":{ + "shape":"WorkSpaceApplicationState", + "documentation":"

      The status of WorkSpace application.

      " + }, + "SupportedComputeTypeNames":{ + "shape":"ComputeList", + "documentation":"

      The supported compute types of the WorkSpace application.

      " + }, + "SupportedOperatingSystemNames":{ + "shape":"OperatingSystemNameList", + "documentation":"

      The supported operating systems of the WorkSpace application.

      " + } + }, + "documentation":"

      Describes the WorkSpace application.

      " + }, + "WorkSpaceApplicationDeployment":{ + "type":"structure", + "members":{ + "Associations":{ + "shape":"WorkspaceResourceAssociationList", + "documentation":"

      The associations between the applications and the associated resources.

      " + } + }, + "documentation":"

      Describes the WorkSpace application deployment.

      " + }, + "WorkSpaceApplicationId":{ + "type":"string", + "pattern":"^wsa-[0-9a-z]{8,63}$" + }, + "WorkSpaceApplicationIdList":{ + "type":"list", + "member":{"shape":"WorkSpaceApplicationId"}, + "max":25, + "min":1 + }, + "WorkSpaceApplicationLicenseType":{ + "type":"string", + "enum":[ + "LICENSED", + "UNLICENSED" + ] + }, + "WorkSpaceApplicationList":{ + "type":"list", + "member":{"shape":"WorkSpaceApplication"} + }, + "WorkSpaceApplicationOwner":{ + "type":"string", + "pattern":"^\\d{12}|AMAZON$" + }, + "WorkSpaceApplicationState":{ + "type":"string", + "enum":[ + "PENDING", + "ERROR", + "AVAILABLE", + "UNINSTALL_ONLY" + ] + }, + "WorkSpaceAssociatedResourceType":{ + "type":"string", + "enum":["APPLICATION"] + }, + "WorkSpaceAssociatedResourceTypeList":{ + "type":"list", + "member":{"shape":"WorkSpaceAssociatedResourceType"} + }, "Workspace":{ "type":"structure", "members":{ @@ -4507,6 +5242,10 @@ "Updates":{ "shape":"UpdateResult", "documentation":"

      The updates (if any) that are available for the specified image.

      " + }, + "ErrorDetails":{ + "shape":"ErrorDetailsList", + "documentation":"

      Additional details of the error returned for the image, including the possible causes of the errors and troubleshooting information.

      " } }, "documentation":"

      Describes a WorkSpace image.

      " @@ -4518,6 +5257,37 @@ "pattern":"^[a-zA-Z0-9_./() -]+$" }, "WorkspaceImageErrorCode":{"type":"string"}, + "WorkspaceImageErrorDetailCode":{ + "type":"string", + "enum":[ + "OutdatedPowershellVersion", + "OfficeInstalled", + "PCoIPAgentInstalled", + "WindowsUpdatesEnabled", + "AutoMountDisabled", + "WorkspacesBYOLAccountNotFound", + "WorkspacesBYOLAccountDisabled", + "DHCPDisabled", + "DiskFreeSpace", + "AdditionalDrivesAttached", + "OSNotSupported", + "DomainJoined", + "AzureDomainJoined", + "FirewallEnabled", + "VMWareToolsInstalled", + "DiskSizeExceeded", + "IncompatiblePartitioning", + "PendingReboot", + "AutoLogonEnabled", + "RealTimeUniversalDisabled", + "MultipleBootPartition", + "Requires64BitOS", + "ZeroRearmCount", + "InPlaceUpgrade", + "AntiVirusInstalled", + "UEFINotSupported" + ] + }, "WorkspaceImageId":{ "type":"string", "pattern":"wsi-[0-9a-z]{9,63}$" @@ -4595,6 +5365,10 @@ "Protocols":{ "shape":"ProtocolList", "documentation":"

      The protocol. For more information, see Protocols for Amazon WorkSpaces.

      • Only available for WorkSpaces created with PCoIP bundles.

      • The Protocols property is case sensitive. Ensure you use PCOIP or WSP.

      • Unavailable for Windows 7 WorkSpaces and WorkSpaces using GPU-based bundles (Graphics, GraphicsPro, Graphics.g4dn, and GraphicsPro.g4dn).

      " + }, + "OperatingSystemName":{ + "shape":"OperatingSystemName", + "documentation":"

      The name of the operating system.

      " } }, "documentation":"

      Describes a WorkSpace.

      " @@ -4648,6 +5422,44 @@ "max":25, "min":1 }, + "WorkspaceResourceAssociation":{ + "type":"structure", + "members":{ + "AssociatedResourceId":{ + "shape":"NonEmptyString", + "documentation":"

      The identifier of the associated resource.

      " + }, + "AssociatedResourceType":{ + "shape":"WorkSpaceAssociatedResourceType", + "documentation":"

      The resource types of the associated resource.

      " + }, + "Created":{ + "shape":"Timestamp", + "documentation":"

      The time the association is created.

      " + }, + "LastUpdatedTime":{ + "shape":"Timestamp", + "documentation":"

      The time the association status was last updated.

      " + }, + "State":{ + "shape":"AssociationState", + "documentation":"

      The status of the WorkSpace resource association.

      " + }, + "StateReason":{ + "shape":"AssociationStateReason", + "documentation":"

      The reason the association deployment failed.

      " + }, + "WorkspaceId":{ + "shape":"WorkspaceId", + "documentation":"

      The identifier of the WorkSpace.

      " + } + }, + "documentation":"

      Describes the association between an application and a WorkSpace resource.

      " + }, + "WorkspaceResourceAssociationList":{ + "type":"list", + "member":{"shape":"WorkspaceResourceAssociation"} + }, "WorkspaceState":{ "type":"string", "enum":[ diff --git a/services/workspacesweb/pom.xml b/services/workspacesweb/pom.xml index 9ae85d1893c0..e2e7215df501 100644 --- a/services/workspacesweb/pom.xml +++ b/services/workspacesweb/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT workspacesweb AWS Java SDK :: Services :: Work Spaces Web diff --git a/services/xray/pom.xml b/services/xray/pom.xml index a1652644da8f..d49fad391f7a 100644 --- a/services/xray/pom.xml +++ b/services/xray/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk services - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT xray AWS Java SDK :: Services :: AWS X-Ray diff --git a/services/xray/src/main/resources/codegen-resources/endpoint-rule-set.json b/services/xray/src/main/resources/codegen-resources/endpoint-rule-set.json index 327f0b1148d7..1d5bbea62ccd 100644 --- a/services/xray/src/main/resources/codegen-resources/endpoint-rule-set.json +++ b/services/xray/src/main/resources/codegen-resources/endpoint-rule-set.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,13 +115,22 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], "type": "tree", @@ -127,224 +140,175 @@ { "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://xray-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://xray-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://xray-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://xray-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://xray.{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://xray.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://xray.{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://xray.{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/services/xray/src/main/resources/codegen-resources/service-2.json b/services/xray/src/main/resources/codegen-resources/service-2.json index 5d01ee9ca7cf..ff0a004ec755 100644 --- a/services/xray/src/main/resources/codegen-resources/service-2.json +++ b/services/xray/src/main/resources/codegen-resources/service-2.json @@ -2931,6 +2931,10 @@ "shape":"TraceId", "documentation":"

      The unique identifier for the request that generated the trace's segments and subsegments.

      " }, + "StartTime":{ + "shape":"Timestamp", + "documentation":"

      The start time of a trace, based on the earliest trace segment start time.

      " + }, "Duration":{ "shape":"NullableDouble", "documentation":"

      The length of time in seconds between the start time of the root segment and the end time of the last segment that completed.

      " diff --git a/test/auth-tests/pom.xml b/test/auth-tests/pom.xml index 6581f30690fb..d63a58552862 100644 --- a/test/auth-tests/pom.xml +++ b/test/auth-tests/pom.xml @@ -20,7 +20,7 @@ aws-sdk-java-pom software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/test/codegen-generated-classes-test/pom.xml b/test/codegen-generated-classes-test/pom.xml index 635c75e77900..d7b981c81eb1 100644 --- a/test/codegen-generated-classes-test/pom.xml +++ b/test/codegen-generated-classes-test/pom.xml @@ -21,7 +21,7 @@ aws-sdk-java-pom software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ../../pom.xml @@ -188,6 +188,11 @@ equalsverifier test
      + + net.bytebuddy + byte-buddy + test + org.unitils unitils-core diff --git a/test/codegen-generated-classes-test/src/main/resources/codegen-resources/customresponsemetadata/service-2.json b/test/codegen-generated-classes-test/src/main/resources/codegen-resources/customresponsemetadata/service-2.json index 8cdb71614e38..11d12c84f6ce 100644 --- a/test/codegen-generated-classes-test/src/main/resources/codegen-resources/customresponsemetadata/service-2.json +++ b/test/codegen-generated-classes-test/src/main/resources/codegen-resources/customresponsemetadata/service-2.json @@ -111,6 +111,15 @@ "input":{"shape":"OperationWithExplicitPayloadBlobInput"}, "output":{"shape":"OperationWithExplicitPayloadBlobInput"} }, + "OperationWithExplicitPayloadString":{ + "name":"OperationWithExplicitPayloadString", + "http":{ + "method":"POST", + "requestUri":"/2016-03-11/operationWithExplicitPayloadString" + }, + "input":{"shape":"OperationWithExplicitPayloadStringInput"}, + "output":{"shape":"OperationWithExplicitPayloadStringInput"} + }, "OperationWithExplicitPayloadStructure":{ "name":"OperationWithExplicitPayloadStructure", "http":{ @@ -697,6 +706,13 @@ }, "payload":"PayloadMember" }, + "OperationWithExplicitPayloadStringInput":{ + "type":"structure", + "members":{ + "PayloadMember":{"shape":"String"} + }, + "payload":"PayloadMember" + }, "OperationWithExplicitPayloadStructureInput":{ "type":"structure", "members":{ diff --git a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/CoreMetricsTest.java b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/CoreMetricsTest.java index e9a6f9b440e5..e498ecbe5d9d 100644 --- a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/CoreMetricsTest.java +++ b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/metrics/CoreMetricsTest.java @@ -41,8 +41,8 @@ import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.credentials.AwsCredentialsProvider; import software.amazon.awssdk.core.exception.SdkException; -import software.amazon.awssdk.core.internal.metrics.SdkErrorType; import software.amazon.awssdk.core.metrics.CoreMetric; +import software.amazon.awssdk.core.internal.metrics.SdkErrorType; import software.amazon.awssdk.endpoints.Endpoint; import software.amazon.awssdk.http.AbortableInputStream; import software.amazon.awssdk.http.ExecutableHttpRequest; diff --git a/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/protocolrestjson/StringPayloadUnmarshallingTest.java b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/protocolrestjson/StringPayloadUnmarshallingTest.java new file mode 100644 index 000000000000..27590c5a20cf --- /dev/null +++ b/test/codegen-generated-classes-test/src/test/java/software/amazon/awssdk/services/protocolrestjson/StringPayloadUnmarshallingTest.java @@ -0,0 +1,182 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +package software.amazon.awssdk.services.protocolrestjson; + +import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; +import static com.github.tomakehurst.wiremock.client.WireMock.anyUrl; +import static com.github.tomakehurst.wiremock.client.WireMock.post; +import static com.github.tomakehurst.wiremock.client.WireMock.stubFor; +import static org.assertj.core.api.Assertions.assertThat; + +import com.github.tomakehurst.wiremock.junit5.WireMockRuntimeInfo; +import com.github.tomakehurst.wiremock.junit5.WireMockTest; +import java.net.URI; +import java.util.ArrayList; +import java.util.List; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; +import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; +import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; +import software.amazon.awssdk.regions.Region; + +@WireMockTest +public class StringPayloadUnmarshallingTest { + private static final String TEST_PAYLOAD = "X"; + + private static List testParameters() { + List testCases = new ArrayList<>(); + for (ClientType clientType : ClientType.values()) { + for (Protocol protocol : Protocol.values()) { + for (StringLocation value : StringLocation.values()) { + for (ContentLength contentLength : ContentLength.values()) { + testCases.add(Arguments.arguments(clientType, protocol, value, contentLength)); + } + } + } + } + return testCases; + } + + private enum ClientType { + SYNC, + ASYNC + } + + private enum Protocol { + JSON + // TODO - add support for XML + } + + private enum StringLocation { + PAYLOAD, + FIELD + } + + private enum ContentLength { + ZERO, + NOT_PRESENT + } + + @ParameterizedTest + @MethodSource("testParameters") + public void missingStringPayload_unmarshalledCorrectly(ClientType clientType, + Protocol protocol, + StringLocation stringLoc, + ContentLength contentLength, + WireMockRuntimeInfo wm) { + if (contentLength == ContentLength.ZERO) { + stubFor(post(anyUrl()).willReturn(aResponse().withStatus(200).withHeader("Content-Length", "0").withBody(""))); + } else if (contentLength == ContentLength.NOT_PRESENT) { + stubFor(post(anyUrl()).willReturn(aResponse().withStatus(200).withBody(""))); + } + + String serviceResult = callService(wm, clientType, protocol, stringLoc); + + if (stringLoc == StringLocation.PAYLOAD) { + assertThat(serviceResult).isNotNull().isEqualTo(""); + } else if (stringLoc == StringLocation.FIELD) { + assertThat(serviceResult).isNull(); + } + } + + @ParameterizedTest + @MethodSource("testParameters") + public void presentStringPayload_unmarshalledCorrectly(ClientType clientType, + Protocol protocol, + StringLocation stringLoc, + ContentLength contentLength, + WireMockRuntimeInfo wm) { + String responsePayload = presentStringResponse(protocol, stringLoc); + + if (contentLength == ContentLength.ZERO) { + stubFor(post(anyUrl()).willReturn(aResponse().withStatus(200) + .withHeader("Content-Length", Integer.toString(responsePayload.length())) + .withBody(responsePayload))); + } else if (contentLength == ContentLength.NOT_PRESENT) { + stubFor(post(anyUrl()).willReturn(aResponse().withStatus(200).withBody(responsePayload))); + } + + assertThat(callService(wm, clientType, protocol, stringLoc)).isEqualTo(TEST_PAYLOAD); + } + + private String presentStringResponse(Protocol protocol, StringLocation stringLoc) { + switch (stringLoc) { + case PAYLOAD: return TEST_PAYLOAD; + case FIELD: + switch (protocol) { + case JSON: return "{\"StringMember\": \"X\"}"; + // TODO - add support for XML + default: throw new UnsupportedOperationException(); + } + default: throw new UnsupportedOperationException(); + } + + } + + private String callService(WireMockRuntimeInfo wm, ClientType clientType, Protocol protocol, StringLocation stringLoc) { + switch (clientType) { + case SYNC: return syncCallService(wm, protocol, stringLoc); + case ASYNC: return asyncCallService(wm, protocol, stringLoc); + default: throw new UnsupportedOperationException(); + } + } + + private String syncCallService(WireMockRuntimeInfo wm, Protocol protocol, StringLocation stringLoc) { + switch (protocol) { + case JSON: return syncJsonCallService(wm, stringLoc); + // TODO - add support for XML + default: throw new UnsupportedOperationException(); + } + } + + private String asyncCallService(WireMockRuntimeInfo wm, Protocol protocol, StringLocation stringLoc) { + switch (protocol) { + case JSON: return asyncJsonCallService(wm, stringLoc); + // TODO - add support for XML + default: throw new UnsupportedOperationException(); + } + } + + private String syncJsonCallService(WireMockRuntimeInfo wm, StringLocation stringLoc) { + ProtocolRestJsonClient client = + ProtocolRestJsonClient.builder() + .credentialsProvider(StaticCredentialsProvider.create(AwsBasicCredentials.create("akid", "skid"))) + .region(Region.US_EAST_1) + .endpointOverride(URI.create(wm.getHttpBaseUrl())) + .build(); + switch (stringLoc) { + case PAYLOAD: return client.operationWithExplicitPayloadString(r -> {}).payloadMember(); + case FIELD: return client.allTypes(r -> {}).stringMember(); + default: throw new UnsupportedOperationException(); + } + } + + private String asyncJsonCallService(WireMockRuntimeInfo wm, StringLocation stringLoc) { + ProtocolRestJsonAsyncClient client = + ProtocolRestJsonAsyncClient.builder() + .credentialsProvider(StaticCredentialsProvider.create(AwsBasicCredentials.create("akid", "skid"))) + .region(Region.US_EAST_1) + .endpointOverride(URI.create(wm.getHttpBaseUrl())) + .build(); + + switch (stringLoc) { + case PAYLOAD: return client.operationWithExplicitPayloadString(r -> {}).join().payloadMember(); + case FIELD: return client.allTypes(r -> {}).join().stringMember(); + default: throw new UnsupportedOperationException(); + } + } +} diff --git a/test/http-client-tests/pom.xml b/test/http-client-tests/pom.xml index f6fbbee96344..201f90a2c5b3 100644 --- a/test/http-client-tests/pom.xml +++ b/test/http-client-tests/pom.xml @@ -21,7 +21,7 @@ aws-sdk-java-pom software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ../../pom.xml http-client-tests diff --git a/test/module-path-tests/pom.xml b/test/module-path-tests/pom.xml index 59f7c50b5511..cc1ac7fea3ee 100644 --- a/test/module-path-tests/pom.xml +++ b/test/module-path-tests/pom.xml @@ -20,7 +20,7 @@ aws-sdk-java-pom software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/test/protocol-tests-core/pom.xml b/test/protocol-tests-core/pom.xml index efb68a642145..2831c07aa784 100644 --- a/test/protocol-tests-core/pom.xml +++ b/test/protocol-tests-core/pom.xml @@ -20,7 +20,7 @@ aws-sdk-java-pom software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/test/protocol-tests-core/src/main/resources/software/amazon/awssdk/protocol/suites/cases/json-core-output.json b/test/protocol-tests-core/src/main/resources/software/amazon/awssdk/protocol/suites/cases/json-core-output.json index 95e071a080f9..807cde16ac3b 100644 --- a/test/protocol-tests-core/src/main/resources/software/amazon/awssdk/protocol/suites/cases/json-core-output.json +++ b/test/protocol-tests-core/src/main/resources/software/amazon/awssdk/protocol/suites/cases/json-core-output.json @@ -702,4 +702,23 @@ } } } +, + { + "description": "Ignores an unrecognized __type property", + "given": { + "response": { + "status_code": 200, + "body": "{\"UnionMember\": {\"StringMember\":\"foobar\", \"__type\": \"aws.protocoltests.json10#MyUnion\"}}" + } + }, + "when": { + "action": "unmarshall", + "operation": "AllTypes" + }, + "then": { + "deserializedAs": { + "UnionMember": {"StringMember":"foobar"} + } + } + } ] diff --git a/test/protocol-tests-core/src/main/resources/software/amazon/awssdk/protocol/suites/cases/rest-json-contenttype.json b/test/protocol-tests-core/src/main/resources/software/amazon/awssdk/protocol/suites/cases/rest-json-contenttype.json index b82b0f70e93b..7260c5743e6b 100644 --- a/test/protocol-tests-core/src/main/resources/software/amazon/awssdk/protocol/suites/cases/rest-json-contenttype.json +++ b/test/protocol-tests-core/src/main/resources/software/amazon/awssdk/protocol/suites/cases/rest-json-contenttype.json @@ -138,6 +138,33 @@ } } }, +{ + "description": "TestStringPayload", + "given": { + "input": { + "data": "1234", + "contentType": "text/plain" + } + }, + "when": { + "action": "marshall", + "operation": "TestStringPayload" + }, + "then": { + "serializedAs": { + "uri": "/string-payload", + "method": "POST", + "headers": { + "contains": { + "Content-Type": "text/plain" + } + }, + "body": { + "equals": "1234" + } + } + } +}, { "description": "TestBlobPayloadNoParams", "given": { @@ -163,6 +190,31 @@ } } }, +{ + "description": "TestStringPayloadNoParams", + "given": { + "input": { + } + }, + "when": { + "action": "marshall", + "operation": "TestStringPayload" + }, + "then": { + "serializedAs": { + "uri": "/string-payload", + "method": "POST", + "headers": { + "doesNotContain": [ + "Content-Type" + ] + }, + "body": { + "equals": "" + } + } + } +}, { "description": "NoPayload", "given": { diff --git a/test/protocol-tests/pom.xml b/test/protocol-tests/pom.xml index 04ea50be091d..d0b9373056b5 100644 --- a/test/protocol-tests/pom.xml +++ b/test/protocol-tests/pom.xml @@ -20,7 +20,7 @@ aws-sdk-java-pom software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/test/protocol-tests/src/main/resources/codegen-resources/awsjson/service-2.json b/test/protocol-tests/src/main/resources/codegen-resources/awsjson/service-2.json index 9f948d7f3a70..340dd2caa73b 100644 --- a/test/protocol-tests/src/main/resources/codegen-resources/awsjson/service-2.json +++ b/test/protocol-tests/src/main/resources/codegen-resources/awsjson/service-2.json @@ -94,7 +94,8 @@ "MapOfEnumToEnum":{"shape":"MapOfEnumToEnum"}, "ListOfTimeStamp":{"shape":"ListOfTimeStamp"}, "MapOfTimeStamp":{"shape":"MapOfTimeStamp"}, - "MyDocument":{"shape":"MyDocument"} + "MyDocument":{"shape":"MyDocument"}, + "UnionMember":{"shape":"AllTypesUnionStructure"} } }, "BaseType":{ @@ -314,6 +315,93 @@ "MyDocument": { "type": "structure", "document": true + }, + "AllTypesUnionStructure": { + "type": "structure", + "union": true, + "members": { + "StringMember": { + "shape": "String" + }, + "IntegerMember": { + "shape": "Integer" + }, + "BooleanMember": { + "shape": "Boolean" + }, + "FloatMember": { + "shape": "Float" + }, + "DoubleMember": { + "shape": "Double" + }, + "LongMember": { + "shape": "Long" + }, + "ShortMember": { + "shape": "Short" + }, + "EnumMember": { + "shape": "EnumType" + }, + "SimpleList": { + "shape": "ListOfStrings" + }, + "ListOfEnums": { + "shape": "ListOfEnums" + }, + "ListOfMaps": { + "shape": "ListOfMapStringToString" + }, + "ListOfStructs": { + "shape": "ListOfSimpleStructs" + }, + "MapOfStringToIntegerList": { + "shape": "MapOfStringToIntegerList" + }, + "MapOfStringToString": { + "shape": "MapOfStringToString" + }, + "MapOfStringToStruct": { + "shape": "MapOfStringToSimpleStruct" + }, + "MapOfEnumToEnum": { + "shape": "MapOfEnumToEnum" + }, + "TimestampMember": { + "shape": "Timestamp" + }, + "StructWithNestedTimestampMember": { + "shape": "StructWithTimestamp" + }, + "BlobArg": { + "shape": "BlobType" + }, + "StructWithNestedBlob": { + "shape": "StructWithNestedBlobType" + }, + "BlobMap": { + "shape": "BlobMapType" + }, + "ListOfBlobs": { + "shape": "ListOfBlobsType" + }, + "RecursiveStruct": { + "shape": "RecursiveStructType" + }, + "PolymorphicTypeWithSubTypes": { + "shape": "BaseType" + }, + "PolymorphicTypeWithoutSubTypes": { + "shape": "SubTypeOne" + }, + "SetPrefixedMember": { + "shape": "String" + }, + "UnionMember": { + "shape": "AllTypesUnionStructure" + } + } } } } diff --git a/test/protocol-tests/src/main/resources/codegen-resources/restjson/contenttype/service-2.json b/test/protocol-tests/src/main/resources/codegen-resources/restjson/contenttype/service-2.json index 717cc54e7d4f..65d3bc977488 100644 --- a/test/protocol-tests/src/main/resources/codegen-resources/restjson/contenttype/service-2.json +++ b/test/protocol-tests/src/main/resources/codegen-resources/restjson/contenttype/service-2.json @@ -36,6 +36,14 @@ }, "input": {"shape": "TestBlobPayloadRequest"} }, + "TestStringPayload": { + "name": "TestStringPayload", + "http": { + "method": "POST", + "requestUri": "/string-payload" + }, + "input": {"shape": "TestStringPayloadRequest"} + }, "NoPayload": { "name": "NoPayload", "http": { @@ -173,6 +181,24 @@ "documentation":"

      The request structure for a blob payload request.

      ", "payload":"data" }, + "TestStringPayloadRequest":{ + "type":"structure", + "required":[], + "members":{ + "data":{ + "shape":"String", + "documentation":"

      String payload to post

      " + }, + "contentType":{ + "shape":"String", + "documentation":"

      Optional content-type header

      ", + "location":"header", + "locationName":"Content-Type" + } + }, + "documentation":"

      The request structure for a String payload request.

      ", + "payload":"data" + }, "TestEventStreamRequest": { "type": "structure", "required": [ @@ -191,6 +217,9 @@ "BlobAndHeadersEvent": { "shape": "BlobAndHeadersEvent" }, + "StringAndHeadersEvent": { + "shape": "StringAndHeadersEvent" + }, "HeadersOnlyEvent": { "shape": "HeadersOnlyEvent" }, @@ -214,6 +243,20 @@ }, "event": true }, + "StringAndHeadersEvent": { + "type": "structure", + "members": { + "StringPayloadMember": { + "shape":"String", + "eventpayload":true + }, + "HeaderMember": { + "shape": "String", + "eventheader": true + } + }, + "event": true + }, "ImplicitPayloadAndHeadersEvent": { "type": "structure", "members": { diff --git a/test/protocol-tests/src/main/resources/codegen-resources/restjson/service-2.json b/test/protocol-tests/src/main/resources/codegen-resources/restjson/service-2.json index 79cc7f20ce35..d43d40a565eb 100644 --- a/test/protocol-tests/src/main/resources/codegen-resources/restjson/service-2.json +++ b/test/protocol-tests/src/main/resources/codegen-resources/restjson/service-2.json @@ -131,6 +131,15 @@ "input":{"shape":"OperationWithExplicitPayloadBlobInput"}, "output":{"shape":"OperationWithExplicitPayloadBlobInput"} }, + "OperationWithExplicitPayloadString":{ + "name":"OperationWithExplicitPayloadString", + "http":{ + "method":"POST", + "requestUri":"/2016-03-11/operationWithExplicitPayloadString" + }, + "input":{"shape":"OperationWithExplicitPayloadStringInput"}, + "output":{"shape":"OperationWithExplicitPayloadStringInput"} + }, "OperationWithExplicitPayloadStructure":{ "name":"OperationWithExplicitPayloadStructure", "http":{ @@ -217,6 +226,19 @@ "shape": "EventStreamOutput" } }, + "EventStreamStringPayloadOperation": { + "name": "EventStreamStringPayloadOperation", + "http": { + "method": "POST", + "requestUri": "/2016-03-11/eventStreamStringPayloadOperation" + }, + "input": { + "shape": "EventStreamStringPayloadOperationRequest" + }, + "output": { + "shape": "EventStreamOutput" + } + }, "DocumentInputOperation":{ "name":"DocumentInputOperation", "http":{ @@ -259,7 +281,8 @@ "MapOfEnumToEnum":{"shape":"MapOfEnumToEnum"}, "ListOfTimeStamp":{"shape":"ListOfTimeStamp"}, "MapOfTimeStamp":{"shape":"MapOfTimeStamp"}, - "MyDocument":{"shape":"MyDocument"} + "MyDocument":{"shape":"MyDocument"}, + "UnionMember":{"shape":"AllTypesUnionStructure"} } }, "BaseType":{ @@ -669,6 +692,13 @@ }, "payload":"PayloadMember" }, + "OperationWithExplicitPayloadStringInput":{ + "type":"structure", + "members":{ + "PayloadMember":{"shape":"String"} + }, + "payload":"PayloadMember" + }, "OperationWithExplicitPayloadStructureInput":{ "type":"structure", "members":{ @@ -815,6 +845,18 @@ }, "payload":"InputEventStream" }, + "EventStreamStringPayloadOperationRequest": { + "type": "structure", + "required": [ + "InputEventStream" + ], + "members": { + "InputEventStreamStringPayload": { + "shape": "InputEventStreamStringPayload" + } + }, + "payload":"InputEventStreamStringPayload" + }, "EventStreamOutput": { "type": "structure", "required": [ @@ -835,6 +877,15 @@ }, "eventstream": true }, + "InputEventStreamStringPayload": { + "type": "structure", + "members": { + "InputEvent": { + "shape": "InputEventStringPayload" + } + }, + "eventstream": true + }, "InputEvent": { "type": "structure", "members": { @@ -849,6 +900,20 @@ }, "event": true }, + "InputEventStringPayload": { + "type": "structure", + "members": { + "ExplicitPayloadStringMember": { + "shape":"String", + "eventpayload":true + }, + "HeaderMember": { + "shape": "String", + "eventheader": true + } + }, + "event": true + }, "ExplicitPayloadMember":{"type":"blob"}, "EventStream": { "type": "structure", @@ -889,6 +954,93 @@ "members":{ "DocumentMember":{"shape":"MyDocument"} } + }, + "AllTypesUnionStructure": { + "type": "structure", + "union": true, + "members": { + "StringMember": { + "shape": "String" + }, + "IntegerMember": { + "shape": "Integer" + }, + "BooleanMember": { + "shape": "Boolean" + }, + "FloatMember": { + "shape": "Float" + }, + "DoubleMember": { + "shape": "Double" + }, + "LongMember": { + "shape": "Long" + }, + "ShortMember": { + "shape": "Short" + }, + "EnumMember": { + "shape": "EnumType" + }, + "SimpleList": { + "shape": "ListOfStrings" + }, + "ListOfEnums": { + "shape": "ListOfEnums" + }, + "ListOfMaps": { + "shape": "ListOfMapStringToString" + }, + "ListOfStructs": { + "shape": "ListOfSimpleStructs" + }, + "MapOfStringToIntegerList": { + "shape": "MapOfStringToIntegerList" + }, + "MapOfStringToString": { + "shape": "MapOfStringToString" + }, + "MapOfStringToStruct": { + "shape": "MapOfStringToSimpleStruct" + }, + "MapOfEnumToEnum": { + "shape": "MapOfEnumToEnum" + }, + "TimestampMember": { + "shape": "Timestamp" + }, + "StructWithNestedTimestampMember": { + "shape": "StructWithTimestamp" + }, + "BlobArg": { + "shape": "BlobType" + }, + "StructWithNestedBlob": { + "shape": "StructWithNestedBlobType" + }, + "BlobMap": { + "shape": "BlobMapType" + }, + "ListOfBlobs": { + "shape": "ListOfBlobsType" + }, + "RecursiveStruct": { + "shape": "RecursiveStructType" + }, + "PolymorphicTypeWithSubTypes": { + "shape": "BaseType" + }, + "PolymorphicTypeWithoutSubTypes": { + "shape": "SubTypeOne" + }, + "SetPrefixedMember": { + "shape": "String" + }, + "UnionMember": { + "shape": "AllTypesUnionStructure" + } + } } } } diff --git a/test/protocol-tests/src/test/java/software/amazon/awssdk/protocol/tests/EventTransformTest.java b/test/protocol-tests/src/test/java/software/amazon/awssdk/protocol/tests/EventTransformTest.java index cc7bc36ff4e2..93b89c178064 100644 --- a/test/protocol-tests/src/test/java/software/amazon/awssdk/protocol/tests/EventTransformTest.java +++ b/test/protocol-tests/src/test/java/software/amazon/awssdk/protocol/tests/EventTransformTest.java @@ -19,7 +19,8 @@ import java.net.URI; import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; import software.amazon.awssdk.core.SdkBytes; import software.amazon.awssdk.core.SdkPojo; import software.amazon.awssdk.core.client.config.SdkClientConfiguration; @@ -33,13 +34,16 @@ import software.amazon.awssdk.protocols.json.AwsJsonProtocolFactory; import software.amazon.awssdk.protocols.json.JsonOperationMetadata; import software.amazon.awssdk.services.protocolrestjson.model.InputEvent; +import software.amazon.awssdk.services.protocolrestjson.model.InputEventStringPayload; import software.amazon.awssdk.services.protocolrestjson.transform.InputEventMarshaller; +import software.amazon.awssdk.services.protocolrestjson.transform.InputEventStringPayloadMarshaller; /** * Marshalling and Unmarshalling tests for events. */ public class EventTransformTest { - private static final String EXPLICIT_PAYLOAD = "{\"ExplicitPayloadMember\": \"bar\"}"; + private static final String EXPLICIT_PAYLOAD_JSON = "{\"ExplicitPayloadMember\": \"bar\"}"; + private static final String EXPLICIT_PAYLOAD_NON_JSON = "bar"; private static final String HEADER_MEMBER_NAME = "HeaderMember"; private static final String HEADER_MEMBER = "foo"; private static AwsJsonProtocolFactory protocolFactory; @@ -55,34 +59,69 @@ public static void setup() { .build(); } - @Test - public void testUnmarshalling() throws Exception { + @ParameterizedTest + @ValueSource(strings = {EXPLICIT_PAYLOAD_JSON, EXPLICIT_PAYLOAD_NON_JSON}) + public void testUnmarshalling_BlobPayload(String payload) throws Exception { HttpResponseHandler responseHandler = protocolFactory - .createResponseHandler(JsonOperationMetadata.builder().build(), InputEvent::builder); + .createResponseHandler(JsonOperationMetadata.builder().build(), InputEvent::builder); InputEvent unmarshalled = (InputEvent) responseHandler.handle(SdkHttpFullResponse.builder() - .content(AbortableInputStream.create(SdkBytes.fromUtf8String(EXPLICIT_PAYLOAD).asInputStream())) - .putHeader(HEADER_MEMBER_NAME, HEADER_MEMBER) - .build(), - new ExecutionAttributes()); + .content(AbortableInputStream.create(SdkBytes.fromUtf8String(payload).asInputStream())) + .putHeader(HEADER_MEMBER_NAME, HEADER_MEMBER) + .build(), + new ExecutionAttributes()); assertThat(unmarshalled.headerMember()).isEqualTo(HEADER_MEMBER); - assertThat(unmarshalled.explicitPayloadMember().asUtf8String()).isEqualTo(EXPLICIT_PAYLOAD); + assertThat(unmarshalled.explicitPayloadMember().asUtf8String()).isEqualTo(payload); } - @Test - public void testMarshalling() { + @ParameterizedTest + @ValueSource(strings = {EXPLICIT_PAYLOAD_JSON, EXPLICIT_PAYLOAD_NON_JSON}) + public void testUnmarshalling_StringPayload(String payload) throws Exception { + HttpResponseHandler responseHandler = protocolFactory + .createResponseHandler(JsonOperationMetadata.builder().build(), InputEventStringPayload::builder); + + InputEventStringPayload unmarshalled = (InputEventStringPayload) responseHandler.handle(SdkHttpFullResponse.builder() + .content(AbortableInputStream.create(SdkBytes.fromUtf8String(payload).asInputStream())) + .putHeader(HEADER_MEMBER_NAME, HEADER_MEMBER) + .build(), + new ExecutionAttributes()); + + assertThat(unmarshalled.headerMember()).isEqualTo(HEADER_MEMBER); + assertThat(unmarshalled.explicitPayloadStringMember()).isEqualTo(payload); + } + + @ParameterizedTest + @ValueSource(strings = {EXPLICIT_PAYLOAD_JSON, EXPLICIT_PAYLOAD_NON_JSON}) + public void testMarshalling_BlobPayload(String payload) { InputEventMarshaller marshaller = new InputEventMarshaller(protocolFactory); InputEvent e = InputEvent.builder() .headerMember(HEADER_MEMBER) - .explicitPayloadMember(SdkBytes.fromUtf8String(EXPLICIT_PAYLOAD)) + .explicitPayloadMember(SdkBytes.fromUtf8String(payload)) .build(); SdkHttpFullRequest marshalled = marshaller.marshall(e); assertThat(marshalled.headers().get(HEADER_MEMBER_NAME)).containsExactly(HEADER_MEMBER); assertThat(marshalled.contentStreamProvider().get().newStream()) - .hasSameContentAs(SdkBytes.fromUtf8String(EXPLICIT_PAYLOAD).asInputStream()); + .hasSameContentAs(SdkBytes.fromUtf8String(payload).asInputStream()); + } + + @ParameterizedTest + @ValueSource(strings = {EXPLICIT_PAYLOAD_JSON, EXPLICIT_PAYLOAD_NON_JSON}) + public void testMarshalling_StringPayload(String payload) { + InputEventStringPayloadMarshaller marshaller = new InputEventStringPayloadMarshaller(protocolFactory); + + InputEventStringPayload e = InputEventStringPayload.builder() + .headerMember(HEADER_MEMBER) + .explicitPayloadStringMember(payload) + .build(); + + SdkHttpFullRequest marshalled = marshaller.marshall(e); + + assertThat(marshalled.headers().get(HEADER_MEMBER_NAME)).containsExactly(HEADER_MEMBER); + assertThat(marshalled.contentStreamProvider().get().newStream()) + .hasSameContentAs(SdkBytes.fromUtf8String(payload).asInputStream()); } } diff --git a/test/protocol-tests/src/test/java/software/amazon/awssdk/protocol/tests/ResourceManagementTest.java b/test/protocol-tests/src/test/java/software/amazon/awssdk/protocol/tests/ResourceManagementTest.java index 97dceccfb110..3d1e854f5a41 100644 --- a/test/protocol-tests/src/test/java/software/amazon/awssdk/protocol/tests/ResourceManagementTest.java +++ b/test/protocol-tests/src/test/java/software/amazon/awssdk/protocol/tests/ResourceManagementTest.java @@ -88,6 +88,9 @@ public void executorFromBuilderNotShutdown() { @Test public void scheduledExecutorFromBuilderNotShutdown() { ScheduledExecutorService scheduledExecutorService = mock(ScheduledExecutorService.class); + // Java 19+ implements AutoCloseable for ExecutorService, and the default method is to loop until isTerminated + // returns true... + when(scheduledExecutorService.isTerminated()).thenReturn(true); asyncClientBuilder().overrideConfiguration(c -> c.scheduledExecutorService(scheduledExecutorService)).build().close(); diff --git a/test/protocol-tests/src/test/java/software/amazon/awssdk/protocol/tests/RestJsonEventStreamProtocolTest.java b/test/protocol-tests/src/test/java/software/amazon/awssdk/protocol/tests/RestJsonEventStreamProtocolTest.java index 2dd0293683ae..53a19f98f5ae 100644 --- a/test/protocol-tests/src/test/java/software/amazon/awssdk/protocol/tests/RestJsonEventStreamProtocolTest.java +++ b/test/protocol-tests/src/test/java/software/amazon/awssdk/protocol/tests/RestJsonEventStreamProtocolTest.java @@ -32,9 +32,11 @@ import software.amazon.awssdk.services.protocolrestjsoncontenttype.model.ImplicitPayloadAndHeadersEvent; import software.amazon.awssdk.services.protocolrestjsoncontenttype.model.InputEventStream; import software.amazon.awssdk.services.protocolrestjsoncontenttype.model.ProtocolRestJsonContentTypeException; +import software.amazon.awssdk.services.protocolrestjsoncontenttype.model.StringAndHeadersEvent; import software.amazon.awssdk.services.protocolrestjsoncontenttype.transform.BlobAndHeadersEventMarshaller; import software.amazon.awssdk.services.protocolrestjsoncontenttype.transform.HeadersOnlyEventMarshaller; import software.amazon.awssdk.services.protocolrestjsoncontenttype.transform.ImplicitPayloadAndHeadersEventMarshaller; +import software.amazon.awssdk.services.protocolrestjsoncontenttype.transform.StringAndHeadersEventMarshaller; public class RestJsonEventStreamProtocolTest { private static final String EVENT_CONTENT_TYPE_HEADER = ":content-type"; @@ -89,6 +91,22 @@ public void blobAndHeadersEvent() { assertThat(content).isEqualTo("hello rest-json"); } + @Test + public void stringAndHeadersEvent() { + StringAndHeadersEventMarshaller marshaller = new StringAndHeadersEventMarshaller(protocolFactory()); + + StringAndHeadersEvent event = InputEventStream.stringAndHeadersEventBuilder() + .headerMember("hello rest-json") + .stringPayloadMember("hello rest-json") + .build(); + + SdkHttpFullRequest marshalledEvent = marshaller.marshall(event); + + assertThat(marshalledEvent.headers().get(EVENT_CONTENT_TYPE_HEADER)).containsExactly("text/plain"); + String content = contentAsString(marshalledEvent); + assertThat(content).isEqualTo("hello rest-json"); + } + @Test public void headersOnly() { HeadersOnlyEventMarshaller marshaller = new HeadersOnlyEventMarshaller(protocolFactory()); diff --git a/test/region-testing/pom.xml b/test/region-testing/pom.xml index 53a282ef7376..7c792b44b257 100644 --- a/test/region-testing/pom.xml +++ b/test/region-testing/pom.xml @@ -20,7 +20,7 @@ aws-sdk-java-pom software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/test/ruleset-testing-core/pom.xml b/test/ruleset-testing-core/pom.xml index cc1a58ef0829..a06a4aa03a7b 100644 --- a/test/ruleset-testing-core/pom.xml +++ b/test/ruleset-testing-core/pom.xml @@ -20,7 +20,7 @@ aws-sdk-java-pom software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/test/s3-benchmarks/pom.xml b/test/s3-benchmarks/pom.xml index df57a560143c..8936f25941ce 100644 --- a/test/s3-benchmarks/pom.xml +++ b/test/s3-benchmarks/pom.xml @@ -20,7 +20,7 @@ aws-sdk-java-pom software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/test/sdk-benchmarks/pom.xml b/test/sdk-benchmarks/pom.xml index b14f75b46119..719415339302 100644 --- a/test/sdk-benchmarks/pom.xml +++ b/test/sdk-benchmarks/pom.xml @@ -19,7 +19,7 @@ software.amazon.awssdk aws-sdk-java-pom - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ../../pom.xml diff --git a/test/sdk-native-image-test/pom.xml b/test/sdk-native-image-test/pom.xml index 1c3a430bdf82..c2395b71a68a 100644 --- a/test/sdk-native-image-test/pom.xml +++ b/test/sdk-native-image-test/pom.xml @@ -20,7 +20,7 @@ aws-sdk-java-pom software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/test/service-test-utils/pom.xml b/test/service-test-utils/pom.xml index 6ac8f30af23d..fa96a7a44e85 100644 --- a/test/service-test-utils/pom.xml +++ b/test/service-test-utils/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk aws-sdk-java-pom - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ../../pom.xml service-test-utils diff --git a/test/stability-tests/pom.xml b/test/stability-tests/pom.xml index 7cd5114ecb86..51133d85346e 100644 --- a/test/stability-tests/pom.xml +++ b/test/stability-tests/pom.xml @@ -20,7 +20,7 @@ aws-sdk-java-pom software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/test/test-utils/pom.xml b/test/test-utils/pom.xml index 33fa23622aa9..7559d0fc26e5 100644 --- a/test/test-utils/pom.xml +++ b/test/test-utils/pom.xml @@ -21,7 +21,7 @@ software.amazon.awssdk aws-sdk-java-pom - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ../../pom.xml test-utils diff --git a/test/tests-coverage-reporting/pom.xml b/test/tests-coverage-reporting/pom.xml index 4db5c3b68860..645eefd0cd4f 100644 --- a/test/tests-coverage-reporting/pom.xml +++ b/test/tests-coverage-reporting/pom.xml @@ -20,7 +20,7 @@ aws-sdk-java-pom software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT ../../pom.xml 4.0.0 diff --git a/third-party/pom.xml b/third-party/pom.xml index e644e5cc4482..bcdc27514f1f 100644 --- a/third-party/pom.xml +++ b/third-party/pom.xml @@ -21,7 +21,7 @@ aws-sdk-java-pom software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT third-party diff --git a/third-party/third-party-jackson-core/pom.xml b/third-party/third-party-jackson-core/pom.xml index 84fe41e4f686..86373b20c832 100644 --- a/third-party/third-party-jackson-core/pom.xml +++ b/third-party/third-party-jackson-core/pom.xml @@ -20,7 +20,7 @@ third-party software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 diff --git a/third-party/third-party-jackson-dataformat-cbor/pom.xml b/third-party/third-party-jackson-dataformat-cbor/pom.xml index b8009b7e032e..1dcca8d63c3c 100644 --- a/third-party/third-party-jackson-dataformat-cbor/pom.xml +++ b/third-party/third-party-jackson-dataformat-cbor/pom.xml @@ -20,7 +20,7 @@ third-party software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 diff --git a/utils/pom.xml b/utils/pom.xml index 7c2ec3e520de..dfd5b1a88d09 100644 --- a/utils/pom.xml +++ b/utils/pom.xml @@ -20,7 +20,7 @@ aws-sdk-java-pom software.amazon.awssdk - 2.20.144-SNAPSHOT + 2.20.163-SNAPSHOT 4.0.0 diff --git a/utils/src/main/java/software/amazon/awssdk/utils/async/InputStreamSubscriber.java b/utils/src/main/java/software/amazon/awssdk/utils/async/InputStreamSubscriber.java index 3098724907c1..a33cc9b0b994 100644 --- a/utils/src/main/java/software/amazon/awssdk/utils/async/InputStreamSubscriber.java +++ b/utils/src/main/java/software/amazon/awssdk/utils/async/InputStreamSubscriber.java @@ -45,6 +45,8 @@ public final class InputStreamSubscriber extends InputStream implements Subscrib private final AtomicBoolean drainingCallQueue = new AtomicBoolean(false); private final Queue callQueue = new ConcurrentLinkedQueue<>(); + private final Object subscribeLock = new Object(); + private Subscription subscription; private boolean done = false; @@ -55,13 +57,15 @@ public InputStreamSubscriber() { @Override public void onSubscribe(Subscription s) { - if (!inputStreamState.compareAndSet(State.UNINITIALIZED, State.READABLE)) { - close(); - return; - } + synchronized (subscribeLock) { + if (!inputStreamState.compareAndSet(State.UNINITIALIZED, State.READABLE)) { + close(); + return; + } - this.subscription = new CancelWatcher(s); - delegate.onSubscribe(subscription); + this.subscription = new CancelWatcher(s); + delegate.onSubscribe(subscription); + } } @Override @@ -102,6 +106,10 @@ public int read(byte[] b) { @Override public int read(byte[] bytes, int off, int len) { + if (len == 0) { + return 0; + } + ByteBuffer byteBuffer = ByteBuffer.wrap(bytes, off, len); TransferResult transferResult = delegate.blockingTransferTo(byteBuffer); int dataTransferred = byteBuffer.position() - off; @@ -116,12 +124,14 @@ public int read(byte[] bytes, int off, int len) { @Override public void close() { - if (inputStreamState.compareAndSet(State.UNINITIALIZED, State.CLOSED)) { - delegate.onSubscribe(new NoOpSubscription()); - delegate.onError(new CancellationException()); - } else if (inputStreamState.compareAndSet(State.READABLE, State.CLOSED)) { - subscription.cancel(); - onError(new CancellationException()); + synchronized (subscribeLock) { + if (inputStreamState.compareAndSet(State.UNINITIALIZED, State.CLOSED)) { + delegate.onSubscribe(new NoOpSubscription()); + delegate.onError(new CancellationException()); + } else if (inputStreamState.compareAndSet(State.READABLE, State.CLOSED)) { + subscription.cancel(); + onError(new CancellationException()); + } } } diff --git a/utils/src/test/java/software/amazon/awssdk/utils/async/InputStreamSubscriberTest.java b/utils/src/test/java/software/amazon/awssdk/utils/async/InputStreamSubscriberTest.java index 091b1bb8a9aa..393ee5592782 100644 --- a/utils/src/test/java/software/amazon/awssdk/utils/async/InputStreamSubscriberTest.java +++ b/utils/src/test/java/software/amazon/awssdk/utils/async/InputStreamSubscriberTest.java @@ -58,8 +58,8 @@ public void onComplete_returnsEndOfStream_onRead() { publisher.subscribe(subscriber); publisher.complete(); assertThat(subscriber.read()).isEqualTo(-1); - assertThat(subscriber.read(new byte[0])).isEqualTo(-1); - assertThat(subscriber.read(new byte[0], 0, 0)).isEqualTo(-1); + assertThat(subscriber.read(new byte[1])).isEqualTo(-1); + assertThat(subscriber.read(new byte[1], 0, 1)).isEqualTo(-1); } @Test @@ -69,8 +69,8 @@ public void onError_throws_onRead() { publisher.subscribe(subscriber); publisher.error(exception); assertThatThrownBy(() -> subscriber.read()).isEqualTo(exception); - assertThatThrownBy(() -> subscriber.read(new byte[0])).isEqualTo(exception); - assertThatThrownBy(() -> subscriber.read(new byte[0], 0, 0)).isEqualTo(exception); + assertThatThrownBy(() -> subscriber.read(new byte[1])).isEqualTo(exception); + assertThatThrownBy(() -> subscriber.read(new byte[1], 0, 1)).isEqualTo(exception); } @Test @@ -128,8 +128,15 @@ public void read_afterClose_fails() { publisher.subscribe(subscriber); subscriber.close(); assertThatThrownBy(() -> subscriber.read()).isInstanceOf(CancellationException.class); - assertThatThrownBy(() -> subscriber.read(new byte[0])).isInstanceOf(CancellationException.class); - assertThatThrownBy(() -> subscriber.read(new byte[0], 0, 0)).isInstanceOf(CancellationException.class); + assertThatThrownBy(() -> subscriber.read(new byte[1])).isInstanceOf(CancellationException.class); + assertThatThrownBy(() -> subscriber.read(new byte[1], 0, 1)).isInstanceOf(CancellationException.class); + } + + @Test + public void readByteArray_0Len_returns0() { + publisher.subscribe(subscriber); + + assertThat(subscriber.read(new byte[1], 0, 0)).isEqualTo(0); } public static List stochastic_methodCallsSeemThreadSafe_parameters() {