Skip to content

Commit e056aca

Browse files
Merge pull request #2868 from aws/staging/f62a0686-34ed-44f1-8ec2-f753bd2a5df1
Pull request: release <- staging/f62a0686-34ed-44f1-8ec2-f753bd2a5df1
2 parents 9bae2b2 + d2bbd7a commit e056aca

File tree

474 files changed

+973
-507
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

474 files changed

+973
-507
lines changed

.changes/2.23.11.json

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"version": "2.23.11",
3+
"date": "2024-01-25",
4+
"entries": [
5+
{
6+
"type": "feature",
7+
"category": "AWS Certificate Manager Private Certificate Authority",
8+
"contributor": "",
9+
"description": "AWS Private CA now supports an option to omit the CDP extension from issued certificates, when CRL revocation is enabled."
10+
},
11+
{
12+
"type": "feature",
13+
"category": "Amazon Lightsail",
14+
"contributor": "",
15+
"description": "This release adds support for IPv6-only instance plans."
16+
}
17+
]
18+
}

CHANGELOG.md

+9
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
# __2.23.11__ __2024-01-25__
2+
## __AWS Certificate Manager Private Certificate Authority__
3+
- ### Features
4+
- AWS Private CA now supports an option to omit the CDP extension from issued certificates, when CRL revocation is enabled.
5+
6+
## __Amazon Lightsail__
7+
- ### Features
8+
- This release adds support for IPv6-only instance plans.
9+
110
# __2.23.10__ __2024-01-24__
211
## __AWS Outposts__
312
- ### Features

README.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ To automatically manage module versions (currently all modules have the same ver
5252
<dependency>
5353
<groupId>software.amazon.awssdk</groupId>
5454
<artifactId>bom</artifactId>
55-
<version>2.23.10</version>
55+
<version>2.23.11</version>
5656
<type>pom</type>
5757
<scope>import</scope>
5858
</dependency>
@@ -86,12 +86,12 @@ Alternatively you can add dependencies for the specific services you use only:
8686
<dependency>
8787
<groupId>software.amazon.awssdk</groupId>
8888
<artifactId>ec2</artifactId>
89-
<version>2.23.10</version>
89+
<version>2.23.11</version>
9090
</dependency>
9191
<dependency>
9292
<groupId>software.amazon.awssdk</groupId>
9393
<artifactId>s3</artifactId>
94-
<version>2.23.10</version>
94+
<version>2.23.11</version>
9595
</dependency>
9696
```
9797

@@ -103,7 +103,7 @@ You can import the whole SDK into your project (includes *ALL* services). Please
103103
<dependency>
104104
<groupId>software.amazon.awssdk</groupId>
105105
<artifactId>aws-sdk-java</artifactId>
106-
<version>2.23.10</version>
106+
<version>2.23.11</version>
107107
</dependency>
108108
```
109109

archetypes/archetype-app-quickstart/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<parent>
2121
<artifactId>archetypes</artifactId>
2222
<groupId>software.amazon.awssdk</groupId>
23-
<version>2.23.10</version>
23+
<version>2.23.11</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626

archetypes/archetype-lambda/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<parent>
2121
<artifactId>archetypes</artifactId>
2222
<groupId>software.amazon.awssdk</groupId>
23-
<version>2.23.10</version>
23+
<version>2.23.11</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626
<artifactId>archetype-lambda</artifactId>

archetypes/archetype-tools/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<parent>
2121
<artifactId>archetypes</artifactId>
2222
<groupId>software.amazon.awssdk</groupId>
23-
<version>2.23.10</version>
23+
<version>2.23.11</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626

archetypes/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<parent>
2121
<artifactId>aws-sdk-java-pom</artifactId>
2222
<groupId>software.amazon.awssdk</groupId>
23-
<version>2.23.10</version>
23+
<version>2.23.11</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626
<artifactId>archetypes</artifactId>

aws-sdk-java/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<parent>
1818
<groupId>software.amazon.awssdk</groupId>
1919
<artifactId>aws-sdk-java-pom</artifactId>
20-
<version>2.23.10</version>
20+
<version>2.23.11</version>
2121
<relativePath>../pom.xml</relativePath>
2222
</parent>
2323
<artifactId>aws-sdk-java</artifactId>

bom-internal/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<parent>
2121
<artifactId>aws-sdk-java-pom</artifactId>
2222
<groupId>software.amazon.awssdk</groupId>
23-
<version>2.23.10</version>
23+
<version>2.23.11</version>
2424
</parent>
2525
<modelVersion>4.0.0</modelVersion>
2626

bom/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<parent>
1818
<groupId>software.amazon.awssdk</groupId>
1919
<artifactId>aws-sdk-java-pom</artifactId>
20-
<version>2.23.10</version>
20+
<version>2.23.11</version>
2121
<relativePath>../pom.xml</relativePath>
2222
</parent>
2323
<artifactId>bom</artifactId>

bundle-logging-bridge/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<parent>
2222
<groupId>software.amazon.awssdk</groupId>
2323
<artifactId>aws-sdk-java-pom</artifactId>
24-
<version>2.23.10</version>
24+
<version>2.23.11</version>
2525
</parent>
2626
<artifactId>bundle-logging-bridge</artifactId>
2727
<packaging>jar</packaging>

bundle-sdk/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<parent>
2222
<groupId>software.amazon.awssdk</groupId>
2323
<artifactId>aws-sdk-java-pom</artifactId>
24-
<version>2.23.10</version>
24+
<version>2.23.11</version>
2525
</parent>
2626
<artifactId>bundle-sdk</artifactId>
2727
<packaging>jar</packaging>

bundle/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<parent>
2222
<groupId>software.amazon.awssdk</groupId>
2323
<artifactId>aws-sdk-java-pom</artifactId>
24-
<version>2.23.10</version>
24+
<version>2.23.11</version>
2525
</parent>
2626
<artifactId>bundle</artifactId>
2727
<packaging>jar</packaging>

codegen-lite-maven-plugin/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<parent>
2323
<groupId>software.amazon.awssdk</groupId>
2424
<artifactId>aws-sdk-java-pom</artifactId>
25-
<version>2.23.10</version>
25+
<version>2.23.11</version>
2626
<relativePath>../pom.xml</relativePath>
2727
</parent>
2828
<artifactId>codegen-lite-maven-plugin</artifactId>

codegen-lite/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<parent>
2222
<groupId>software.amazon.awssdk</groupId>
2323
<artifactId>aws-sdk-java-pom</artifactId>
24-
<version>2.23.10</version>
24+
<version>2.23.11</version>
2525
</parent>
2626
<artifactId>codegen-lite</artifactId>
2727
<name>AWS Java SDK :: Code Generator Lite</name>

codegen-maven-plugin/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<parent>
2323
<groupId>software.amazon.awssdk</groupId>
2424
<artifactId>aws-sdk-java-pom</artifactId>
25-
<version>2.23.10</version>
25+
<version>2.23.11</version>
2626
<relativePath>../pom.xml</relativePath>
2727
</parent>
2828
<artifactId>codegen-maven-plugin</artifactId>

codegen/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<parent>
2222
<groupId>software.amazon.awssdk</groupId>
2323
<artifactId>aws-sdk-java-pom</artifactId>
24-
<version>2.23.10</version>
24+
<version>2.23.11</version>
2525
</parent>
2626
<artifactId>codegen</artifactId>
2727
<name>AWS Java SDK :: Code Generator</name>

codegen/src/main/java/software/amazon/awssdk/codegen/emitters/tasks/AuthSchemeGeneratorTasks.java

+7
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import software.amazon.awssdk.codegen.poet.auth.scheme.AuthSchemeProviderSpec;
2626
import software.amazon.awssdk.codegen.poet.auth.scheme.AuthSchemeSpecUtils;
2727
import software.amazon.awssdk.codegen.poet.auth.scheme.DefaultAuthSchemeParamsSpec;
28+
import software.amazon.awssdk.codegen.poet.auth.scheme.EndpointAwareAuthSchemeParamsSpec;
2829
import software.amazon.awssdk.codegen.poet.auth.scheme.EndpointBasedAuthSchemeProviderSpec;
2930
import software.amazon.awssdk.codegen.poet.auth.scheme.ModelBasedAuthSchemeProviderSpec;
3031

@@ -47,6 +48,7 @@ protected List<GeneratorTask> createTasks() {
4748
tasks.add(generateAuthSchemeInterceptor());
4849
if (authSchemeSpecUtils.useEndpointBasedAuthProvider()) {
4950
tasks.add(generateEndpointBasedProvider());
51+
tasks.add(generateEndpointAwareAuthSchemeParams());
5052
}
5153
return tasks;
5254
}
@@ -72,6 +74,11 @@ private GeneratorTask generateEndpointBasedProvider() {
7274
new EndpointBasedAuthSchemeProviderSpec(model));
7375
}
7476

77+
private GeneratorTask generateEndpointAwareAuthSchemeParams() {
78+
return new PoetGeneratorTask(authSchemeDir(), model.getFileHeader(), new EndpointAwareAuthSchemeParamsSpec(model));
79+
80+
}
81+
7582
private GeneratorTask generateAuthSchemeInterceptor() {
7683
return new PoetGeneratorTask(authSchemeInternalDir(), model.getFileHeader(), new AuthSchemeInterceptorSpec(model));
7784
}

codegen/src/main/java/software/amazon/awssdk/codegen/poet/auth/scheme/AuthSchemeInterceptorSpec.java

+12
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
import software.amazon.awssdk.core.interceptor.SdkInternalExecutionAttribute;
5050
import software.amazon.awssdk.core.internal.util.MetricUtils;
5151
import software.amazon.awssdk.core.metrics.CoreMetric;
52+
import software.amazon.awssdk.endpoints.EndpointProvider;
5253
import software.amazon.awssdk.http.auth.spi.scheme.AuthScheme;
5354
import software.amazon.awssdk.http.auth.spi.scheme.AuthSchemeOption;
5455
import software.amazon.awssdk.identity.spi.AwsCredentialsIdentity;
@@ -185,6 +186,17 @@ private MethodSpec generateAuthSchemeParams() {
185186
AwsExecutionAttribute.class);
186187
builder.addStatement("builder.region(region)");
187188
}
189+
ClassName paramsBuilderClass = authSchemeSpecUtils.parametersEndpointAwareDefaultImplName().nestedClass("Builder");
190+
builder.beginControlFlow("if (builder instanceof $T)",
191+
paramsBuilderClass);
192+
ClassName endpointProviderClass = endpointRulesSpecUtils.providerInterfaceName();
193+
builder.addStatement("$T endpointProvider = executionAttributes.getAttribute($T.ENDPOINT_PROVIDER)",
194+
EndpointProvider.class,
195+
SdkInternalExecutionAttribute.class);
196+
builder.beginControlFlow("if (endpointProvider instanceof $T)", endpointProviderClass);
197+
builder.addStatement("(($T)builder).endpointProvider(($T)endpointProvider)", paramsBuilderClass, endpointProviderClass);
198+
builder.endControlFlow();
199+
builder.endControlFlow();
188200
builder.addStatement("return builder.build()");
189201
return builder.build();
190202
}

codegen/src/main/java/software/amazon/awssdk/codegen/poet/auth/scheme/AuthSchemeSpecUtils.java

+4
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,10 @@ public ClassName parametersInterfaceName() {
7979
return ClassName.get(basePackage(), intermediateModel.getMetadata().getServiceName() + "AuthSchemeParams");
8080
}
8181

82+
public ClassName parametersEndpointAwareDefaultImplName() {
83+
return ClassName.get(internalPackage(), intermediateModel.getMetadata().getServiceName() + "EndpointResolverAware");
84+
}
85+
8286
public ClassName parametersInterfaceBuilderInterfaceName() {
8387
return parametersInterfaceName().nestedClass("Builder");
8488
}

codegen/src/main/java/software/amazon/awssdk/codegen/poet/auth/scheme/DefaultAuthSchemeParamsSpec.java

+25
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,10 @@ public TypeSpec poetSpec() {
5959
.addMethod(builderMethod())
6060
.addType(builderImplSpec());
6161

62+
if (authSchemeSpecUtils.useEndpointBasedAuthProvider()) {
63+
b.addSuperinterface(authSchemeSpecUtils.parametersEndpointAwareDefaultImplName());
64+
}
65+
6266
addFieldsAndAccessors(b);
6367
addToBuilder(b);
6468
return b.build();
@@ -89,6 +93,7 @@ private MethodSpec constructor() {
8993

9094
}
9195
});
96+
b.addStatement("this.endpointProvider = builder.endpointProvider");
9297
}
9398

9499
return b.build();
@@ -112,6 +117,10 @@ private TypeSpec builderImplSpec() {
112117
.addModifiers(Modifier.PRIVATE, Modifier.STATIC, Modifier.FINAL)
113118
.addSuperinterface(authSchemeSpecUtils.parametersInterfaceBuilderInterfaceName());
114119

120+
if (authSchemeSpecUtils.useEndpointBasedAuthProvider()) {
121+
b.addSuperinterface(authSchemeSpecUtils.parametersEndpointAwareDefaultImplName().nestedClass("Builder"));
122+
}
123+
115124
addBuilderConstructors(b);
116125
addBuilderFieldsAndSetter(b);
117126

@@ -142,6 +151,7 @@ private void addBuilderConstructors(TypeSpec.Builder b) {
142151
builderFromInstance.addStatement("this.$1N = params.$1N", endpointRulesSpecUtils.variableName(name));
143152
}
144153
});
154+
builderFromInstance.addStatement("this.endpointProvider = params.endpointProvider");
145155
}
146156
b.addMethod(builderFromInstance.build());
147157
}
@@ -181,6 +191,17 @@ private void addFieldsAndAccessors(TypeSpec.Builder b) {
181191
.build());
182192
}
183193
});
194+
ClassName endpointProvider = endpointRulesSpecUtils.providerInterfaceName();
195+
b.addField(FieldSpec.builder(endpointProvider, "endpointProvider")
196+
.addModifiers(Modifier.PRIVATE, Modifier.FINAL)
197+
.build());
198+
b.addMethod(MethodSpec.methodBuilder("endpointProvider")
199+
.addModifiers(Modifier.PUBLIC)
200+
.addAnnotation(Override.class)
201+
.returns(endpointProvider)
202+
.addStatement("return endpointProvider")
203+
.build());
204+
184205
}
185206
}
186207

@@ -213,6 +234,10 @@ private void addBuilderFieldsAndSetter(TypeSpec.Builder b) {
213234
b.addMethod(endpointRulesSpecUtils.parameterBuilderSetterMethod(className(), name, model));
214235
}
215236
});
237+
b.addField(FieldSpec.builder(endpointRulesSpecUtils.providerInterfaceName(), "endpointProvider")
238+
.addModifiers(Modifier.PRIVATE)
239+
.build());
240+
b.addMethod(builderSetterMethod("endpointProvider", endpointRulesSpecUtils.providerInterfaceName()));
216241
}
217242
}
218243

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
/*
2+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License").
5+
* You may not use this file except in compliance with the License.
6+
* A copy of the License is located at
7+
*
8+
* http://aws.amazon.com/apache2.0
9+
*
10+
* or in the "license" file accompanying this file. This file is distributed
11+
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12+
* express or implied. See the License for the specific language governing
13+
* permissions and limitations under the License.
14+
*/
15+
16+
package software.amazon.awssdk.codegen.poet.auth.scheme;
17+
18+
import com.squareup.javapoet.ClassName;
19+
import com.squareup.javapoet.MethodSpec;
20+
import com.squareup.javapoet.TypeSpec;
21+
import javax.lang.model.element.Modifier;
22+
import software.amazon.awssdk.annotations.SdkInternalApi;
23+
import software.amazon.awssdk.codegen.model.intermediate.IntermediateModel;
24+
import software.amazon.awssdk.codegen.poet.ClassSpec;
25+
import software.amazon.awssdk.codegen.poet.PoetUtils;
26+
import software.amazon.awssdk.codegen.poet.rules.EndpointRulesSpecUtils;
27+
28+
public class EndpointAwareAuthSchemeParamsSpec implements ClassSpec {
29+
30+
private final AuthSchemeSpecUtils authSchemeSpecUtils;
31+
private final EndpointRulesSpecUtils endpointRulesSpecUtils;
32+
33+
public EndpointAwareAuthSchemeParamsSpec(IntermediateModel intermediateModel) {
34+
this.authSchemeSpecUtils = new AuthSchemeSpecUtils(intermediateModel);
35+
this.endpointRulesSpecUtils = new EndpointRulesSpecUtils(intermediateModel);
36+
}
37+
38+
@Override
39+
public ClassName className() {
40+
return authSchemeSpecUtils.parametersEndpointAwareDefaultImplName();
41+
}
42+
43+
@Override
44+
public TypeSpec poetSpec() {
45+
TypeSpec.Builder b = PoetUtils.createInterfaceBuilder(className())
46+
.addAnnotation(SdkInternalApi.class)
47+
.addMethod(endpointProviderMethod())
48+
.addType(builderSpec());
49+
return b.build();
50+
}
51+
52+
private ClassName builderClassName() {
53+
return className().nestedClass("Builder");
54+
}
55+
56+
private MethodSpec endpointProviderMethod() {
57+
return MethodSpec.methodBuilder("endpointProvider")
58+
.addModifiers(Modifier.ABSTRACT, Modifier.PUBLIC)
59+
.returns(endpointRulesSpecUtils.providerInterfaceName())
60+
.build();
61+
}
62+
63+
private TypeSpec builderSpec() {
64+
ClassName builderClassName = builderClassName();
65+
TypeSpec.Builder b = TypeSpec.interfaceBuilder(builderClassName)
66+
.addModifiers(Modifier.PUBLIC, Modifier.STATIC);
67+
b.addMethod(MethodSpec.methodBuilder("endpointProvider")
68+
.addModifiers(Modifier.ABSTRACT, Modifier.PUBLIC)
69+
.addParameter(endpointRulesSpecUtils.providerInterfaceName(), "endpointProvider")
70+
.returns(builderClassName)
71+
.build());
72+
73+
return b.build();
74+
}
75+
}

0 commit comments

Comments
 (0)