Skip to content

Commit 59ba025

Browse files
authored
Change auth type getters to fluent getters (#5318)
* Change auth type getters to fluent getters * Fix session credentials
1 parent 62bfe66 commit 59ba025

File tree

2 files changed

+141
-8
lines changed

2 files changed

+141
-8
lines changed

migration-tool/src/main/resources/META-INF/rewrite/change-auth-types.yml

Lines changed: 68 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,52 +21,118 @@ recipeList:
2121
- org.openrewrite.java.ChangeMethodName:
2222
methodPattern: com.amazonaws.auth.DefaultAWSCredentialsProviderChain getInstance
2323
newMethodName: create
24+
- org.openrewrite.java.ChangeMethodName:
25+
methodPattern: com.amazonaws.auth.AWSCredentialsProviderChain getCredentials
26+
newMethodName: resolveCredentials
2427
- org.openrewrite.java.ChangeType:
2528
oldFullyQualifiedTypeName: com.amazonaws.auth.DefaultAWSCredentialsProviderChain
2629
newFullyQualifiedTypeName: software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider
2730

31+
- org.openrewrite.java.ChangeMethodName:
32+
methodPattern: com.amazonaws.auth.AWSCredentials getAWSAccessKeyId
33+
newMethodName: accessKeyId
34+
- org.openrewrite.java.ChangeMethodName:
35+
methodPattern: com.amazonaws.auth.AWSCredentials getAWSSecretKey
36+
newMethodName: secretAccessKey
37+
- org.openrewrite.java.ChangeMethodName:
38+
methodPattern: com.amazonaws.auth.AWSSessionCredentials getSessionToken
39+
newMethodName: sessionToken
2840
- org.openrewrite.java.ChangeType:
2941
oldFullyQualifiedTypeName: com.amazonaws.auth.AWSCredentials
3042
newFullyQualifiedTypeName: software.amazon.awssdk.auth.credentials.AwsCredentials
43+
44+
- org.openrewrite.java.ChangeMethodName:
45+
methodPattern: com.amazonaws.auth.BasicAWSCredentials getAWSAccessKeyId
46+
newMethodName: accessKeyId
47+
- org.openrewrite.java.ChangeMethodName:
48+
methodPattern: com.amazonaws.auth.BasicAWSCredentials getAWSSecretKey
49+
newMethodName: secretAccessKey
3150
- org.openrewrite.java.ChangeType:
3251
oldFullyQualifiedTypeName: com.amazonaws.auth.BasicAWSCredentials
3352
newFullyQualifiedTypeName: software.amazon.awssdk.auth.credentials.AwsBasicCredentials
53+
54+
- org.openrewrite.java.ChangeMethodName:
55+
methodPattern: com.amazonaws.auth.BasicSessionCredentials getAWSAccessKeyId
56+
newMethodName: accessKeyId
57+
- org.openrewrite.java.ChangeMethodName:
58+
methodPattern: com.amazonaws.auth.BasicSessionCredentials getAWSSecretKey
59+
newMethodName: secretAccessKey
60+
- org.openrewrite.java.ChangeMethodName:
61+
methodPattern: com.amazonaws.auth.BasicSessionCredentials getSessionToken
62+
newMethodName: sessionToken
3463
- org.openrewrite.java.ChangeType:
3564
oldFullyQualifiedTypeName: com.amazonaws.auth.BasicSessionCredentials
3665
newFullyQualifiedTypeName: software.amazon.awssdk.auth.credentials.AwsSessionCredentials
3766

3867
- org.openrewrite.java.ChangeType:
3968
oldFullyQualifiedTypeName: com.amazonaws.auth.AWSCredentialsProvider
4069
newFullyQualifiedTypeName: software.amazon.awssdk.auth.credentials.AwsCredentialsProvider
70+
- org.openrewrite.java.ChangeMethodName:
71+
methodPattern: software.amazon.awssdk.auth.credentials.AwsCredentialsProvider getCredentials
72+
newMethodName: resolveCredentials
73+
4174
- org.openrewrite.java.ChangeType:
4275
oldFullyQualifiedTypeName: com.amazonaws.auth.AWSStaticCredentialsProvider
4376
newFullyQualifiedTypeName: software.amazon.awssdk.auth.credentials.StaticCredentialsProvider
77+
- org.openrewrite.java.ChangeMethodName:
78+
methodPattern: software.amazon.awssdk.auth.credentials.StaticCredentialsProvider getCredentials
79+
newMethodName: resolveCredentials
80+
81+
- org.openrewrite.java.ChangeMethodName:
82+
methodPattern: com.amazonaws.auth.EnvironmentVariableCredentialsProvider getCredentials
83+
newMethodName: resolveCredentials
4484
- org.openrewrite.java.ChangeType:
4585
oldFullyQualifiedTypeName: com.amazonaws.auth.EnvironmentVariableCredentialsProvider
4686
newFullyQualifiedTypeName: software.amazon.awssdk.auth.credentials.EnvironmentVariableCredentialsProvider
87+
4788
- org.openrewrite.java.ChangeType:
4889
oldFullyQualifiedTypeName: com.amazonaws.auth.profile.ProfileCredentialsProvider
4990
newFullyQualifiedTypeName: software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider
91+
- org.openrewrite.java.ChangeMethodName:
92+
methodPattern: software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider getCredentials
93+
newMethodName: resolveCredentials
94+
5095
- org.openrewrite.java.ChangeType:
5196
oldFullyQualifiedTypeName: com.amazonaws.auth.ContainerCredentialsProvider
5297
newFullyQualifiedTypeName: software.amazon.awssdk.auth.credentials.ContainerCredentialsProvider
98+
- org.openrewrite.java.ChangeMethodName:
99+
methodPattern: software.amazon.awssdk.auth.credentials.ContainerCredentialsProvider getCredentials
100+
newMethodName: resolveCredentials
53101

54102
- org.openrewrite.java.ChangeMethodName:
55103
methodPattern: com.amazonaws.auth.InstanceProfileCredentialsProvider getInstance
56104
newMethodName: create
57105
- org.openrewrite.java.ChangeType:
58106
oldFullyQualifiedTypeName: com.amazonaws.auth.InstanceProfileCredentialsProvider
59107
newFullyQualifiedTypeName: software.amazon.awssdk.auth.credentials.InstanceProfileCredentialsProvider
108+
- org.openrewrite.java.ChangeMethodName:
109+
methodPattern: software.amazon.awssdk.auth.credentials.InstanceProfileCredentialsProvider getCredentials
110+
newMethodName: resolveCredentials
60111

61112
- org.openrewrite.java.ChangeType:
62113
oldFullyQualifiedTypeName: com.amazonaws.auth.STSAssumeRoleSessionCredentialsProvider
63114
newFullyQualifiedTypeName: software.amazon.awssdk.services.sts.auth.StsAssumeRoleCredentialsProvider
115+
- org.openrewrite.java.ChangeMethodName:
116+
methodPattern: software.amazon.awssdk.auth.credentials.StsAssumeRoleCredentialsProvider getCredentials
117+
newMethodName: resolveCredentials
118+
64119
- org.openrewrite.java.ChangeType:
65120
oldFullyQualifiedTypeName: com.amazonaws.auth.STSSessionCredentialsProvider
66-
newFullyQualifiedTypeName: software.amazon.awssdk.services.sts.auth.StsGetSessionTokenCredentialsProvider
121+
newFullyQualifiedTypeName: software.amazon.awssdk.services.sts.auth.EnvironmentVariableCredentialsProvider
122+
- org.openrewrite.java.ChangeMethodName:
123+
methodPattern: software.amazon.awssdk.auth.credentials.EnvironmentVariableCredentialsProvider getCredentials
124+
newMethodName: resolveCredentials
125+
67126
- org.openrewrite.java.ChangeType:
68127
oldFullyQualifiedTypeName: com.amazonaws.auth.WebIdentityFederationSessionCredentialsProvider
69128
newFullyQualifiedTypeName: software.amazon.awssdk.services.sts.auth.StsAssumeRoleWithWebIdentityCredentialsProvider
129+
- org.openrewrite.java.ChangeMethodName:
130+
methodPattern: software.amazon.awssdk.auth.credentials.StsAssumeRoleWithWebIdentityCredentialsProvider getCredentials
131+
newMethodName: resolveCredentials
132+
70133
- org.openrewrite.java.ChangeType:
71134
oldFullyQualifiedTypeName: com.amazonaws.auth.ProcessCredentialsProvider
72-
newFullyQualifiedTypeName: software.amazon.awssdk.auth.credentials.ProcessCredentialsProvider
135+
newFullyQualifiedTypeName: software.amazon.awssdk.auth.credentials.ProcessCredentialsProvider
136+
- org.openrewrite.java.ChangeMethodName:
137+
methodPattern: software.amazon.awssdk.auth.credentials.ProcessCredentialsProvider getCredentials
138+
newMethodName: resolveCredentials

migration-tool/src/test/java/software/amazon/awssdk/migration/recipe/ChangeAuthTypesTest.java

Lines changed: 73 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -75,20 +75,24 @@ void defaultCredentialsProviderChain_usingNew_isRewritten() {
7575
void defaultCredentialsProviderChain_getInstance_isRewritten() {
7676
rewriteRun(
7777
java(
78-
"import com.amazonaws.auth.DefaultAWSCredentialsProviderChain;\n"
78+
"import com.amazonaws.auth.AWSCredentials;\n"
79+
+ "import com.amazonaws.auth.DefaultAWSCredentialsProviderChain;\n"
7980
+ "\n"
8081
+ "public class Example {\n"
8182
+ " public static void main(String[] args) {\n"
8283
+ " DefaultAWSCredentialsProviderChain credentials = DefaultAWSCredentialsProviderChain.getInstance();\n"
84+
+ " AWSCredentials awsCredentials = credentials.getCredentials();\n"
8385
+ " }\n"
8486
+ "}\n",
85-
"import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider;\n"
87+
"import software.amazon.awssdk.auth.credentials.AwsCredentials;\n"
88+
+ "import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider;\n"
8689
+ "\n"
8790
+ "public class Example {\n"
8891
+ " public static void main(String[] args) {\n"
8992
+ " DefaultCredentialsProvider credentials = DefaultCredentialsProvider.create();\n"
93+
+ " AwsCredentials awsCredentials = credentials.resolveCredentials();\n"
9094
+ " }\n"
91-
+ "}\n"
95+
+ "}"
9296
)
9397
);
9498
}
@@ -98,20 +102,83 @@ void defaultCredentialsProviderChain_getInstance_isRewritten() {
98102
void instanceCredentialsProvider_getInstance_isRewritten() {
99103
rewriteRun(
100104
java(
101-
"import com.amazonaws.auth.InstanceProfileCredentialsProvider;\n"
105+
"import com.amazonaws.auth.AWSCredentials;\n"
106+
+ "import com.amazonaws.auth.InstanceProfileCredentialsProvider;\n"
102107
+ "\n"
103108
+ "public class Example {\n"
104109
+ " public static void main(String[] args) {\n"
105110
+ " InstanceProfileCredentialsProvider credentials = InstanceProfileCredentialsProvider.getInstance();\n"
111+
+ " AWSCredentials awsCredentials = credentials.getCredentials();\n"
106112
+ " }\n"
107113
+ "}\n",
108-
"import software.amazon.awssdk.auth.credentials.InstanceProfileCredentialsProvider;\n"
114+
"import software.amazon.awssdk.auth.credentials.AwsCredentials;\n"
115+
+ "import software.amazon.awssdk.auth.credentials.InstanceProfileCredentialsProvider;\n"
109116
+ "\n"
110117
+ "public class Example {\n"
111118
+ " public static void main(String[] args) {\n"
112119
+ " InstanceProfileCredentialsProvider credentials = InstanceProfileCredentialsProvider.create();\n"
120+
+ " AwsCredentials awsCredentials = credentials.resolveCredentials();\n"
113121
+ " }\n"
114-
+ "}\n"
122+
+ "}"
123+
)
124+
);
125+
}
126+
127+
@Test
128+
@EnabledOnJre({JRE.JAVA_8})
129+
void staticCredentials_getter_isRewritten() {
130+
rewriteRun(
131+
java(
132+
"import com.amazonaws.auth.AWSStaticCredentialsProvider;\n"
133+
+ "import com.amazonaws.auth.AWSCredentials;\n"
134+
+ "import com.amazonaws.auth.BasicAWSCredentials;\n"
135+
+ "\n"
136+
+ "public class Example {\n"
137+
+ " public static void main(String[] args) {\n"
138+
+ " AWSCredentials credentials = new BasicAWSCredentials(\"foo\", \"bar\");\n"
139+
+ " String accessKeyId = credentials.getAWSAccessKeyId();\n"
140+
+ " String secreteKey = credentials.getAWSSecretKey();\n"
141+
+ " }\n"
142+
+ "}\n",
143+
"import software.amazon.awssdk.auth.credentials.AwsBasicCredentials;\n"
144+
+ "import software.amazon.awssdk.auth.credentials.AwsCredentials;\n"
145+
+ "\n"
146+
+ "public class Example {\n"
147+
+ " public static void main(String[] args) {\n"
148+
+ " AwsCredentials credentials = new AwsBasicCredentials(\"foo\", \"bar\");\n"
149+
+ " String accessKeyId = credentials.accessKeyId();\n"
150+
+ " String secreteKey = credentials.secretAccessKey();\n"
151+
+ " }\n"
152+
+ "}"
153+
)
154+
);
155+
}
156+
157+
@Test
158+
@EnabledOnJre({JRE.JAVA_8})
159+
void sessionStaticCredentials_getter_isRewritten() {
160+
rewriteRun(
161+
java("import com.amazonaws.auth.AWSCredentials;\n"
162+
+ "import com.amazonaws.auth.BasicSessionCredentials;\n"
163+
+ "\n"
164+
+ "public class Example {\n"
165+
+ " public static void main(String[] args) {\n"
166+
+ " BasicSessionCredentials credentials = new BasicSessionCredentials(\"foo\", \"bar\", \"123\");\n"
167+
+ " String accessKeyId = credentials.getAWSAccessKeyId();\n"
168+
+ " String secreteKey = credentials.getAWSSecretKey();\n"
169+
+ " String sessionToken = credentials.getSessionToken();\n"
170+
+ " }\n"
171+
+ "}\n",
172+
"import software.amazon.awssdk.auth.credentials.AwsSessionCredentials;\n"
173+
+ "\n"
174+
+ "public class Example {\n"
175+
+ " public static void main(String[] args) {\n"
176+
+ " AwsSessionCredentials credentials = new AwsSessionCredentials(\"foo\", \"bar\", \"123\");\n"
177+
+ " String accessKeyId = credentials.accessKeyId();\n"
178+
+ " String secreteKey = credentials.secretAccessKey();\n"
179+
+ " String sessionToken = credentials.sessionToken();\n"
180+
+ " }\n"
181+
+ "}"
115182
)
116183
);
117184
}

0 commit comments

Comments
 (0)