Skip to content

Commit 36fbe01

Browse files
committed
Removing deprecated shapes and operations
Removing deprecated shapes and operations
1 parent 2b8d410 commit 36fbe01

File tree

15 files changed

+92
-6
lines changed

15 files changed

+92
-6
lines changed

codegen/src/main/java/software/amazon/awssdk/codegen/AddOperations.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
import static software.amazon.awssdk.codegen.internal.Utils.unCapitalize;
1919

20+
import java.util.List;
2021
import java.util.Map;
2122
import java.util.TreeMap;
2223
import software.amazon.awssdk.codegen.model.intermediate.ExceptionModel;
@@ -43,11 +44,13 @@ final class AddOperations {
4344
private final ServiceModel serviceModel;
4445
private final NamingStrategy namingStrategy;
4546
private final Map<String, PaginatorDefinition> paginators;
47+
private final List<String> deprecatedShapes;
4648

4749
AddOperations(IntermediateModelBuilder builder) {
4850
this.serviceModel = builder.getService();
4951
this.namingStrategy = builder.getNamingStrategy();
5052
this.paginators = builder.getPaginators().getPaginators();
53+
this.deprecatedShapes = builder.getCustomConfig().getDeprecatedShapes();
5154
}
5255

5356
private static boolean isAuthenticated(Operation op) {
@@ -191,10 +194,12 @@ public Map<String, OperationModel> constructOperations() {
191194

192195
Integer httpStatusCode = getHttpStatusCode(error, c2jShapes.get(error.getShape()));
193196

194-
operationModel.addException(
197+
if (!deprecatedShapes.contains(error.getShape())) {
198+
operationModel.addException(
195199
new ExceptionModel(namingStrategy.getExceptionName(error.getShape()))
196-
.withDocumentation(documentation)
197-
.withHttpStatusCode(httpStatusCode));
200+
.withDocumentation(documentation)
201+
.withHttpStatusCode(httpStatusCode));
202+
}
198203
}
199204
}
200205

codegen/src/main/java/software/amazon/awssdk/codegen/IntermediateModelBuilder.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,9 @@ public IntermediateModel build() {
111111
Collections.unmodifiableMap(shapes)));
112112
}
113113

114+
// Remove deprecated operations
115+
operations.entrySet().removeIf(e -> customConfig.getDeprecatedOperations().contains(e.getKey()));
116+
114117
log.info("{} shapes found in total.", shapes.size());
115118

116119
IntermediateModel fullModel = new IntermediateModel(
@@ -122,6 +125,8 @@ public IntermediateModel build() {
122125
log.info("{} shapes remained after applying customizations.", fullModel.getShapes().size());
123126

124127
Map<String, ShapeModel> trimmedShapes = removeUnusedShapes(fullModel);
128+
// Remove deprecated shapes
129+
trimmedShapes.entrySet().removeIf(e -> customConfig.getDeprecatedShapes().contains(e.getKey()));
125130

126131
log.info("{} shapes remained after removing unused shapes.", trimmedShapes.size());
127132

codegen/src/main/java/software/amazon/awssdk/codegen/model/config/customization/CustomizationConfig.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,10 @@ public class CustomizationConfig {
104104
*/
105105
private List<String> verifiedSimpleMethods = new ArrayList<>();
106106

107+
private List<String> deprecatedOperations = new ArrayList<>();
108+
109+
private List<String> deprecatedShapes = new ArrayList<>();
110+
107111
private String sdkRequestBaseClassName;
108112

109113
private String sdkResponseBaseClassName;
@@ -266,6 +270,22 @@ public void setVerifiedSimpleMethods(List<String> verifiedSimpleMethods) {
266270
this.verifiedSimpleMethods = verifiedSimpleMethods;
267271
}
268272

273+
public List<String> getDeprecatedOperations() {
274+
return deprecatedOperations;
275+
}
276+
277+
public void setDeprecatedOperations(List<String> deprecatedOperations) {
278+
this.deprecatedOperations = deprecatedOperations;
279+
}
280+
281+
public List<String> getDeprecatedShapes() {
282+
return deprecatedShapes;
283+
}
284+
285+
public void setDeprecatedShapes(List<String> deprecatedShapes) {
286+
this.deprecatedShapes = deprecatedShapes;
287+
}
288+
269289
public String getSdkRequestBaseClassName() {
270290
return sdkRequestBaseClassName;
271291
}

services/applicationdiscovery/src/main/resources/codegen-resources/customization.config

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,9 @@
1111
"blacklistedSimpleMethods" : [
1212
"startContinuousExport",
1313
"describeContinuousExports"
14+
],
15+
"deprecatedOperations": [
16+
"DescribeExportConfigurations",
17+
"ExportConfigurations"
1418
]
1519
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"deprecatedShapes": [
3+
"KmsKeyDisabledException"
4+
]
5+
}

services/directconnect/src/main/resources/codegen-resources/customization.config

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,11 @@
55
"describeDirectConnectGatewayAttachments",
66
"describeDirectConnectGatewayAssociations"
77
],
8-
"verifiedSimpleMethods" : ["describeInterconnects"]
8+
"verifiedSimpleMethods" : ["describeInterconnects"],
9+
"deprecatedOperations": [
10+
"AllocateConnectionOnInterconnect",
11+
"DescribeConnectionLoa",
12+
"DescribeConnectionsOnInterconnect",
13+
"DescribeInterconnectLoa"
14+
]
915
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"deprecatedOperations": [
3+
"TestRole"
4+
]
5+
}

services/emr/src/main/resources/codegen-resources/customization.config

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,8 @@
1414
"cancelSteps",
1515
"modifyInstanceGroups",
1616
"describeJobFlows"
17+
],
18+
"deprecatedOperations": [
19+
"DescribeJobFlows"
1720
]
1821
}

services/iot/src/main/resources/codegen-resources/customization.config

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,11 @@
1919
"getV2LoggingOptions",
2020
"listAuditFindings",
2121
"listV2LoggingLevels"
22+
],
23+
"deprecatedOperations": [
24+
"AttachPrincipalPolicy",
25+
"DetachPrincipalPolicy",
26+
"ListPolicyPrincipals",
27+
"ListPrincipalPolicies"
2228
]
2329
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"deprecatedOperations": [
3+
"InvokeAsync"
4+
]
5+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"deprecatedOperations" : [
3+
"RotateChannelCredentials"
4+
]
5+
}

services/rds/src/main/resources/codegen-resources/customization.config

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,8 @@
2424
}
2525

2626
},
27-
"blacklistedSimpleMethods" : ["failoverDBCluster"]
27+
"blacklistedSimpleMethods" : ["failoverDBCluster"],
28+
"deprecatedShapes" : [
29+
"BackupPolicyNotFoundFault"
30+
]
2831
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"deprecatedShapes" : [
3+
"HealthCheckInUse"
4+
]
5+
}

services/s3/src/main/resources/codegen-resources/customization.config

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,11 @@
3131
"SelectObjectContent" : {
3232
"exclude": true
3333
}
34-
}
34+
},
35+
"deprecatedOperations": [
36+
"GetBucketLifecycle",
37+
"GetBucketNotification",
38+
"PutBucketLifecycle",
39+
"PutBucketNotification"
40+
]
3541
}

services/shield/src/main/resources/codegen-resources/customization.config

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,8 @@
1111
"updateSubscription",
1212
"describeDRTAccess",
1313
"describeEmergencyContactSettings"
14+
],
15+
"deprecatedOperations" : [
16+
"DeleteSubscription"
1417
]
1518
}

0 commit comments

Comments
 (0)