Skip to content

Commit cc433fd

Browse files
committed
De-normalize discriminator, keeping them at the same level in hierarchy: rename S3 to S3STATIC along S3STS.
1 parent 8a2865d commit cc433fd

23 files changed

+311
-341
lines changed

hub/src/main/java/cloud/katta/model/StorageProfileDtoWrapper.java

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
import cloud.katta.client.model.Protocol;
1111
import cloud.katta.client.model.S3STORAGECLASSES;
1212
import cloud.katta.client.model.StorageProfileDto;
13-
import cloud.katta.client.model.StorageProfileS3Dto;
1413
import cloud.katta.client.model.StorageProfileS3STSDto;
14+
import cloud.katta.client.model.StorageProfileS3StaticDto;
1515

1616
/**
1717
* openapi-generator does not generate sub-classes
@@ -32,8 +32,8 @@ public Class getType() {
3232
}
3333

3434
public Protocol getProtocol() {
35-
if(proxy.getActualInstance() instanceof StorageProfileS3Dto) {
36-
return ((StorageProfileS3Dto) proxy.getActualInstance()).getProtocol();
35+
if(proxy.getActualInstance() instanceof StorageProfileS3StaticDto) {
36+
return ((StorageProfileS3StaticDto) proxy.getActualInstance()).getProtocol();
3737
}
3838
else if(proxy.getActualInstance() instanceof StorageProfileS3STSDto) {
3939
return ((StorageProfileS3STSDto) proxy.getActualInstance()).getProtocol();
@@ -42,8 +42,8 @@ else if(proxy.getActualInstance() instanceof StorageProfileS3STSDto) {
4242
}
4343

4444
public UUID getId() {
45-
if(proxy.getActualInstance() instanceof StorageProfileS3Dto) {
46-
return ((StorageProfileS3Dto) proxy.getActualInstance()).getId();
45+
if(proxy.getActualInstance() instanceof StorageProfileS3StaticDto) {
46+
return ((StorageProfileS3StaticDto) proxy.getActualInstance()).getId();
4747
}
4848
else if(proxy.getActualInstance() instanceof StorageProfileS3STSDto) {
4949
return ((StorageProfileS3STSDto) proxy.getActualInstance()).getId();
@@ -52,8 +52,8 @@ else if(proxy.getActualInstance() instanceof StorageProfileS3STSDto) {
5252
}
5353

5454
public String getName() {
55-
if(proxy.getActualInstance() instanceof StorageProfileS3Dto) {
56-
return ((StorageProfileS3Dto) proxy.getActualInstance()).getName();
55+
if(proxy.getActualInstance() instanceof StorageProfileS3StaticDto) {
56+
return ((StorageProfileS3StaticDto) proxy.getActualInstance()).getName();
5757
}
5858
else if(proxy.getActualInstance() instanceof StorageProfileS3STSDto) {
5959
return ((StorageProfileS3STSDto) proxy.getActualInstance()).getName();
@@ -62,8 +62,8 @@ else if(proxy.getActualInstance() instanceof StorageProfileS3STSDto) {
6262
}
6363

6464
public String getHostname() {
65-
if(proxy.getActualInstance() instanceof StorageProfileS3Dto) {
66-
return ((StorageProfileS3Dto) proxy.getActualInstance()).getHostname();
65+
if(proxy.getActualInstance() instanceof StorageProfileS3StaticDto) {
66+
return ((StorageProfileS3StaticDto) proxy.getActualInstance()).getHostname();
6767
}
6868
else if(proxy.getActualInstance() instanceof StorageProfileS3STSDto) {
6969
return ((StorageProfileS3STSDto) proxy.getActualInstance()).getHostname();
@@ -72,8 +72,8 @@ else if(proxy.getActualInstance() instanceof StorageProfileS3STSDto) {
7272
}
7373

7474
public String getScheme() {
75-
if(proxy.getActualInstance() instanceof StorageProfileS3Dto) {
76-
return ((StorageProfileS3Dto) proxy.getActualInstance()).getScheme();
75+
if(proxy.getActualInstance() instanceof StorageProfileS3StaticDto) {
76+
return ((StorageProfileS3StaticDto) proxy.getActualInstance()).getScheme();
7777
}
7878
else if(proxy.getActualInstance() instanceof StorageProfileS3STSDto) {
7979
return ((StorageProfileS3STSDto) proxy.getActualInstance()).getScheme();
@@ -82,8 +82,8 @@ else if(proxy.getActualInstance() instanceof StorageProfileS3STSDto) {
8282
}
8383

8484
public Integer getPort() {
85-
if(proxy.getActualInstance() instanceof StorageProfileS3Dto) {
86-
return ((StorageProfileS3Dto) proxy.getActualInstance()).getPort();
85+
if(proxy.getActualInstance() instanceof StorageProfileS3StaticDto) {
86+
return ((StorageProfileS3StaticDto) proxy.getActualInstance()).getPort();
8787
}
8888
else if(proxy.getActualInstance() instanceof StorageProfileS3STSDto) {
8989
return ((StorageProfileS3STSDto) proxy.getActualInstance()).getPort();
@@ -92,7 +92,7 @@ else if(proxy.getActualInstance() instanceof StorageProfileS3STSDto) {
9292
}
9393

9494
public String getStsEndpoint() {
95-
if(proxy.getActualInstance() instanceof StorageProfileS3Dto) {
95+
if(proxy.getActualInstance() instanceof StorageProfileS3StaticDto) {
9696
// only STS
9797
return null;
9898
}
@@ -103,7 +103,7 @@ else if(proxy.getActualInstance() instanceof StorageProfileS3STSDto) {
103103
}
104104

105105
public Boolean getBucketAcceleration() {
106-
if(proxy.getActualInstance() instanceof StorageProfileS3Dto) {
106+
if(proxy.getActualInstance() instanceof StorageProfileS3StaticDto) {
107107
// only STS
108108
return null;
109109
}
@@ -114,7 +114,7 @@ else if(proxy.getActualInstance() instanceof StorageProfileS3STSDto) {
114114
}
115115

116116
public String getBucketPrefix() {
117-
if(proxy.getActualInstance() instanceof StorageProfileS3Dto) {
117+
if(proxy.getActualInstance() instanceof StorageProfileS3StaticDto) {
118118
// only STS
119119
return null;
120120
}
@@ -125,8 +125,8 @@ else if(proxy.getActualInstance() instanceof StorageProfileS3STSDto) {
125125
}
126126

127127
public String getRegion() {
128-
if(proxy.getActualInstance() instanceof StorageProfileS3Dto) {
129-
return ((StorageProfileS3Dto) proxy.getActualInstance()).getRegion();
128+
if(proxy.getActualInstance() instanceof StorageProfileS3StaticDto) {
129+
return ((StorageProfileS3StaticDto) proxy.getActualInstance()).getRegion();
130130
}
131131
else if(proxy.getActualInstance() instanceof StorageProfileS3STSDto) {
132132
return ((StorageProfileS3STSDto) proxy.getActualInstance()).getRegion();
@@ -135,7 +135,7 @@ else if(proxy.getActualInstance() instanceof StorageProfileS3STSDto) {
135135
}
136136

137137
public List<String> getRegions() {
138-
if(proxy.getActualInstance() instanceof StorageProfileS3Dto) {
138+
if(proxy.getActualInstance() instanceof StorageProfileS3StaticDto) {
139139
// only STS
140140
return null;
141141
}
@@ -146,7 +146,7 @@ else if(proxy.getActualInstance() instanceof StorageProfileS3STSDto) {
146146
}
147147

148148
public String getStsRoleAccessBucketAssumeRoleWithWebIdentity() {
149-
if(proxy.getActualInstance() instanceof StorageProfileS3Dto) {
149+
if(proxy.getActualInstance() instanceof StorageProfileS3StaticDto) {
150150
// only STS
151151
return null;
152152
}
@@ -157,7 +157,7 @@ else if(proxy.getActualInstance() instanceof StorageProfileS3STSDto) {
157157
}
158158

159159
public String getStsRoleAccessBucketAssumeRoleTaggedSession() {
160-
if(proxy.getActualInstance() instanceof StorageProfileS3Dto) {
160+
if(proxy.getActualInstance() instanceof StorageProfileS3StaticDto) {
161161
// only STS
162162
return null;
163163
}
@@ -168,7 +168,7 @@ else if(proxy.getActualInstance() instanceof StorageProfileS3STSDto) {
168168
}
169169

170170
public String getStsRoleCreateBucketClient() {
171-
if(proxy.getActualInstance() instanceof StorageProfileS3Dto) {
171+
if(proxy.getActualInstance() instanceof StorageProfileS3StaticDto) {
172172
// only STS
173173
return null;
174174
}
@@ -179,7 +179,7 @@ else if(proxy.getActualInstance() instanceof StorageProfileS3STSDto) {
179179
}
180180

181181
public Integer getStsDurationSeconds() {
182-
if(proxy.getActualInstance() instanceof StorageProfileS3Dto) {
182+
if(proxy.getActualInstance() instanceof StorageProfileS3StaticDto) {
183183
// only STS
184184
return null;
185185
}
@@ -190,7 +190,7 @@ else if(proxy.getActualInstance() instanceof StorageProfileS3STSDto) {
190190
}
191191

192192
public String getStsSessionTag() {
193-
if(proxy.getActualInstance() instanceof StorageProfileS3Dto) {
193+
if(proxy.getActualInstance() instanceof StorageProfileS3StaticDto) {
194194
// only STS
195195
return null;
196196
}
@@ -201,8 +201,8 @@ else if(proxy.getActualInstance() instanceof StorageProfileS3STSDto) {
201201
}
202202

203203
public Boolean getWithPathStyleAccessEnabled() {
204-
if(proxy.getActualInstance() instanceof StorageProfileS3Dto) {
205-
return ((StorageProfileS3Dto) proxy.getActualInstance()).getWithPathStyleAccessEnabled();
204+
if(proxy.getActualInstance() instanceof StorageProfileS3StaticDto) {
205+
return ((StorageProfileS3StaticDto) proxy.getActualInstance()).getWithPathStyleAccessEnabled();
206206
}
207207
else if(proxy.getActualInstance() instanceof StorageProfileS3STSDto) {
208208
return ((StorageProfileS3STSDto) proxy.getActualInstance()).getWithPathStyleAccessEnabled();
@@ -211,8 +211,8 @@ else if(proxy.getActualInstance() instanceof StorageProfileS3STSDto) {
211211
}
212212

213213
public S3STORAGECLASSES getStorageClass() {
214-
if(proxy.getActualInstance() instanceof StorageProfileS3Dto) {
215-
return ((StorageProfileS3Dto) proxy.getActualInstance()).getStorageClass();
214+
if(proxy.getActualInstance() instanceof StorageProfileS3StaticDto) {
215+
return ((StorageProfileS3StaticDto) proxy.getActualInstance()).getStorageClass();
216216
}
217217
else if(proxy.getActualInstance() instanceof StorageProfileS3STSDto) {
218218
return ((StorageProfileS3STSDto) proxy.getActualInstance()).getStorageClass();

hub/src/main/java/cloud/katta/protocols/hub/serializer/StorageProfileDtoWrapperDeserializer.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ public String stringForKey(final String key) {
8181
switch(key) {
8282
case PROTOCOL_KEY:
8383
switch(dto.getProtocol()) {
84-
case S3:
84+
case S3_STATIC:
8585
case S3_STS:
8686
return new S3AssumeRoleProtocol().getIdentifier();
8787
}
@@ -109,7 +109,7 @@ public Boolean booleanForKey(final String key) {
109109
switch(key) {
110110
case OAUTH_CONFIGURABLE_KEY:
111111
switch(dto.getProtocol()) {
112-
case S3:
112+
case S3_STATIC:
113113
return false;
114114
case S3_STS:
115115
return true;

hub/src/main/java/cloud/katta/workflows/VaultServiceImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ public StorageProfileDtoWrapper getVaultStorageProfile(final UvfMetadataPayload
9393
public Session<?> getVaultStorageSession(final HubSession session, final UUID vaultId, final UvfMetadataPayload vaultMetadata) throws ApiException, AccessException {
9494
final StorageProfileDtoWrapper vaultStorageProfile = this.getVaultStorageProfile(vaultMetadata);
9595
switch(vaultStorageProfile.getProtocol()) {
96-
case S3:
96+
case S3_STATIC:
9797
case S3_STS:
9898
final VaultMetadataJWEBackendDto vaultStorageMetadata = vaultMetadata.storage();
9999
try {

hub/src/main/resources/openapi.json

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,7 @@
296296
"Protocol": {
297297
"type": "string",
298298
"enum": [
299-
"S3",
299+
"S3STATIC",
300300
"S3STS"
301301
]
302302
},
@@ -350,7 +350,7 @@
350350
"StorageProfileDto": {
351351
"oneOf": [
352352
{
353-
"$ref": "#/components/schemas/StorageProfileS3Dto"
353+
"$ref": "#/components/schemas/StorageProfileS3StaticDto"
354354
},
355355
{
356356
"$ref": "#/components/schemas/StorageProfileS3STSDto"
@@ -360,7 +360,7 @@
360360
"discriminator": {
361361
"propertyName": "protocol",
362362
"mapping": {
363-
"S3": "#/components/schemas/StorageProfileS3Dto",
363+
"S3STATIC": "#/components/schemas/StorageProfileS3StaticDto",
364364
"S3STS": "#/components/schemas/StorageProfileS3STSDto"
365365
}
366366
},
@@ -392,8 +392,8 @@
392392
}
393393
}
394394
},
395-
"StorageProfileS3Dto": {
396-
"title": "StorageProfileS3Dto",
395+
"StorageProfileS3STSDto": {
396+
"title": "StorageProfileS3STSDto",
397397
"type": "object",
398398
"required": [
399399
"id",
@@ -407,7 +407,9 @@
407407
"stsRoleCreateBucketClient",
408408
"stsRoleCreateBucketHub",
409409
"bucketVersioning",
410-
"bucketEncryption"
410+
"bucketEncryption",
411+
"stsRoleAccessBucketAssumeRoleWithWebIdentity",
412+
"stsSessionTag"
411413
],
412414
"properties": {
413415
"id": {
@@ -516,11 +518,37 @@
516518
"description": "Enable bucket versioning upon bucket creation",
517519
"type": "string",
518520
"$ref": "#/components/schemas/S3_SERVERSIDE_ENCRYPTION"
521+
},
522+
"stsRoleAccessBucketAssumeRoleWithWebIdentity": {
523+
"type": "string",
524+
"description": "roleArn to for STS AssumeRoleWithWebIdentity (AWS and MinIO)",
525+
"example": "arn:aws:iam::930717317329:role/cipherduck_chain_01"
526+
},
527+
"stsRoleAccessBucketAssumeRoleTaggedSession": {
528+
"type": [
529+
"string",
530+
"null"
531+
],
532+
"description": "roleArn to assume for STS AssumeRole in role chaining (AWS only, not MinIO)",
533+
"example": "arn:aws:iam::930717317329:role/cipherduck_chain_02"
534+
},
535+
"stsDurationSeconds": {
536+
"type": [
537+
"integer",
538+
"null"
539+
],
540+
"format": "int32",
541+
"description": "Token lifetime for STS tokens assumed. Defaults to AWS/MinIO defaults"
542+
},
543+
"stsSessionTag": {
544+
"type": "string",
545+
"description": "Session tag to use for role chaining (AWS only, not MinIO). Defaults to \"Vault\"",
546+
"default": "Vault"
519547
}
520548
}
521549
},
522-
"StorageProfileS3STSDto": {
523-
"title": "StorageProfileS3STSDto",
550+
"StorageProfileS3StaticDto": {
551+
"title": "StorageProfileS3StaticDto",
524552
"type": "object",
525553
"required": [
526554
"id",
@@ -534,9 +562,7 @@
534562
"stsRoleCreateBucketClient",
535563
"stsRoleCreateBucketHub",
536564
"bucketVersioning",
537-
"bucketEncryption",
538-
"stsRoleAccessBucketAssumeRoleWithWebIdentity",
539-
"stsSessionTag"
565+
"bucketEncryption"
540566
],
541567
"properties": {
542568
"id": {
@@ -645,32 +671,6 @@
645671
"description": "Enable bucket versioning upon bucket creation",
646672
"type": "string",
647673
"$ref": "#/components/schemas/S3_SERVERSIDE_ENCRYPTION"
648-
},
649-
"stsRoleAccessBucketAssumeRoleWithWebIdentity": {
650-
"type": "string",
651-
"description": "roleArn to for STS AssumeRoleWithWebIdentity (AWS and MinIO)",
652-
"example": "arn:aws:iam::930717317329:role/cipherduck_chain_01"
653-
},
654-
"stsRoleAccessBucketAssumeRoleTaggedSession": {
655-
"type": [
656-
"string",
657-
"null"
658-
],
659-
"description": "roleArn to assume for STS AssumeRole in role chaining (AWS only, not MinIO)",
660-
"example": "arn:aws:iam::930717317329:role/cipherduck_chain_02"
661-
},
662-
"stsDurationSeconds": {
663-
"type": [
664-
"integer",
665-
"null"
666-
],
667-
"format": "int32",
668-
"description": "Token lifetime for STS tokens assumed. Defaults to AWS/MinIO defaults"
669-
},
670-
"stsSessionTag": {
671-
"type": "string",
672-
"description": "Session tag to use for role chaining (AWS only, not MinIO). Defaults to \"Vault\"",
673-
"default": "Vault"
674674
}
675675
}
676676
},
@@ -1792,13 +1792,13 @@
17921792
]
17931793
}
17941794
},
1795-
"/api/storageprofile/s3": {
1795+
"/api/storageprofile/s3static": {
17961796
"post": {
17971797
"requestBody": {
17981798
"content": {
17991799
"application/json": {
18001800
"schema": {
1801-
"$ref": "#/components/schemas/StorageProfileS3Dto"
1801+
"$ref": "#/components/schemas/StorageProfileS3StaticDto"
18021802
}
18031803
}
18041804
},

hub/src/test/java/cloud/katta/client/model/ObjectMapperTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ void testAWSStatic() throws IOException {
2424
final ObjectMapper mapper = new ObjectMapper();
2525
mapper.registerModule(new JsonNullableModule());
2626

27-
final StorageProfileS3Dto awsStaticProfile = mapper.readValue(this.getClass().getResourceAsStream("/setup/hybrid/aws_static/aws_static_profile.json"), StorageProfileS3Dto.class);
28-
assertEquals(Protocol.S3, awsStaticProfile.getProtocol());
27+
final StorageProfileS3StaticDto awsStaticProfile = mapper.readValue(this.getClass().getResourceAsStream("/setup/hybrid/aws_static/aws_static_profile.json"), StorageProfileS3StaticDto.class);
28+
assertEquals(Protocol.S3_STATIC, awsStaticProfile.getProtocol());
2929
assertEquals("https", awsStaticProfile.getScheme());
3030
assertNull(awsStaticProfile.getHostname());
3131
assertEquals(443, awsStaticProfile.getPort());
@@ -64,8 +64,8 @@ void testMinioStatic() throws IOException {
6464
final ObjectMapper mapper = new ObjectMapper();
6565
mapper.registerModule(new JsonNullableModule());
6666

67-
final StorageProfileS3Dto minioStaticProfile = mapper.readValue(this.getClass().getResourceAsStream("/setup/local/minio_static/minio_static_profile.json"), StorageProfileS3Dto.class);
68-
assertEquals(Protocol.S3, minioStaticProfile.getProtocol());
67+
final StorageProfileS3StaticDto minioStaticProfile = mapper.readValue(this.getClass().getResourceAsStream("/setup/local/minio_static/minio_static_profile.json"), StorageProfileS3StaticDto.class);
68+
assertEquals(Protocol.S3_STATIC, minioStaticProfile.getProtocol());
6969
assertEquals("http", minioStaticProfile.getScheme());
7070
assertEquals("minio", minioStaticProfile.getHostname());
7171
assertEquals(9000, minioStaticProfile.getPort());

0 commit comments

Comments
 (0)