Skip to content

Commit 5ea2b93

Browse files
authored
Destination S3: Adapt kotlin CDK (#36869)
1 parent f268be0 commit 5ea2b93

File tree

6 files changed

+12
-9
lines changed

6 files changed

+12
-9
lines changed

airbyte-integrations/connectors/destination-s3/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ plugins {
44
}
55

66
airbyteJavaConnector {
7-
cdkVersionRequired = '0.10.2'
7+
cdkVersionRequired = '0.29.8'
88
features = ['db-destinations', 's3-destinations']
99
useLocalCdk = false
1010
}

airbyte-integrations/connectors/destination-s3/metadata.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ data:
22
connectorSubtype: file
33
connectorType: destination
44
definitionId: 4816b78f-1489-44c1-9060-4b19d5fa9362
5-
dockerImageTag: 0.5.9
5+
dockerImageTag: 0.6.0
66
dockerRepository: airbyte/destination-s3
77
githubIssueLabel: destination-s3
88
icon: s3.svg

airbyte-integrations/connectors/destination-s3/src/main/java/io/airbyte/integrations/destination/s3/S3DestinationStrictEncrypt.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ protected S3DestinationStrictEncrypt(final S3DestinationConfigFactory configFact
2525

2626
@Override
2727
public AirbyteConnectionStatus check(final JsonNode config) {
28-
final S3DestinationConfig destinationConfig = this.configFactory.getS3DestinationConfig(config, super.storageProvider());
28+
final S3DestinationConfig destinationConfig = this.getConfigFactory().getS3DestinationConfig(config, super.storageProvider());
2929

3030
// Fails early to avoid extraneous validations checks if custom endpoint is not secure
3131
if (!S3BaseChecks.testCustomEndpointSecured(destinationConfig.getEndpoint())) {

airbyte-integrations/connectors/destination-s3/src/test/java/io/airbyte/integrations/destination/s3/S3DestinationStrictEncryptTest.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import io.airbyte.cdk.integrations.destination.s3.S3DestinationConfig;
1919
import io.airbyte.cdk.integrations.destination.s3.S3DestinationConfigFactory;
2020
import io.airbyte.cdk.integrations.destination.s3.StorageProvider;
21+
import io.airbyte.commons.json.Jsons;
2122
import io.airbyte.protocol.models.v0.AirbyteConnectionStatus;
2223
import io.airbyte.protocol.models.v0.AirbyteConnectionStatus.Status;
2324
import org.junit.jupiter.api.BeforeEach;
@@ -55,7 +56,7 @@ public S3DestinationConfig getS3DestinationConfig(final JsonNode config, final S
5556
@Test
5657
public void checksCustomEndpointIsHttpsOnly() {
5758
final S3Destination destinationWithHttpsOnlyEndpoint = new S3DestinationStrictEncrypt(factoryConfig);
58-
final AirbyteConnectionStatus status = destinationWithHttpsOnlyEndpoint.check(null);
59+
final AirbyteConnectionStatus status = destinationWithHttpsOnlyEndpoint.check(Jsons.emptyObject());
5960
assertEquals(Status.SUCCEEDED, status.getStatus(), "custom endpoint did not contain `s3-accesspoint`");
6061
}
6162

@@ -79,7 +80,7 @@ public S3DestinationConfig getS3DestinationConfig(final JsonNode config, final S
7980
}
8081

8182
});
82-
final AirbyteConnectionStatus status = destinationWithStandardUnsecuredEndpoint.check(null);
83+
final AirbyteConnectionStatus status = destinationWithStandardUnsecuredEndpoint.check(Jsons.emptyObject());
8384
assertEquals(Status.FAILED, status.getStatus());
8485
}
8586

airbyte-integrations/connectors/destination-s3/src/test/java/io/airbyte/integrations/destination/s3/S3DestinationTest.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import io.airbyte.cdk.integrations.destination.s3.S3DestinationConfigFactory;
2828
import io.airbyte.cdk.integrations.destination.s3.S3StorageOperations;
2929
import io.airbyte.cdk.integrations.destination.s3.StorageProvider;
30+
import io.airbyte.commons.json.Jsons;
3031
import io.airbyte.protocol.models.v0.AirbyteConnectionStatus;
3132
import io.airbyte.protocol.models.v0.AirbyteConnectionStatus.Status;
3233
import org.junit.jupiter.api.BeforeEach;
@@ -75,7 +76,7 @@ public S3DestinationConfig getS3DestinationConfig(final JsonNode config, final S
7576
public void checksS3WithoutListObjectPermission() {
7677
final S3Destination destinationFail = new S3Destination(factoryConfig);
7778
doThrow(new AmazonS3Exception("Access Denied")).when(s3).listObjects(any(ListObjectsRequest.class));
78-
final AirbyteConnectionStatus status = destinationFail.check(null);
79+
final AirbyteConnectionStatus status = destinationFail.check(Jsons.emptyObject());
7980
assertEquals(Status.FAILED, status.getStatus(), "Connection check should have failed");
8081
assertTrue(status.getMessage().indexOf("Access Denied") > 0, "Connection check returned wrong failure message");
8182
}
@@ -86,7 +87,7 @@ public void checksS3WithoutListObjectPermission() {
8687
*/
8788
public void checksS3WithListObjectPermission() {
8889
final S3Destination destinationSuccess = new S3Destination(factoryConfig);
89-
final AirbyteConnectionStatus status = destinationSuccess.check(null);
90+
final AirbyteConnectionStatus status = destinationSuccess.check(Jsons.emptyObject());
9091
assertEquals(Status.SUCCEEDED, status.getStatus(), "Connection check should have succeeded");
9192
}
9293

docs/integrations/destinations/s3.md

+3-2
Original file line numberDiff line numberDiff line change
@@ -401,8 +401,9 @@ In order for everything to work correctly, it is also necessary that the user wh
401401
## CHANGELOG
402402

403403
| Version | Date | Pull Request | Subject |
404-
| :------ | :--------- | :--------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------- |
405-
| 0.5.9 | 2024-02-22 | [35569](https://github.com/airbytehq/airbyte/pull/35569) | Fix logging bug. |
404+
|:--------|:-----------|:-----------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------|
405+
| 0.6.0 | 2024-04-08 | [36869](https://github.com/airbytehq/airbyte/pull/36869) | Adapt to CDK 0.29.8; Kotlin converted code. |
406+
| 0.5.9 | 2024-02-22 | [35569](https://github.com/airbytehq/airbyte/pull/35569) | Fix logging bug. |
406407
| 0.5.8 | 2024-01-03 | [#33924](https://github.com/airbytehq/airbyte/pull/33924) | Add new ap-southeast-3 AWS region |
407408
| 0.5.7 | 2023-12-28 | [#33788](https://github.com/airbytehq/airbyte/pull/33788) | Thread-safe fix for file part names |
408409
| 0.5.6 | 2023-12-08 | [#33263](https://github.com/airbytehq/airbyte/pull/33263) | (incorrect filename format, do not use) Adopt java CDK version 0.7.0. |

0 commit comments

Comments
 (0)