Skip to content

Added a new dualstackEnabled property to every client builder. #2818

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Nov 3, 2021

Conversation

millems
Copy link
Contributor

@millems millems commented Nov 3, 2021

This option can be used to make calls be invoked against AWS endpoints which return IPv6 records. This can also be enabled via the AWS_USE_DUALSTACK_ENDPOINT environment variable, aws.useDualstackEndpoint system property, or the use_dualstack_endpoint profile file property:

  1. This PR builds on top of the 'endpoint variants' Added support for endpoint variants in endpoint metadata: FIPS and DUALSTACK. #2808, by specifying the DUALSTACK endpoint variant whenever the customer requests dualstack to be enabled.
  2. May of the file changes in this PR are addressing the fact that we already have service configuration for enabling dualstack for S3 and S3 control. These existing options have been deprecated in favor of the new option that works for all services.
  3. There are also a lot of changes because this is the first time we're reading the profile file during endpoint resolution, outside of S3, so that information had to be piped through in all places we're resolving endpoints.

This option can be used to make calls be invoked against AWS endpoints which return IPv6 records. This can also be enabled via the `AWS_USE_DUALSTACK_ENDPOINT` environment variable, `aws.useDualstackEndpoint` system property, or the `use_dualstack_endpoint` profile file property:

1. This PR builds on top of the 'endpoint variants' #2808, by specifying the DUALSTACK endpoint variant whenever the customer requests dualstack to be enabled.
2. The bulk of the files in this PR are addressing the fact that we already have service configuration for enabling dualstack for S3 and S3 control. These existing options have been deprecated in favor of the new option that works for all services.
@sonarqubecloud
Copy link

sonarqubecloud bot commented Nov 3, 2021

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 9 Code Smells

83.3% 83.3% Coverage
1.2% 1.2% Duplication

@millems millems merged commit 12c4386 into endpoint-tag-staging Nov 3, 2021
millems added a commit that referenced this pull request Nov 9, 2021
This option can be used to make calls be invoked against AWS endpoints which return IPv6 records. This can also be enabled via the `AWS_USE_DUALSTACK_ENDPOINT` environment variable, `aws.useDualstackEndpoint` system property, or the `use_dualstack_endpoint` profile file property:

1. This PR builds on top of the 'endpoint variants' #2808, by specifying the DUALSTACK endpoint variant whenever the customer requests dualstack to be enabled.
2. The bulk of the files in this PR are addressing the fact that we already have service configuration for enabling dualstack for S3 and S3 control. These existing options have been deprecated in favor of the new option that works for all services.
millems added a commit that referenced this pull request Nov 10, 2021
* Added support for endpoint variants in endpoint metadata: FIPS and DUALSTACK.

This adds the ability to resolve fips and dualstack endpoints with a "fips enabled" or "dualstack enabled" flag.

E.g.
```java
URI fipsEndpoint =
    ServiceMetadata.of(S3Client.SERVICE_METADATA_ID)
                   .endpointFor(ServiceEndpointKey.builder()
                                                  .region(Region.US_WEST_2)
                                                  .tags(EndpointTag.FIPS)
                                                  .build());
```

The following public API changes were made:
1. Added `ServiceMetadata.endpointFor(ServiceEndpointKey)`
2. Added `ServiceMetadata.signingRegion(ServiceEndpointKey)`
3. Added `PartitionMetadata.hostname(PartitionEndpointKey)`
4. Added `PartitionMetadata.dnsSuffix(PartitionEndpointKey)`
5. Added a generated `EndpointTag` class, which currently contains FIPS and DUALSTACK.
6. Removed `ServiceMetadata.computeEndpoint`, because it shouldn't have ever been public, and no one should be using it.

The following module changes were made:
1. Added `regions-testing` for verifying region resolution behavior that doesn't currently exist in the endpoints.json

* Added a new `dualstackEnabled` property to every client builder. (#2818)

This option can be used to make calls be invoked against AWS endpoints which return IPv6 records. This can also be enabled via the `AWS_USE_DUALSTACK_ENDPOINT` environment variable, `aws.useDualstackEndpoint` system property, or the `use_dualstack_endpoint` profile file property:

1. This PR builds on top of the 'endpoint variants' #2808, by specifying the DUALSTACK endpoint variant whenever the customer requests dualstack to be enabled.
2. The bulk of the files in this PR are addressing the fact that we already have service configuration for enabling dualstack for S3 and S3 control. These existing options have been deprecated in favor of the new option that works for all services.

* Added support for enabling FIPS endpoints. (#2826)

This option can be used to make calls be invoked against FIPS-compliant AWS endpoints. This can also be enabled via the AWS_USE_FIPS_ENDPOINT environment variable, aws.useFipsEndpoint system property, or the use_fips_endpoint profile file property:
@millems millems deleted the millem/dualstack-endpoints branch October 19, 2022 19:36
aws-sdk-java-automation added a commit that referenced this pull request Nov 28, 2023
…d9dc62d85

Pull request: release <- staging/587f4e0e-c6ca-4ca8-990f-cf8d9dc62d85
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants