From 070575ffdf92ca3df4685cfc0d87cbc174308683 Mon Sep 17 00:00:00 2001 From: Christophe Duong Date: Tue, 9 Mar 2021 13:36:36 +0100 Subject: [PATCH] Protocol allows future / unknown properties (#2238) * Allow new extra properties in validation * Create migration script to upgrade all connectors versions * Bumpversion of all connectors --- .../java/io/airbyte/commons/json/Jsons.java | 9 +- .../io/airbyte/commons/json/JsonsTest.java | 13 +- .../22f6c74f-5699-40ff-833c-4a879ea40133.json | 2 +- .../25c5221d-dce2-4163-ade9-739ef790f503.json | 2 +- .../424892c4-daac-4491-b35d-c6688ba547ba.json | 2 +- .../8be1cf83-fde1-477f-a4ad-318d23c9f3c6.json | 2 +- .../a625d593-bba5-4a1c-a53d-2d246268a816.json | 2 +- .../af7c921e-5892-4ff2-b6c1-4a5ab258fb7e.json | 2 +- .../f7a7d195-377f-cf5b-70a5-be6b819019dc.json | 2 +- .../00405b19-9768-4e0c-b1ae-9fc2ee2b2a8c.json | 2 +- .../2470e835-feaf-4db6-96f3-70fd645acc77.json | 2 +- .../2af123bf-0aaf-4e0d-9784-cb497f23741a.json | 2 +- .../396e4ca3-8a97-4b85-aa4e-c9d8c2d5f992.json | 2 +- .../39f092a6-8c87-4f6f-a8d9-5cef45b7dbe1.json | 2 +- .../41375467-61ae-4204-8e38-e2b8b7365f23.json | 2 +- .../435bb9a5-7887-4809-aa58-28c27df0d7ad.json | 2 +- .../445831eb-78db-4b1f-8f1f-0d96ad8739e2.json | 2 +- .../487b930d-7f6a-43ce-8bac-46e6b2de0a55.json | 2 +- .../57eb1576-8f52-463d-beb6-2e107cdf571d.json | 2 +- .../59f1e50a-331f-4f09-b3e8-2e8d4d355f44.json | 2 +- .../68e63de2-bb83-4c7e-93fa-a8a9051e3993.json | 2 +- .../71607ba1-c0ac-4799-8049-7f4b90dd50f7.json | 2 +- .../778daa7c-feaf-4db6-96f3-70fd645acc77.json | 2 +- .../859e501d-2b67-471f-91bb-1c801414d28f.json | 2 +- .../932e6363-d006-4464-a9f5-102b82e07c06.json | 2 +- .../9845d17a-45f1-4070-8a60-50914b1c8e2b.json | 2 +- .../9e0556f4-69df-4522-a3fb-03264d36b348.json | 2 +- .../9fed261d-d107-47fd-8c8b-323023db6e20.json | 2 +- .../aea2fd0d-377d-465e-86c0-4fdc4f688e51.json | 2 +- .../b03a9f3e-22a5-11eb-adc1-0242ac120002.json | 2 +- .../b1892b11-788d-44bd-b9ec-3a436f7b54ce.json | 2 +- .../b5ea17b1-f170-46dc-bc31-cc744ca984c1.json | 2 +- .../cd42861b-01fc-4658-a8ab-5d11d0510f01.json | 2 +- .../d29764f8-80d7-4dd7-acbe-1a42005ee5aa.json | 2 +- .../d8313939-3782-41b0-be29-b3ca20d8dd3a.json | 2 +- .../decd338e-5647-4c0b-adf4-da0e75f5a750.json | 2 +- .../e094cb9a-26de-4645-8761-65c0c425d1de.json | 2 +- .../e7778cfc-e97c-4458-9ecb-b4f2bba8946c.json | 2 +- .../e87ffa8e-a3b5-f69c-9076-6011339de1f6.json | 2 +- .../eaf50f04-21dd-4620-913b-2a83f5635227.json | 2 +- .../ec4b9503-13cb-48ab-a4ab-6ade4be46567.json | 2 +- .../ed799e2b-2158-4c66-8da4-b40fe63bc72a.json | 2 +- .../ef69ef6e-aa7f-4af1-a01d-ef775033524e.json | 2 +- .../fbb5fbe2-16ad-4cf4-af7d-ff9d9c316c87.json | 2 +- .../fdc8b827-3257-4b33-83cc-106d234c34d4.json | 2 +- .../seed/destination_definitions.yaml | 14 +- .../resources/seed/source_definitions.yaml | 72 ++++---- .../models/airbyte_protocol.py | 32 +++- .../destination-bigquery/Dockerfile | 2 +- .../connectors/destination-csv/Dockerfile | 2 +- .../connectors/destination-jdbc/Dockerfile | 2 +- .../destination-local-json/Dockerfile | 2 +- .../destination-meilisearch/Dockerfile | 2 +- .../destination-postgres/Dockerfile | 2 +- .../destination-redshift/Dockerfile | 2 +- .../destination-snowflake/Dockerfile | 2 +- .../source-appstore-singer/Dockerfile | 2 +- .../source-braintree-singer/Dockerfile | 2 +- .../connectors/source-drift/Dockerfile | 2 +- .../source-exchangeratesapi-singer/Dockerfile | 2 +- .../source-facebook-marketing/Dockerfile | 2 +- .../connectors/source-file/Dockerfile | 2 +- .../connectors/source-freshdesk/Dockerfile | 2 +- .../source-github-singer/Dockerfile | 2 +- .../source-google-adwords-singer/Dockerfile | 2 +- .../source-google-sheets/Dockerfile | 2 +- .../source-googleanalytics-singer/Dockerfile | 2 +- .../connectors/source-greenhouse/Dockerfile | 2 +- .../connectors/source-http-request/Dockerfile | 2 +- .../source-hubspot-singer/Dockerfile | 2 +- .../source-intercom-singer/Dockerfile | 2 +- .../connectors/source-jdbc/Dockerfile | 2 +- .../connectors/source-jira/Dockerfile | 2 +- .../connectors/source-looker/Dockerfile | 2 +- .../connectors/source-mailchimp/Dockerfile | 2 +- .../source-marketo-singer/Dockerfile | 2 +- .../source-microsoft-teams/Dockerfile | 2 +- .../source-mixpanel-singer/Dockerfile | 2 +- .../connectors/source-mongodb/Dockerfile | 2 +- .../connectors/source-mssql/Dockerfile | 2 +- .../connectors/source-mysql/Dockerfile | 2 +- .../connectors/source-plaid/Dockerfile | 2 +- .../connectors/source-postgres/Dockerfile | 2 +- .../connectors/source-recurly/Dockerfile | 2 +- .../connectors/source-redshift/Dockerfile | 2 +- .../source-salesforce-singer/Dockerfile | 2 +- .../connectors/source-sendgrid/Dockerfile | 2 +- .../source-shopify-singer/Dockerfile | 2 +- .../connectors/source-slack-singer/Dockerfile | 2 +- .../Dockerfile | 2 +- .../source-stripe-singer/Dockerfile | 2 +- .../connectors/source-tempo/Dockerfile | 2 +- .../source-twilio-singer/Dockerfile | 2 +- .../source-zendesk-support-singer/Dockerfile | 2 +- .../connectors/source-zoom-singer/Dockerfile | 2 +- .../java/io/airbyte/migrate/Migrations.java | 5 +- .../migrate/migrations/MigrationV0_17_0.java | 166 ++++++++++++++++++ .../migrations/MigrateV0_17_0Test.java | 130 ++++++++++++++ .../airbyte_protocol/airbyte_protocol.yaml | 20 +-- build.gradle | 3 +- 100 files changed, 491 insertions(+), 153 deletions(-) create mode 100644 airbyte-migration/src/main/java/io/airbyte/migrate/migrations/MigrationV0_17_0.java create mode 100644 airbyte-migration/src/test/java/io/airbyte/migrate/migrations/MigrateV0_17_0Test.java diff --git a/airbyte-commons/src/main/java/io/airbyte/commons/json/Jsons.java b/airbyte-commons/src/main/java/io/airbyte/commons/json/Jsons.java index e5a059637cff3..a8e59d5c64001 100644 --- a/airbyte-commons/src/main/java/io/airbyte/commons/json/Jsons.java +++ b/airbyte-commons/src/main/java/io/airbyte/commons/json/Jsons.java @@ -28,6 +28,7 @@ import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.util.DefaultPrettyPrinter; import com.fasterxml.jackson.core.util.Separators; +import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; @@ -45,9 +46,15 @@ public class Jsons { // Object Mapper is thread-safe - private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); + private static final ObjectMapper OBJECT_MAPPER = initMapper(); private static final ObjectWriter OBJECT_WRITER = OBJECT_MAPPER.writer(new JsonPrettyPrinter()); + private static ObjectMapper initMapper() { + final ObjectMapper result = new ObjectMapper(); + result.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + return result; + } + public static String serialize(T object) { try { return OBJECT_MAPPER.writeValueAsString(object); diff --git a/airbyte-commons/src/test/java/io/airbyte/commons/json/JsonsTest.java b/airbyte-commons/src/test/java/io/airbyte/commons/json/JsonsTest.java index 90220ca3a6fe2..50e041d394f5c 100644 --- a/airbyte-commons/src/test/java/io/airbyte/commons/json/JsonsTest.java +++ b/airbyte-commons/src/test/java/io/airbyte/commons/json/JsonsTest.java @@ -27,7 +27,6 @@ import static org.junit.jupiter.api.Assertions.assertArrayEquals; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotSame; -import static org.junit.jupiter.api.Assertions.assertThrows; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.type.TypeReference; @@ -97,7 +96,7 @@ void testTryDeserialize() { Jsons.tryDeserialize("{\"str\":\"abc\", \"num\": 999, \"numLong\": 888}", ToClass.class)); assertEquals( - Optional.empty(), + Optional.of(new ToClass("abc", 999, 0L)), Jsons.tryDeserialize("{\"str\":\"abc\", \"num\": 999, \"test\": 888}", ToClass.class)); } @@ -155,8 +154,9 @@ void testToObject() { Lists.newArrayList(expected), Jsons.object(Jsons.jsonNode(Lists.newArrayList(expected)), new TypeReference>() {})); - assertThrows(IllegalArgumentException.class, - () -> Jsons.object(Jsons.deserialize("{\"a\":1}"), ToClass.class)); + assertEquals( + new ToClass(), + Jsons.object(Jsons.deserialize("{\"a\":1}"), ToClass.class)); } @Test @@ -170,12 +170,13 @@ void testTryToObject() { Optional.of(expected), Jsons.tryObject(Jsons.deserialize("{\"str\":\"abc\",\"num\":999,\"numLong\":888}"), new TypeReference() {})); + final ToClass emptyExpected = new ToClass(); assertEquals( - Optional.empty(), + Optional.of(emptyExpected), Jsons.tryObject(Jsons.deserialize("{\"str1\":\"abc\"}"), ToClass.class)); assertEquals( - Optional.empty(), + Optional.of(emptyExpected), Jsons.tryObject(Jsons.deserialize("{\"str1\":\"abc\"}"), new TypeReference() {})); } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_DESTINATION_DEFINITION/22f6c74f-5699-40ff-833c-4a879ea40133.json b/airbyte-config/init/src/main/resources/config/STANDARD_DESTINATION_DEFINITION/22f6c74f-5699-40ff-833c-4a879ea40133.json index 2ab1887327449..7e7a55eacace1 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_DESTINATION_DEFINITION/22f6c74f-5699-40ff-833c-4a879ea40133.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_DESTINATION_DEFINITION/22f6c74f-5699-40ff-833c-4a879ea40133.json @@ -2,6 +2,6 @@ "destinationDefinitionId": "22f6c74f-5699-40ff-833c-4a879ea40133", "name": "BigQuery", "dockerRepository": "airbyte/destination-bigquery", - "dockerImageTag": "0.1.16", + "dockerImageTag": "0.2.0", "documentationUrl": "https://docs.airbyte.io/integrations/destinations/bigquery" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_DESTINATION_DEFINITION/25c5221d-dce2-4163-ade9-739ef790f503.json b/airbyte-config/init/src/main/resources/config/STANDARD_DESTINATION_DEFINITION/25c5221d-dce2-4163-ade9-739ef790f503.json index 30ea0d12c93b8..2bd62e324b945 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_DESTINATION_DEFINITION/25c5221d-dce2-4163-ade9-739ef790f503.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_DESTINATION_DEFINITION/25c5221d-dce2-4163-ade9-739ef790f503.json @@ -2,6 +2,6 @@ "destinationDefinitionId": "25c5221d-dce2-4163-ade9-739ef790f503", "name": "Postgres", "dockerRepository": "airbyte/destination-postgres", - "dockerImageTag": "0.1.16", + "dockerImageTag": "0.2.0", "documentationUrl": "https://docs.airbyte.io/integrations/destinations/postgres" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_DESTINATION_DEFINITION/424892c4-daac-4491-b35d-c6688ba547ba.json b/airbyte-config/init/src/main/resources/config/STANDARD_DESTINATION_DEFINITION/424892c4-daac-4491-b35d-c6688ba547ba.json index bb6b2da38b0d2..8d679bb252c87 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_DESTINATION_DEFINITION/424892c4-daac-4491-b35d-c6688ba547ba.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_DESTINATION_DEFINITION/424892c4-daac-4491-b35d-c6688ba547ba.json @@ -2,6 +2,6 @@ "destinationDefinitionId": "424892c4-daac-4491-b35d-c6688ba547ba", "name": "Snowflake", "dockerRepository": "airbyte/destination-snowflake", - "dockerImageTag": "0.1.19", + "dockerImageTag": "0.2.0", "documentationUrl": "https://docs.airbyte.io/integrations/destinations/snowflake" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_DESTINATION_DEFINITION/8be1cf83-fde1-477f-a4ad-318d23c9f3c6.json b/airbyte-config/init/src/main/resources/config/STANDARD_DESTINATION_DEFINITION/8be1cf83-fde1-477f-a4ad-318d23c9f3c6.json index 61d5b0897931c..3d1a8ea6f8484 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_DESTINATION_DEFINITION/8be1cf83-fde1-477f-a4ad-318d23c9f3c6.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_DESTINATION_DEFINITION/8be1cf83-fde1-477f-a4ad-318d23c9f3c6.json @@ -2,6 +2,6 @@ "destinationDefinitionId": "8be1cf83-fde1-477f-a4ad-318d23c9f3c6", "name": "Local CSV", "dockerRepository": "airbyte/destination-csv", - "dockerImageTag": "0.1.8", + "dockerImageTag": "0.2.0", "documentationUrl": "https://docs.airbyte.io/integrations/destinations/local-csv" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_DESTINATION_DEFINITION/a625d593-bba5-4a1c-a53d-2d246268a816.json b/airbyte-config/init/src/main/resources/config/STANDARD_DESTINATION_DEFINITION/a625d593-bba5-4a1c-a53d-2d246268a816.json index 3c042033ea7c5..d7ecf5e27e83f 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_DESTINATION_DEFINITION/a625d593-bba5-4a1c-a53d-2d246268a816.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_DESTINATION_DEFINITION/a625d593-bba5-4a1c-a53d-2d246268a816.json @@ -2,6 +2,6 @@ "destinationDefinitionId": "a625d593-bba5-4a1c-a53d-2d246268a816", "name": "Local JSON", "dockerRepository": "airbyte/destination-local-json", - "dockerImageTag": "0.1.4", + "dockerImageTag": "0.2.0", "documentationUrl": "https://docs.airbyte.io/integrations/destinations/local-json" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_DESTINATION_DEFINITION/af7c921e-5892-4ff2-b6c1-4a5ab258fb7e.json b/airbyte-config/init/src/main/resources/config/STANDARD_DESTINATION_DEFINITION/af7c921e-5892-4ff2-b6c1-4a5ab258fb7e.json index 4d7391e7c4e48..21018601a7130 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_DESTINATION_DEFINITION/af7c921e-5892-4ff2-b6c1-4a5ab258fb7e.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_DESTINATION_DEFINITION/af7c921e-5892-4ff2-b6c1-4a5ab258fb7e.json @@ -2,6 +2,6 @@ "destinationDefinitionId": "af7c921e-5892-4ff2-b6c1-4a5ab258fb7e", "name": "MeiliSearch", "dockerRepository": "airbyte/destination-meilisearch", - "dockerImageTag": "0.1.0", + "dockerImageTag": "0.2.0", "documentationUrl": "https://docs.airbyte.io/integrations/destinations/meilisearch" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_DESTINATION_DEFINITION/f7a7d195-377f-cf5b-70a5-be6b819019dc.json b/airbyte-config/init/src/main/resources/config/STANDARD_DESTINATION_DEFINITION/f7a7d195-377f-cf5b-70a5-be6b819019dc.json index 4f7ceff7a77c2..f686204fee6b4 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_DESTINATION_DEFINITION/f7a7d195-377f-cf5b-70a5-be6b819019dc.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_DESTINATION_DEFINITION/f7a7d195-377f-cf5b-70a5-be6b819019dc.json @@ -2,6 +2,6 @@ "destinationDefinitionId": "f7a7d195-377f-cf5b-70a5-be6b819019dc", "name": "Redshift", "dockerRepository": "airbyte/destination-redshift", - "dockerImageTag": "0.1.8", + "dockerImageTag": "0.2.0", "documentationUrl": "https://docs.airbyte.io/integrations/destinations/redshift" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/00405b19-9768-4e0c-b1ae-9fc2ee2b2a8c.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/00405b19-9768-4e0c-b1ae-9fc2ee2b2a8c.json index a189121bd4ba4..771a38d386fd5 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/00405b19-9768-4e0c-b1ae-9fc2ee2b2a8c.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/00405b19-9768-4e0c-b1ae-9fc2ee2b2a8c.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "00405b19-9768-4e0c-b1ae-9fc2ee2b2a8c", "name": "Looker", "dockerRepository": "airbyte/source-looker", - "dockerImageTag": "0.1.1", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/r/airbyte/source-looker" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/2470e835-feaf-4db6-96f3-70fd645acc77.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/2470e835-feaf-4db6-96f3-70fd645acc77.json index 991994c5c24b3..df7ea85dc259c 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/2470e835-feaf-4db6-96f3-70fd645acc77.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/2470e835-feaf-4db6-96f3-70fd645acc77.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "2470e835-feaf-4db6-96f3-70fd645acc77", "name": "Salesforce", "dockerRepository": "airbyte/source-salesforce-singer", - "dockerImageTag": "0.1.6", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/r/airbyte/source-salesforce-singer" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/2af123bf-0aaf-4e0d-9784-cb497f23741a.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/2af123bf-0aaf-4e0d-9784-cb497f23741a.json index 0501241bfa84f..4ec108f990c2e 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/2af123bf-0aaf-4e0d-9784-cb497f23741a.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/2af123bf-0aaf-4e0d-9784-cb497f23741a.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "2af123bf-0aaf-4e0d-9784-cb497f23741a", "name": "Appstore", "dockerRepository": "airbyte/source-appstore-singer", - "dockerImageTag": "0.1.4", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/r/airbyte/source-appstore-singer" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/396e4ca3-8a97-4b85-aa4e-c9d8c2d5f992.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/396e4ca3-8a97-4b85-aa4e-c9d8c2d5f992.json index cb65f1a51368f..0d62416473a55 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/396e4ca3-8a97-4b85-aa4e-c9d8c2d5f992.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/396e4ca3-8a97-4b85-aa4e-c9d8c2d5f992.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "396e4ca3-8a97-4b85-aa4e-c9d8c2d5f992", "name": "Braintree", "dockerRepository": "airbyte/source-braintree-singer", - "dockerImageTag": "0.1.2", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/r/airbyte/source-braintree-singer" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/39f092a6-8c87-4f6f-a8d9-5cef45b7dbe1.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/39f092a6-8c87-4f6f-a8d9-5cef45b7dbe1.json index 7b21f21757a91..e496f936f69ee 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/39f092a6-8c87-4f6f-a8d9-5cef45b7dbe1.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/39f092a6-8c87-4f6f-a8d9-5cef45b7dbe1.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "39f092a6-8c87-4f6f-a8d9-5cef45b7dbe1", "name": "Google Analytics", "dockerRepository": "airbyte/source-googleanalytics-singer", - "dockerImageTag": "0.1.9", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/r/airbyte/source-googleanalytics-singer" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/41375467-61ae-4204-8e38-e2b8b7365f23.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/41375467-61ae-4204-8e38-e2b8b7365f23.json index 551ba406d42da..40eb6405be223 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/41375467-61ae-4204-8e38-e2b8b7365f23.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/41375467-61ae-4204-8e38-e2b8b7365f23.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "41375467-61ae-4204-8e38-e2b8b7365f23", "name": "Slack", "dockerRepository": "airbyte/source-slack-singer", - "dockerImageTag": "0.1.4", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/repository/docker/airbyte/source-slack-singer" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/435bb9a5-7887-4809-aa58-28c27df0d7ad.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/435bb9a5-7887-4809-aa58-28c27df0d7ad.json index 571a517663510..a6b3ef3f1b76d 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/435bb9a5-7887-4809-aa58-28c27df0d7ad.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/435bb9a5-7887-4809-aa58-28c27df0d7ad.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "435bb9a5-7887-4809-aa58-28c27df0d7ad", "name": "MySQL", "dockerRepository": "airbyte/source-mysql", - "dockerImageTag": "0.1.10", + "dockerImageTag": "0.2.0", "documentationUrl": "https://docs.airbyte.io/integrations/sources/mysql" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/445831eb-78db-4b1f-8f1f-0d96ad8739e2.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/445831eb-78db-4b1f-8f1f-0d96ad8739e2.json index 93b25eb68ad56..f12b4cecfa999 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/445831eb-78db-4b1f-8f1f-0d96ad8739e2.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/445831eb-78db-4b1f-8f1f-0d96ad8739e2.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "445831eb-78db-4b1f-8f1f-0d96ad8739e2", "name": "Drift", "dockerRepository": "airbyte/source-drift", - "dockerImageTag": "0.1.0", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/r/airbyte/source-drift" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/487b930d-7f6a-43ce-8bac-46e6b2de0a55.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/487b930d-7f6a-43ce-8bac-46e6b2de0a55.json index e0c0c6dd9a4e8..7995d066a56d8 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/487b930d-7f6a-43ce-8bac-46e6b2de0a55.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/487b930d-7f6a-43ce-8bac-46e6b2de0a55.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "487b930d-7f6a-43ce-8bac-46e6b2de0a55", "name": "Mongo DB", "dockerRepository": "airbyte/source-mongodb", - "dockerImageTag": "0.1.4", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/r/airbyte/source-mongodb" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/57eb1576-8f52-463d-beb6-2e107cdf571d.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/57eb1576-8f52-463d-beb6-2e107cdf571d.json index c3450280cd89a..bf5fbf68969bd 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/57eb1576-8f52-463d-beb6-2e107cdf571d.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/57eb1576-8f52-463d-beb6-2e107cdf571d.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "57eb1576-8f52-463d-beb6-2e107cdf571d", "name": "Hubspot", "dockerRepository": "airbyte/source-hubspot-singer", - "dockerImageTag": "0.1.6", + "dockerImageTag": "0.2.0", "documentationUrl": "https://https://docs.airbyte.io/integrations/sources/hubspot" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/59f1e50a-331f-4f09-b3e8-2e8d4d355f44.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/59f1e50a-331f-4f09-b3e8-2e8d4d355f44.json index 733d88438c458..3e3cf22a56d75 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/59f1e50a-331f-4f09-b3e8-2e8d4d355f44.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/59f1e50a-331f-4f09-b3e8-2e8d4d355f44.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "59f1e50a-331f-4f09-b3e8-2e8d4d355f44", "name": "Greenhouse", "dockerRepository": "airbyte/source-greenhouse", - "dockerImageTag": "0.1.0", + "dockerImageTag": "0.2.0", "documentationUrl": "https://https://docs.airbyte.io/integrations/sources/greenhouse" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/68e63de2-bb83-4c7e-93fa-a8a9051e3993.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/68e63de2-bb83-4c7e-93fa-a8a9051e3993.json index 5ebca77ff862d..19c37f45bd7ab 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/68e63de2-bb83-4c7e-93fa-a8a9051e3993.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/68e63de2-bb83-4c7e-93fa-a8a9051e3993.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "68e63de2-bb83-4c7e-93fa-a8a9051e3993", "name": "Jira", "dockerRepository": "airbyte/source-jira", - "dockerImageTag": "0.1.1", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/r/airbyte/source-jira" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/71607ba1-c0ac-4799-8049-7f4b90dd50f7.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/71607ba1-c0ac-4799-8049-7f4b90dd50f7.json index ff154d09c21e4..9239ec3348d6a 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/71607ba1-c0ac-4799-8049-7f4b90dd50f7.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/71607ba1-c0ac-4799-8049-7f4b90dd50f7.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "71607ba1-c0ac-4799-8049-7f4b90dd50f7", "name": "Google Sheets", "dockerRepository": "airbyte/source-google-sheets", - "dockerImageTag": "0.1.7", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/repository/docker/airbyte/source-google-sheets" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/778daa7c-feaf-4db6-96f3-70fd645acc77.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/778daa7c-feaf-4db6-96f3-70fd645acc77.json index e719f42ec564d..70cb8a722c71f 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/778daa7c-feaf-4db6-96f3-70fd645acc77.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/778daa7c-feaf-4db6-96f3-70fd645acc77.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "778daa7c-feaf-4db6-96f3-70fd645acc77", "name": "File", "dockerRepository": "airbyte/source-file", - "dockerImageTag": "0.1.10", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/r/airbyte/source-file" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/859e501d-2b67-471f-91bb-1c801414d28f.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/859e501d-2b67-471f-91bb-1c801414d28f.json index aae167eb24bb8..e57ba78e2758d 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/859e501d-2b67-471f-91bb-1c801414d28f.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/859e501d-2b67-471f-91bb-1c801414d28f.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "859e501d-2b67-471f-91bb-1c801414d28f", "name": "Mixpanel", "dockerRepository": "airbyte/source-mixpanel-singer", - "dockerImageTag": "0.1.1", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/r/airbyte/source-mixpanel-singer" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/932e6363-d006-4464-a9f5-102b82e07c06.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/932e6363-d006-4464-a9f5-102b82e07c06.json index e0b7858394eb3..3d365c2a57e8b 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/932e6363-d006-4464-a9f5-102b82e07c06.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/932e6363-d006-4464-a9f5-102b82e07c06.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "932e6363-d006-4464-a9f5-102b82e07c06", "name": "Twilio", "dockerRepository": "airbyte/source-twilio-singer", - "dockerImageTag": "0.1.1", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/r/airbyte/source-twilio-singer" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/9845d17a-45f1-4070-8a60-50914b1c8e2b.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/9845d17a-45f1-4070-8a60-50914b1c8e2b.json index 43230878bb184..4de260d8f9816 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/9845d17a-45f1-4070-8a60-50914b1c8e2b.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/9845d17a-45f1-4070-8a60-50914b1c8e2b.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "9845d17a-45f1-4070-8a60-50914b1c8e2b", "name": "HTTP Request", "dockerRepository": "airbyte/source-http-request", - "dockerImageTag": "0.1.1", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/repository/docker/airbyte/source-http-request" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/9e0556f4-69df-4522-a3fb-03264d36b348.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/9e0556f4-69df-4522-a3fb-03264d36b348.json index e3460e5fdba43..710d901172405 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/9e0556f4-69df-4522-a3fb-03264d36b348.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/9e0556f4-69df-4522-a3fb-03264d36b348.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "9e0556f4-69df-4522-a3fb-03264d36b348", "name": "Marketo", "dockerRepository": "airbyte/source-marketo-singer", - "dockerImageTag": "0.1.5", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/r/airbyte/source-marketo-singer" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/9fed261d-d107-47fd-8c8b-323023db6e20.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/9fed261d-d107-47fd-8c8b-323023db6e20.json index ea41c6d0a77cc..7134b24eed16a 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/9fed261d-d107-47fd-8c8b-323023db6e20.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/9fed261d-d107-47fd-8c8b-323023db6e20.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "9fed261d-d107-47fd-8c8b-323023db6e20", "name": "Exchange Rates Api", "dockerRepository": "airbyte/source-exchangeratesapi-singer", - "dockerImageTag": "0.1.9", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/r/airbyte/integration-singer-exchangeratesapi_io-source" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/aea2fd0d-377d-465e-86c0-4fdc4f688e51.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/aea2fd0d-377d-465e-86c0-4fdc4f688e51.json index bdc0ab4d7bbd6..1bbb2570076ec 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/aea2fd0d-377d-465e-86c0-4fdc4f688e51.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/aea2fd0d-377d-465e-86c0-4fdc4f688e51.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "aea2fd0d-377d-465e-86c0-4fdc4f688e51", "name": "Zoom", "dockerRepository": "airbyte/source-zoom-singer", - "dockerImageTag": "0.1.0", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/r/airbyte/source-zoom-singer" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/b03a9f3e-22a5-11eb-adc1-0242ac120002.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/b03a9f3e-22a5-11eb-adc1-0242ac120002.json index 18fd1194f4321..b2017c8322096 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/b03a9f3e-22a5-11eb-adc1-0242ac120002.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/b03a9f3e-22a5-11eb-adc1-0242ac120002.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "b03a9f3e-22a5-11eb-adc1-0242ac120002", "name": "Mailchimp", "dockerRepository": "airbyte/source-mailchimp", - "dockerImageTag": "0.1.6", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/r/airbyte/source-mailchimp" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/b1892b11-788d-44bd-b9ec-3a436f7b54ce.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/b1892b11-788d-44bd-b9ec-3a436f7b54ce.json index ff48a6e829c5f..f94e9c4f6f48e 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/b1892b11-788d-44bd-b9ec-3a436f7b54ce.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/b1892b11-788d-44bd-b9ec-3a436f7b54ce.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "b1892b11-788d-44bd-b9ec-3a436f7b54ce", "name": "Shopify", "dockerRepository": "airbyte/source-shopify-singer", - "dockerImageTag": "0.1.8", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/r/airbyte/source-shopify-singer" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/b5ea17b1-f170-46dc-bc31-cc744ca984c1.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/b5ea17b1-f170-46dc-bc31-cc744ca984c1.json index 36f72c94f40ab..a6d4d6620c813 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/b5ea17b1-f170-46dc-bc31-cc744ca984c1.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/b5ea17b1-f170-46dc-bc31-cc744ca984c1.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "b5ea17b1-f170-46dc-bc31-cc744ca984c1", "name": "Microsoft SQL Server (MSSQL)", "dockerRepository": "airbyte/source-mssql", - "dockerImageTag": "0.1.11", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/r/airbyte/source-mssql" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/cd42861b-01fc-4658-a8ab-5d11d0510f01.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/cd42861b-01fc-4658-a8ab-5d11d0510f01.json index 1b6b75febb7b6..c4bd3064a9a4d 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/cd42861b-01fc-4658-a8ab-5d11d0510f01.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/cd42861b-01fc-4658-a8ab-5d11d0510f01.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "cd42861b-01fc-4658-a8ab-5d11d0510f01", "name": "Recurly", "dockerRepository": "airbyte/source-recurly", - "dockerImageTag": "0.1.0", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/r/airbyte/source-recurly" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/d29764f8-80d7-4dd7-acbe-1a42005ee5aa.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/d29764f8-80d7-4dd7-acbe-1a42005ee5aa.json index 9ecfd955696d5..5bc2bdc6ad62b 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/d29764f8-80d7-4dd7-acbe-1a42005ee5aa.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/d29764f8-80d7-4dd7-acbe-1a42005ee5aa.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "d29764f8-80d7-4dd7-acbe-1a42005ee5aa", "name": "Zendesk Support", "dockerRepository": "airbyte/source-zendesk-support-singer", - "dockerImageTag": "0.1.1", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/r/airbyte/source-zendesk-support-singer" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/d8313939-3782-41b0-be29-b3ca20d8dd3a.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/d8313939-3782-41b0-be29-b3ca20d8dd3a.json index 98d9777681f29..81893900811f9 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/d8313939-3782-41b0-be29-b3ca20d8dd3a.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/d8313939-3782-41b0-be29-b3ca20d8dd3a.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "d8313939-3782-41b0-be29-b3ca20d8dd3a", "name": "Intercom", "dockerRepository": "airbyte/source-intercom-singer", - "dockerImageTag": "0.1.1", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/r/airbyte/source-intercom-singer" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/decd338e-5647-4c0b-adf4-da0e75f5a750.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/decd338e-5647-4c0b-adf4-da0e75f5a750.json index 7b5dcc4f6998e..b994bec5ae3f5 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/decd338e-5647-4c0b-adf4-da0e75f5a750.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/decd338e-5647-4c0b-adf4-da0e75f5a750.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "decd338e-5647-4c0b-adf4-da0e75f5a750", "name": "Postgres", "dockerRepository": "airbyte/source-postgres", - "dockerImageTag": "0.1.13", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/r/airbyte/source-postgres" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/e094cb9a-26de-4645-8761-65c0c425d1de.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/e094cb9a-26de-4645-8761-65c0c425d1de.json index f9dbc1d5b13c8..88434c56845d1 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/e094cb9a-26de-4645-8761-65c0c425d1de.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/e094cb9a-26de-4645-8761-65c0c425d1de.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "e094cb9a-26de-4645-8761-65c0c425d1de", "name": "Stripe", "dockerRepository": "airbyte/source-stripe-singer", - "dockerImageTag": "0.1.10", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/r/airbyte/integration-singer-stripe-source" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/e7778cfc-e97c-4458-9ecb-b4f2bba8946c.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/e7778cfc-e97c-4458-9ecb-b4f2bba8946c.json index 131bf7363b4e1..d8a46e6a26514 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/e7778cfc-e97c-4458-9ecb-b4f2bba8946c.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/e7778cfc-e97c-4458-9ecb-b4f2bba8946c.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "e7778cfc-e97c-4458-9ecb-b4f2bba8946c", "name": "Facebook Marketing", "dockerRepository": "airbyte/source-facebook-marketing", - "dockerImageTag": "0.1.4", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/r/airbyte/source-facebook-marketing" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/e87ffa8e-a3b5-f69c-9076-6011339de1f6.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/e87ffa8e-a3b5-f69c-9076-6011339de1f6.json index 144607d4359e5..d402393168cd2 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/e87ffa8e-a3b5-f69c-9076-6011339de1f6.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/e87ffa8e-a3b5-f69c-9076-6011339de1f6.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "e87ffa8e-a3b5-f69c-9076-6011339de1f6", "name": "Redshift", "dockerRepository": "airbyte/source-redshift", - "dockerImageTag": "0.1.6", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/repository/docker/airbyte/source-redshift" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/eaf50f04-21dd-4620-913b-2a83f5635227.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/eaf50f04-21dd-4620-913b-2a83f5635227.json index dc8f462a1d89f..ce4f5fdb31dd1 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/eaf50f04-21dd-4620-913b-2a83f5635227.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/eaf50f04-21dd-4620-913b-2a83f5635227.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "eaf50f04-21dd-4620-913b-2a83f5635227", "name": "Microsoft teams", "dockerRepository": "airbyte/source-microsoft-teams", - "dockerImageTag": "0.1.1", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/r/airbyte/source-microsoft-teams" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/ec4b9503-13cb-48ab-a4ab-6ade4be46567.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/ec4b9503-13cb-48ab-a4ab-6ade4be46567.json index d81f005182921..b4dbba4fd0e4c 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/ec4b9503-13cb-48ab-a4ab-6ade4be46567.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/ec4b9503-13cb-48ab-a4ab-6ade4be46567.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "ec4b9503-13cb-48ab-a4ab-6ade4be46567", "name": "Freshdesk", "dockerRepository": "airbyte/source-freshdesk", - "dockerImageTag": "0.1.3", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/r/airbyte/source-freshdesk" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/ed799e2b-2158-4c66-8da4-b40fe63bc72a.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/ed799e2b-2158-4c66-8da4-b40fe63bc72a.json index 9583e48a0d01b..15dd7c90595db 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/ed799e2b-2158-4c66-8da4-b40fe63bc72a.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/ed799e2b-2158-4c66-8da4-b40fe63bc72a.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "ed799e2b-2158-4c66-8da4-b40fe63bc72a", "name": "Plaid", "dockerRepository": "airbyte/source-plaid", - "dockerImageTag": "0.1.0", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/r/airbyte/source-plaid" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/ef69ef6e-aa7f-4af1-a01d-ef775033524e.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/ef69ef6e-aa7f-4af1-a01d-ef775033524e.json index 8d81546f11a62..3667ff4b9af12 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/ef69ef6e-aa7f-4af1-a01d-ef775033524e.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/ef69ef6e-aa7f-4af1-a01d-ef775033524e.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "ef69ef6e-aa7f-4af1-a01d-ef775033524e", "name": "GitHub", "dockerRepository": "airbyte/source-github-singer", - "dockerImageTag": "0.1.8", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/r/airbyte/source-github-singer" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/fbb5fbe2-16ad-4cf4-af7d-ff9d9c316c87.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/fbb5fbe2-16ad-4cf4-af7d-ff9d9c316c87.json index 8493bf217a085..af5a8a8009b0b 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/fbb5fbe2-16ad-4cf4-af7d-ff9d9c316c87.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/fbb5fbe2-16ad-4cf4-af7d-ff9d9c316c87.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "fbb5fbe2-16ad-4cf4-af7d-ff9d9c316c87", "name": "Sendgrid", "dockerRepository": "airbyte/source-sendgrid", - "dockerImageTag": "0.1.2", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/r/airbyte/source-sendgrid" } diff --git a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/fdc8b827-3257-4b33-83cc-106d234c34d4.json b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/fdc8b827-3257-4b33-83cc-106d234c34d4.json index 0d82cc4e196fc..fc7b172db4769 100644 --- a/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/fdc8b827-3257-4b33-83cc-106d234c34d4.json +++ b/airbyte-config/init/src/main/resources/config/STANDARD_SOURCE_DEFINITION/fdc8b827-3257-4b33-83cc-106d234c34d4.json @@ -2,6 +2,6 @@ "sourceDefinitionId": "fdc8b827-3257-4b33-83cc-106d234c34d4", "name": "Google Adwords", "dockerRepository": "airbyte/source-google-adwords-singer", - "dockerImageTag": "0.1.5", + "dockerImageTag": "0.2.0", "documentationUrl": "https://hub.docker.com/r/airbyte/source-google-adwords" } diff --git a/airbyte-config/init/src/main/resources/seed/destination_definitions.yaml b/airbyte-config/init/src/main/resources/seed/destination_definitions.yaml index 621c03b55da00..36fd3026e5371 100644 --- a/airbyte-config/init/src/main/resources/seed/destination_definitions.yaml +++ b/airbyte-config/init/src/main/resources/seed/destination_definitions.yaml @@ -1,35 +1,35 @@ - destinationDefinitionId: a625d593-bba5-4a1c-a53d-2d246268a816 name: Local JSON dockerRepository: airbyte/destination-local-json - dockerImageTag: 0.1.4 + dockerImageTag: 0.2.0 documentationUrl: https://docs.airbyte.io/integrations/destinations/local-json - destinationDefinitionId: 8be1cf83-fde1-477f-a4ad-318d23c9f3c6 name: Local CSV dockerRepository: airbyte/destination-csv - dockerImageTag: 0.1.8 + dockerImageTag: 0.2.0 documentationUrl: https://docs.airbyte.io/integrations/destinations/local-csv - destinationDefinitionId: 25c5221d-dce2-4163-ade9-739ef790f503 name: Postgres dockerRepository: airbyte/destination-postgres - dockerImageTag: 0.1.16 + dockerImageTag: 0.2.0 documentationUrl: https://docs.airbyte.io/integrations/destinations/postgres - destinationDefinitionId: 22f6c74f-5699-40ff-833c-4a879ea40133 name: BigQuery dockerRepository: airbyte/destination-bigquery - dockerImageTag: 0.1.16 + dockerImageTag: 0.2.0 documentationUrl: https://docs.airbyte.io/integrations/destinations/bigquery - destinationDefinitionId: 424892c4-daac-4491-b35d-c6688ba547ba name: Snowflake dockerRepository: airbyte/destination-snowflake - dockerImageTag: 0.1.19 + dockerImageTag: 0.2.0 documentationUrl: https://docs.airbyte.io/integrations/destinations/snowflake - destinationDefinitionId: f7a7d195-377f-cf5b-70a5-be6b819019dc name: Redshift dockerRepository: airbyte/destination-redshift - dockerImageTag: 0.1.8 + dockerImageTag: 0.2.0 documentationUrl: https://docs.airbyte.io/integrations/destinations/redshift - destinationDefinitionId: af7c921e-5892-4ff2-b6c1-4a5ab258fb7e name: MeiliSearch dockerRepository: airbyte/destination-meilisearch - dockerImageTag: 0.1.0 + dockerImageTag: 0.2.0 documentationUrl: https://docs.airbyte.io/integrations/destinations/meilisearch diff --git a/airbyte-config/init/src/main/resources/seed/source_definitions.yaml b/airbyte-config/init/src/main/resources/seed/source_definitions.yaml index ef298811bcf48..eecb339d3db14 100644 --- a/airbyte-config/init/src/main/resources/seed/source_definitions.yaml +++ b/airbyte-config/init/src/main/resources/seed/source_definitions.yaml @@ -1,180 +1,180 @@ - sourceDefinitionId: 9fed261d-d107-47fd-8c8b-323023db6e20 name: Exchange Rates Api dockerRepository: airbyte/source-exchangeratesapi-singer - dockerImageTag: 0.1.9 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/r/airbyte/integration-singer-exchangeratesapi_io-source - sourceDefinitionId: 778daa7c-feaf-4db6-96f3-70fd645acc77 name: File dockerRepository: airbyte/source-file - dockerImageTag: 0.1.10 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/r/airbyte/source-file - sourceDefinitionId: fdc8b827-3257-4b33-83cc-106d234c34d4 name: Google Adwords dockerRepository: airbyte/source-google-adwords-singer - dockerImageTag: 0.1.5 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/r/airbyte/source-google-adwords - sourceDefinitionId: ef69ef6e-aa7f-4af1-a01d-ef775033524e name: GitHub dockerRepository: airbyte/source-github-singer - dockerImageTag: 0.1.8 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/r/airbyte/source-github-singer - sourceDefinitionId: b5ea17b1-f170-46dc-bc31-cc744ca984c1 name: Microsoft SQL Server (MSSQL) dockerRepository: airbyte/source-mssql - dockerImageTag: 0.1.11 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/r/airbyte/source-mssql - sourceDefinitionId: decd338e-5647-4c0b-adf4-da0e75f5a750 name: Postgres dockerRepository: airbyte/source-postgres - dockerImageTag: 0.1.13 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/r/airbyte/source-postgres - sourceDefinitionId: cd42861b-01fc-4658-a8ab-5d11d0510f01 name: Recurly dockerRepository: airbyte/source-recurly - dockerImageTag: 0.1.0 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/r/airbyte/source-recurly - sourceDefinitionId: fbb5fbe2-16ad-4cf4-af7d-ff9d9c316c87 name: Sendgrid dockerRepository: airbyte/source-sendgrid - dockerImageTag: 0.1.2 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/r/airbyte/source-sendgrid - sourceDefinitionId: 9e0556f4-69df-4522-a3fb-03264d36b348 name: Marketo dockerRepository: airbyte/source-marketo-singer - dockerImageTag: 0.1.5 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/r/airbyte/source-marketo-singer - sourceDefinitionId: 71607ba1-c0ac-4799-8049-7f4b90dd50f7 name: Google Sheets dockerRepository: airbyte/source-google-sheets - dockerImageTag: 0.1.7 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/repository/docker/airbyte/source-google-sheets - sourceDefinitionId: 435bb9a5-7887-4809-aa58-28c27df0d7ad name: MySQL dockerRepository: airbyte/source-mysql - dockerImageTag: 0.1.10 + dockerImageTag: 0.2.0 documentationUrl: https://docs.airbyte.io/integrations/sources/mysql - sourceDefinitionId: 2470e835-feaf-4db6-96f3-70fd645acc77 name: Salesforce dockerRepository: airbyte/source-salesforce-singer - dockerImageTag: 0.1.6 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/r/airbyte/source-salesforce-singer - sourceDefinitionId: e094cb9a-26de-4645-8761-65c0c425d1de name: Stripe dockerRepository: airbyte/source-stripe-singer - dockerImageTag: 0.1.10 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/r/airbyte/integration-singer-stripe-source - sourceDefinitionId: b03a9f3e-22a5-11eb-adc1-0242ac120002 name: Mailchimp dockerRepository: airbyte/source-mailchimp - dockerImageTag: 0.1.6 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/r/airbyte/source-mailchimp - sourceDefinitionId: 39f092a6-8c87-4f6f-a8d9-5cef45b7dbe1 name: Google Analytics dockerRepository: airbyte/source-googleanalytics-singer - dockerImageTag: 0.1.9 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/r/airbyte/source-googleanalytics-singer - sourceDefinitionId: e7778cfc-e97c-4458-9ecb-b4f2bba8946c name: Facebook Marketing dockerRepository: airbyte/source-facebook-marketing - dockerImageTag: 0.1.4 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/r/airbyte/source-facebook-marketing - sourceDefinitionId: 57eb1576-8f52-463d-beb6-2e107cdf571d name: Hubspot dockerRepository: airbyte/source-hubspot-singer - dockerImageTag: 0.1.6 + dockerImageTag: 0.2.0 documentationUrl: https://https://docs.airbyte.io/integrations/sources/hubspot - sourceDefinitionId: b1892b11-788d-44bd-b9ec-3a436f7b54ce name: Shopify dockerRepository: airbyte/source-shopify-singer - dockerImageTag: 0.1.8 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/r/airbyte/source-shopify-singer - sourceDefinitionId: 9845d17a-45f1-4070-8a60-50914b1c8e2b name: HTTP Request dockerRepository: airbyte/source-http-request - dockerImageTag: 0.1.1 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/repository/docker/airbyte/source-http-request - sourceDefinitionId: e87ffa8e-a3b5-f69c-9076-6011339de1f6 name: Redshift dockerRepository: airbyte/source-redshift - dockerImageTag: 0.1.6 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/repository/docker/airbyte/source-redshift - sourceDefinitionId: 932e6363-d006-4464-a9f5-102b82e07c06 name: Twilio dockerRepository: airbyte/source-twilio-singer - dockerImageTag: 0.1.1 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/r/airbyte/source-twilio-singer - sourceDefinitionId: ec4b9503-13cb-48ab-a4ab-6ade4be46567 name: Freshdesk dockerRepository: airbyte/source-freshdesk - dockerImageTag: 0.1.3 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/r/airbyte/source-freshdesk - sourceDefinitionId: 396e4ca3-8a97-4b85-aa4e-c9d8c2d5f992 name: Braintree dockerRepository: airbyte/source-braintree-singer - dockerImageTag: 0.1.2 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/r/airbyte/source-braintree-singer - sourceDefinitionId: 41375467-61ae-4204-8e38-e2b8b7365f23 name: Slack dockerRepository: airbyte/source-slack-singer - dockerImageTag: 0.1.4 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/repository/docker/airbyte/source-slack-singer - sourceDefinitionId: 59f1e50a-331f-4f09-b3e8-2e8d4d355f44 name: Greenhouse dockerRepository: airbyte/source-greenhouse - dockerImageTag: 0.1.0 + dockerImageTag: 0.2.0 documentationUrl: https://https://docs.airbyte.io/integrations/sources/greenhouse - sourceDefinitionId: d29764f8-80d7-4dd7-acbe-1a42005ee5aa name: Zendesk Support dockerRepository: airbyte/source-zendesk-support-singer - dockerImageTag: 0.1.1 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/r/airbyte/source-zendesk-support-singer - sourceDefinitionId: d8313939-3782-41b0-be29-b3ca20d8dd3a name: Intercom dockerRepository: airbyte/source-intercom-singer - dockerImageTag: 0.1.1 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/r/airbyte/source-intercom-singer - sourceDefinitionId: 68e63de2-bb83-4c7e-93fa-a8a9051e3993 name: Jira dockerRepository: airbyte/source-jira - dockerImageTag: 0.1.1 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/r/airbyte/source-jira - sourceDefinitionId: 859e501d-2b67-471f-91bb-1c801414d28f name: Mixpanel dockerRepository: airbyte/source-mixpanel-singer - dockerImageTag: 0.1.1 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/r/airbyte/source-mixpanel-singer - sourceDefinitionId: aea2fd0d-377d-465e-86c0-4fdc4f688e51 name: Zoom dockerRepository: airbyte/source-zoom-singer - dockerImageTag: 0.1.0 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/r/airbyte/source-zoom-singer - sourceDefinitionId: eaf50f04-21dd-4620-913b-2a83f5635227 name: Microsoft teams dockerRepository: airbyte/source-microsoft-teams - dockerImageTag: 0.1.1 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/r/airbyte/source-microsoft-teams - sourceDefinitionId: 445831eb-78db-4b1f-8f1f-0d96ad8739e2 name: Drift dockerRepository: airbyte/source-drift - dockerImageTag: 0.1.0 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/r/airbyte/source-drift - sourceDefinitionId: 00405b19-9768-4e0c-b1ae-9fc2ee2b2a8c name: Looker dockerRepository: airbyte/source-looker - dockerImageTag: 0.1.1 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/r/airbyte/source-looker - sourceDefinitionId: ed799e2b-2158-4c66-8da4-b40fe63bc72a name: Plaid dockerRepository: airbyte/source-plaid - dockerImageTag: 0.1.0 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/r/airbyte/source-plaid - sourceDefinitionId: 2af123bf-0aaf-4e0d-9784-cb497f23741a name: Appstore dockerRepository: airbyte/source-appstore-singer - dockerImageTag: 0.1.4 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/r/airbyte/source-appstore-singer - sourceDefinitionId: 487b930d-7f6a-43ce-8bac-46e6b2de0a55 name: Mongo DB dockerRepository: airbyte/source-mongodb - dockerImageTag: 0.1.4 + dockerImageTag: 0.2.0 documentationUrl: https://hub.docker.com/r/airbyte/source-mongodb diff --git a/airbyte-integrations/bases/airbyte-protocol/airbyte_protocol/models/airbyte_protocol.py b/airbyte-integrations/bases/airbyte-protocol/airbyte_protocol/models/airbyte_protocol.py index 896508c65600b..2cffd99b6ef2d 100644 --- a/airbyte-integrations/bases/airbyte-protocol/airbyte_protocol/models/airbyte_protocol.py +++ b/airbyte-integrations/bases/airbyte-protocol/airbyte_protocol/models/airbyte_protocol.py @@ -30,7 +30,7 @@ from enum import Enum from typing import Any, Dict, List, Optional -from pydantic import AnyUrl, BaseModel, Field +from pydantic import AnyUrl, BaseModel, Extra, Field class Type(Enum): @@ -43,6 +43,9 @@ class Type(Enum): class AirbyteRecordMessage(BaseModel): + class Config: + extra = Extra.allow + stream: str = Field(..., description="the name of the stream for this record") data: Dict[str, Any] = Field(..., description="the record data") emitted_at: int = Field( @@ -52,6 +55,9 @@ class AirbyteRecordMessage(BaseModel): class AirbyteStateMessage(BaseModel): + class Config: + extra = Extra.allow + data: Dict[str, Any] = Field(..., description="the state data") @@ -65,6 +71,9 @@ class Level(Enum): class AirbyteLogMessage(BaseModel): + class Config: + extra = Extra.allow + level: Level = Field(..., description="the type of logging") message: str = Field(..., description="the log message") @@ -75,6 +84,9 @@ class Status(Enum): class AirbyteConnectionStatus(BaseModel): + class Config: + extra = Extra.allow + status: Status message: Optional[str] = None @@ -85,6 +97,9 @@ class SyncMode(Enum): class ConnectorSpecification(BaseModel): + class Config: + extra = Extra.allow + documentationUrl: Optional[AnyUrl] = None changelogUrl: Optional[AnyUrl] = None connectionSpecification: Dict[str, Any] = Field( @@ -95,6 +110,9 @@ class ConnectorSpecification(BaseModel): class AirbyteStream(BaseModel): + class Config: + extra = Extra.allow + name: str = Field(..., description="Stream's name.") json_schema: Dict[str, Any] = Field(..., description="Stream schema using Json Schema specs.") supported_sync_modes: Optional[List[SyncMode]] = None @@ -109,6 +127,9 @@ class AirbyteStream(BaseModel): class ConfiguredAirbyteStream(BaseModel): + class Config: + extra = Extra.allow + stream: AirbyteStream sync_mode: Optional[SyncMode] = "full_refresh" cursor_field: Optional[List[str]] = Field( @@ -118,14 +139,23 @@ class ConfiguredAirbyteStream(BaseModel): class AirbyteCatalog(BaseModel): + class Config: + extra = Extra.allow + streams: List[AirbyteStream] class ConfiguredAirbyteCatalog(BaseModel): + class Config: + extra = Extra.allow + streams: List[ConfiguredAirbyteStream] class AirbyteMessage(BaseModel): + class Config: + extra = Extra.allow + type: Type = Field(..., description="Message type") log: Optional[AirbyteLogMessage] = Field( None, diff --git a/airbyte-integrations/connectors/destination-bigquery/Dockerfile b/airbyte-integrations/connectors/destination-bigquery/Dockerfile index ad738f72c4517..8dde87b247378 100644 --- a/airbyte-integrations/connectors/destination-bigquery/Dockerfile +++ b/airbyte-integrations/connectors/destination-bigquery/Dockerfile @@ -8,5 +8,5 @@ COPY build/distributions/${APPLICATION}*.tar ${APPLICATION}.tar RUN tar xf ${APPLICATION}.tar --strip-components=1 -LABEL io.airbyte.version=0.1.16 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/destination-bigquery diff --git a/airbyte-integrations/connectors/destination-csv/Dockerfile b/airbyte-integrations/connectors/destination-csv/Dockerfile index d97cc500b7c58..954db370615d3 100644 --- a/airbyte-integrations/connectors/destination-csv/Dockerfile +++ b/airbyte-integrations/connectors/destination-csv/Dockerfile @@ -7,5 +7,5 @@ COPY build/distributions/${APPLICATION}*.tar ${APPLICATION}.tar RUN tar xf ${APPLICATION}.tar --strip-components=1 -LABEL io.airbyte.version=0.1.8 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/destination-csv diff --git a/airbyte-integrations/connectors/destination-jdbc/Dockerfile b/airbyte-integrations/connectors/destination-jdbc/Dockerfile index 9398a2c722d62..60827e1287481 100644 --- a/airbyte-integrations/connectors/destination-jdbc/Dockerfile +++ b/airbyte-integrations/connectors/destination-jdbc/Dockerfile @@ -8,5 +8,5 @@ COPY build/distributions/${APPLICATION}*.tar ${APPLICATION}.tar RUN tar xf ${APPLICATION}.tar --strip-components=1 -LABEL io.airbyte.version=0.1.6 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/destination-jdbc diff --git a/airbyte-integrations/connectors/destination-local-json/Dockerfile b/airbyte-integrations/connectors/destination-local-json/Dockerfile index dec9b65d8a055..3a485d8198ab8 100644 --- a/airbyte-integrations/connectors/destination-local-json/Dockerfile +++ b/airbyte-integrations/connectors/destination-local-json/Dockerfile @@ -7,5 +7,5 @@ COPY build/distributions/${APPLICATION}*.tar ${APPLICATION}.tar RUN tar xf ${APPLICATION}.tar --strip-components=1 -LABEL io.airbyte.version=0.1.4 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/destination-local-json diff --git a/airbyte-integrations/connectors/destination-meilisearch/Dockerfile b/airbyte-integrations/connectors/destination-meilisearch/Dockerfile index 94c1cde39aed8..6a7d69e4d2ce9 100644 --- a/airbyte-integrations/connectors/destination-meilisearch/Dockerfile +++ b/airbyte-integrations/connectors/destination-meilisearch/Dockerfile @@ -8,5 +8,5 @@ COPY build/distributions/${APPLICATION}*.tar ${APPLICATION}.tar RUN tar xf ${APPLICATION}.tar --strip-components=1 -LABEL io.airbyte.version=0.1.0 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/destination-meilisearch diff --git a/airbyte-integrations/connectors/destination-postgres/Dockerfile b/airbyte-integrations/connectors/destination-postgres/Dockerfile index 124784de341bc..4eeada7bca97f 100644 --- a/airbyte-integrations/connectors/destination-postgres/Dockerfile +++ b/airbyte-integrations/connectors/destination-postgres/Dockerfile @@ -8,5 +8,5 @@ COPY build/distributions/${APPLICATION}*.tar ${APPLICATION}.tar RUN tar xf ${APPLICATION}.tar --strip-components=1 -LABEL io.airbyte.version=0.1.16 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/destination-postgres diff --git a/airbyte-integrations/connectors/destination-redshift/Dockerfile b/airbyte-integrations/connectors/destination-redshift/Dockerfile index 9afc9c4f3b613..d630505655abb 100644 --- a/airbyte-integrations/connectors/destination-redshift/Dockerfile +++ b/airbyte-integrations/connectors/destination-redshift/Dockerfile @@ -8,5 +8,5 @@ COPY build/distributions/${APPLICATION}*.tar ${APPLICATION}.tar RUN tar xf ${APPLICATION}.tar --strip-components=1 -LABEL io.airbyte.version=0.1.8 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/destination-redshift diff --git a/airbyte-integrations/connectors/destination-snowflake/Dockerfile b/airbyte-integrations/connectors/destination-snowflake/Dockerfile index 1aab77c7d4e5e..27485fcaa37fe 100644 --- a/airbyte-integrations/connectors/destination-snowflake/Dockerfile +++ b/airbyte-integrations/connectors/destination-snowflake/Dockerfile @@ -8,5 +8,5 @@ COPY build/distributions/${APPLICATION}*.tar ${APPLICATION}.tar RUN tar xf ${APPLICATION}.tar --strip-components=1 -LABEL io.airbyte.version=0.1.19 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/destination-snowflake diff --git a/airbyte-integrations/connectors/source-appstore-singer/Dockerfile b/airbyte-integrations/connectors/source-appstore-singer/Dockerfile index 67785d1b53ef9..c8ba354d534f6 100644 --- a/airbyte-integrations/connectors/source-appstore-singer/Dockerfile +++ b/airbyte-integrations/connectors/source-appstore-singer/Dockerfile @@ -12,5 +12,5 @@ COPY $CODE_PATH ./$CODE_PATH COPY setup.py ./ RUN pip install ".[main]" -LABEL io.airbyte.version=0.1.4 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-appstore-singer diff --git a/airbyte-integrations/connectors/source-braintree-singer/Dockerfile b/airbyte-integrations/connectors/source-braintree-singer/Dockerfile index 37d3d2e30bada..4aa3c5cac29a9 100644 --- a/airbyte-integrations/connectors/source-braintree-singer/Dockerfile +++ b/airbyte-integrations/connectors/source-braintree-singer/Dockerfile @@ -6,7 +6,7 @@ ENV CODE_PATH="source_braintree_singer" ENV AIRBYTE_IMPL_MODULE="source_braintree_singer" ENV AIRBYTE_IMPL_PATH="SourceBraintreeSinger" -LABEL io.airbyte.version=0.1.2 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-braintree-singer WORKDIR /airbyte/integration_code diff --git a/airbyte-integrations/connectors/source-drift/Dockerfile b/airbyte-integrations/connectors/source-drift/Dockerfile index 273869f8f8af4..4925574f565d2 100644 --- a/airbyte-integrations/connectors/source-drift/Dockerfile +++ b/airbyte-integrations/connectors/source-drift/Dockerfile @@ -12,5 +12,5 @@ COPY $CODE_PATH ./$CODE_PATH COPY setup.py ./ RUN pip install . -LABEL io.airbyte.version=0.1.0 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-drift diff --git a/airbyte-integrations/connectors/source-exchangeratesapi-singer/Dockerfile b/airbyte-integrations/connectors/source-exchangeratesapi-singer/Dockerfile index b5c869109ec6e..08263a107467d 100644 --- a/airbyte-integrations/connectors/source-exchangeratesapi-singer/Dockerfile +++ b/airbyte-integrations/connectors/source-exchangeratesapi-singer/Dockerfile @@ -8,7 +8,7 @@ ENV CODE_PATH="source_exchangeratesapi_singer" ENV AIRBYTE_IMPL_MODULE="source_exchangeratesapi_singer" ENV AIRBYTE_IMPL_PATH="SourceExchangeRatesApiSinger" -LABEL io.airbyte.version=0.1.9 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-exchangeratesapi-singer WORKDIR /airbyte/integration_code diff --git a/airbyte-integrations/connectors/source-facebook-marketing/Dockerfile b/airbyte-integrations/connectors/source-facebook-marketing/Dockerfile index 6f82e49623566..1e974468eed9a 100644 --- a/airbyte-integrations/connectors/source-facebook-marketing/Dockerfile +++ b/airbyte-integrations/connectors/source-facebook-marketing/Dockerfile @@ -12,5 +12,5 @@ COPY $CODE_PATH ./$CODE_PATH COPY setup.py ./ RUN pip install . -LABEL io.airbyte.version=0.1.4 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-facebook-marketing diff --git a/airbyte-integrations/connectors/source-file/Dockerfile b/airbyte-integrations/connectors/source-file/Dockerfile index 5438e4a260fcd..74f88daed6ddf 100644 --- a/airbyte-integrations/connectors/source-file/Dockerfile +++ b/airbyte-integrations/connectors/source-file/Dockerfile @@ -11,5 +11,5 @@ COPY $CODE_PATH ./$CODE_PATH COPY setup.py ./ RUN pip install ".[main]" -LABEL io.airbyte.version=0.1.10 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-file diff --git a/airbyte-integrations/connectors/source-freshdesk/Dockerfile b/airbyte-integrations/connectors/source-freshdesk/Dockerfile index e0a34b00693f9..d4ba5276a5a66 100644 --- a/airbyte-integrations/connectors/source-freshdesk/Dockerfile +++ b/airbyte-integrations/connectors/source-freshdesk/Dockerfile @@ -12,5 +12,5 @@ COPY $CODE_PATH ./$CODE_PATH COPY setup.py ./ RUN pip install . -LABEL io.airbyte.version=0.1.3 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-freshdesk diff --git a/airbyte-integrations/connectors/source-github-singer/Dockerfile b/airbyte-integrations/connectors/source-github-singer/Dockerfile index 3d9dc579c632e..fb61387af6893 100644 --- a/airbyte-integrations/connectors/source-github-singer/Dockerfile +++ b/airbyte-integrations/connectors/source-github-singer/Dockerfile @@ -8,7 +8,7 @@ ENV CODE_PATH="source_github_singer" ENV AIRBYTE_IMPL_MODULE="source_github_singer" ENV AIRBYTE_IMPL_PATH="SourceGithubSinger" -LABEL io.airbyte.version=0.1.8 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-github-singer WORKDIR /airbyte/integration_code diff --git a/airbyte-integrations/connectors/source-google-adwords-singer/Dockerfile b/airbyte-integrations/connectors/source-google-adwords-singer/Dockerfile index adb6191d90057..fbe9e4902b6fc 100644 --- a/airbyte-integrations/connectors/source-google-adwords-singer/Dockerfile +++ b/airbyte-integrations/connectors/source-google-adwords-singer/Dockerfile @@ -12,5 +12,5 @@ COPY setup.py ./ RUN pip install tap-adwords==1.12.0 RUN pip install ".[main]" -LABEL io.airbyte.version=0.1.5 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-google-adwords-singer diff --git a/airbyte-integrations/connectors/source-google-sheets/Dockerfile b/airbyte-integrations/connectors/source-google-sheets/Dockerfile index 840d86b488c42..ab3da2433ae6c 100644 --- a/airbyte-integrations/connectors/source-google-sheets/Dockerfile +++ b/airbyte-integrations/connectors/source-google-sheets/Dockerfile @@ -11,5 +11,5 @@ COPY $CODE_PATH ./$CODE_PATH COPY setup.py ./ RUN pip install . -LABEL io.airbyte.version=0.1.7 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-google-sheets diff --git a/airbyte-integrations/connectors/source-googleanalytics-singer/Dockerfile b/airbyte-integrations/connectors/source-googleanalytics-singer/Dockerfile index 62c7f3d2a49eb..32a0e1670c168 100644 --- a/airbyte-integrations/connectors/source-googleanalytics-singer/Dockerfile +++ b/airbyte-integrations/connectors/source-googleanalytics-singer/Dockerfile @@ -8,7 +8,7 @@ ENV CODE_PATH="source_googleanalytics_singer" ENV AIRBYTE_IMPL_MODULE="source_googleanalytics_singer" ENV AIRBYTE_IMPL_PATH="GoogleAnalyticsSingerSource" -LABEL io.airbyte.version=0.1.9 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-googleanalytics-singer WORKDIR /airbyte/integration_code diff --git a/airbyte-integrations/connectors/source-greenhouse/Dockerfile b/airbyte-integrations/connectors/source-greenhouse/Dockerfile index ba6c5a334c893..a16b9b270fe35 100644 --- a/airbyte-integrations/connectors/source-greenhouse/Dockerfile +++ b/airbyte-integrations/connectors/source-greenhouse/Dockerfile @@ -12,5 +12,5 @@ COPY $CODE_PATH ./$CODE_PATH COPY setup.py ./ RUN pip install . -LABEL io.airbyte.version=0.1.0 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-greenhouse diff --git a/airbyte-integrations/connectors/source-http-request/Dockerfile b/airbyte-integrations/connectors/source-http-request/Dockerfile index 3f02ac6e41889..8bd31eaa266b5 100644 --- a/airbyte-integrations/connectors/source-http-request/Dockerfile +++ b/airbyte-integrations/connectors/source-http-request/Dockerfile @@ -11,5 +11,5 @@ COPY $CODE_PATH ./$CODE_PATH COPY setup.py ./ RUN pip install ".[main]" -LABEL io.airbyte.version=0.1.1 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-http-request diff --git a/airbyte-integrations/connectors/source-hubspot-singer/Dockerfile b/airbyte-integrations/connectors/source-hubspot-singer/Dockerfile index 19e6a3bd3c02b..d30e5740be36f 100644 --- a/airbyte-integrations/connectors/source-hubspot-singer/Dockerfile +++ b/airbyte-integrations/connectors/source-hubspot-singer/Dockerfile @@ -8,7 +8,7 @@ ENV CODE_PATH="source_hubspot_singer" ENV AIRBYTE_IMPL_MODULE="source_hubspot_singer" ENV AIRBYTE_IMPL_PATH="SourceHubspotSinger" -LABEL io.airbyte.version=0.1.6 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-hubspot-singer WORKDIR /airbyte/integration_code diff --git a/airbyte-integrations/connectors/source-intercom-singer/Dockerfile b/airbyte-integrations/connectors/source-intercom-singer/Dockerfile index a5a8a9dcee977..b53ae9f3ff3f8 100644 --- a/airbyte-integrations/connectors/source-intercom-singer/Dockerfile +++ b/airbyte-integrations/connectors/source-intercom-singer/Dockerfile @@ -11,7 +11,7 @@ ENV CODE_PATH="source_intercom_singer" ENV AIRBYTE_IMPL_MODULE="source_intercom_singer" ENV AIRBYTE_IMPL_PATH="SourceIntercomSinger" -LABEL io.airbyte.version=0.1.1 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-intercom-singer WORKDIR /airbyte/integration_code diff --git a/airbyte-integrations/connectors/source-jdbc/Dockerfile b/airbyte-integrations/connectors/source-jdbc/Dockerfile index ec485192d8708..4edb116b2210f 100644 --- a/airbyte-integrations/connectors/source-jdbc/Dockerfile +++ b/airbyte-integrations/connectors/source-jdbc/Dockerfile @@ -8,5 +8,5 @@ COPY build/distributions/${APPLICATION}*.tar ${APPLICATION}.tar RUN tar xf ${APPLICATION}.tar --strip-components=1 -LABEL io.airbyte.version=0.1.0 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-jdbc diff --git a/airbyte-integrations/connectors/source-jira/Dockerfile b/airbyte-integrations/connectors/source-jira/Dockerfile index a77080e81f429..dae65f85b2045 100644 --- a/airbyte-integrations/connectors/source-jira/Dockerfile +++ b/airbyte-integrations/connectors/source-jira/Dockerfile @@ -12,5 +12,5 @@ COPY $CODE_PATH ./$CODE_PATH COPY setup.py ./ RUN pip install . -LABEL io.airbyte.version=0.1.1 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-jira diff --git a/airbyte-integrations/connectors/source-looker/Dockerfile b/airbyte-integrations/connectors/source-looker/Dockerfile index f52698cbf6f0e..82f371213ef53 100644 --- a/airbyte-integrations/connectors/source-looker/Dockerfile +++ b/airbyte-integrations/connectors/source-looker/Dockerfile @@ -12,5 +12,5 @@ COPY $CODE_PATH ./$CODE_PATH COPY setup.py ./ RUN pip install ".[main]" -LABEL io.airbyte.version=0.1.1 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-looker diff --git a/airbyte-integrations/connectors/source-mailchimp/Dockerfile b/airbyte-integrations/connectors/source-mailchimp/Dockerfile index 03b978663660a..dd7ef757b9a86 100644 --- a/airbyte-integrations/connectors/source-mailchimp/Dockerfile +++ b/airbyte-integrations/connectors/source-mailchimp/Dockerfile @@ -12,5 +12,5 @@ COPY $CODE_PATH ./$CODE_PATH COPY setup.py ./ RUN pip install ".[main]" -LABEL io.airbyte.version=0.1.6 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-mailchimp diff --git a/airbyte-integrations/connectors/source-marketo-singer/Dockerfile b/airbyte-integrations/connectors/source-marketo-singer/Dockerfile index 3d20a0319b388..b25e749d08e68 100644 --- a/airbyte-integrations/connectors/source-marketo-singer/Dockerfile +++ b/airbyte-integrations/connectors/source-marketo-singer/Dockerfile @@ -14,5 +14,5 @@ COPY $CODE_PATH ./$CODE_PATH COPY setup.py ./ RUN pip install ".[main]" -LABEL io.airbyte.version=0.1.5 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-marketo-singer diff --git a/airbyte-integrations/connectors/source-microsoft-teams/Dockerfile b/airbyte-integrations/connectors/source-microsoft-teams/Dockerfile index 7a7043152782b..e661f6176cc8c 100644 --- a/airbyte-integrations/connectors/source-microsoft-teams/Dockerfile +++ b/airbyte-integrations/connectors/source-microsoft-teams/Dockerfile @@ -12,5 +12,5 @@ COPY $CODE_PATH ./$CODE_PATH COPY setup.py ./ RUN pip install ".[main]" -LABEL io.airbyte.version=0.1.1 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-microsoft-teams diff --git a/airbyte-integrations/connectors/source-mixpanel-singer/Dockerfile b/airbyte-integrations/connectors/source-mixpanel-singer/Dockerfile index 2f47199703269..88a4a6f407c5a 100644 --- a/airbyte-integrations/connectors/source-mixpanel-singer/Dockerfile +++ b/airbyte-integrations/connectors/source-mixpanel-singer/Dockerfile @@ -17,5 +17,5 @@ COPY setup.py ./ RUN pip install . -LABEL io.airbyte.version=0.1.1 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-mixpanel-singer diff --git a/airbyte-integrations/connectors/source-mongodb/Dockerfile b/airbyte-integrations/connectors/source-mongodb/Dockerfile index 3db835923b97b..4b326e9d32e5f 100644 --- a/airbyte-integrations/connectors/source-mongodb/Dockerfile +++ b/airbyte-integrations/connectors/source-mongodb/Dockerfile @@ -13,4 +13,4 @@ RUN bundle install ENTRYPOINT ["ruby", "/airbyte/source.rb"] LABEL io.airbyte.name=airbyte/source-mongodb -LABEL io.airbyte.version=0.1.4 +LABEL io.airbyte.version=0.2.0 diff --git a/airbyte-integrations/connectors/source-mssql/Dockerfile b/airbyte-integrations/connectors/source-mssql/Dockerfile index a7662eea9105a..a56f03bc43e5f 100644 --- a/airbyte-integrations/connectors/source-mssql/Dockerfile +++ b/airbyte-integrations/connectors/source-mssql/Dockerfile @@ -8,5 +8,5 @@ COPY build/distributions/${APPLICATION}*.tar ${APPLICATION}.tar RUN tar xf ${APPLICATION}.tar --strip-components=1 -LABEL io.airbyte.version=0.1.11 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-mssql diff --git a/airbyte-integrations/connectors/source-mysql/Dockerfile b/airbyte-integrations/connectors/source-mysql/Dockerfile index 1b05a9fe2bfeb..34116386788ef 100644 --- a/airbyte-integrations/connectors/source-mysql/Dockerfile +++ b/airbyte-integrations/connectors/source-mysql/Dockerfile @@ -8,5 +8,5 @@ COPY build/distributions/${APPLICATION}*.tar ${APPLICATION}.tar RUN tar xf ${APPLICATION}.tar --strip-components=1 -LABEL io.airbyte.version=0.1.10 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-mysql diff --git a/airbyte-integrations/connectors/source-plaid/Dockerfile b/airbyte-integrations/connectors/source-plaid/Dockerfile index 2b27d0af90469..f192c0cc58114 100644 --- a/airbyte-integrations/connectors/source-plaid/Dockerfile +++ b/airbyte-integrations/connectors/source-plaid/Dockerfile @@ -11,5 +11,5 @@ RUN npm install ENTRYPOINT ["node", "/airbyte/integration_code/source.js"] -LABEL io.airbyte.version=0.1.0 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-plaid diff --git a/airbyte-integrations/connectors/source-postgres/Dockerfile b/airbyte-integrations/connectors/source-postgres/Dockerfile index d8c8a9ccd46a0..ca93144c01d2e 100644 --- a/airbyte-integrations/connectors/source-postgres/Dockerfile +++ b/airbyte-integrations/connectors/source-postgres/Dockerfile @@ -8,5 +8,5 @@ COPY build/distributions/${APPLICATION}*.tar ${APPLICATION}.tar RUN tar xf ${APPLICATION}.tar --strip-components=1 -LABEL io.airbyte.version=0.1.13 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-postgres diff --git a/airbyte-integrations/connectors/source-recurly/Dockerfile b/airbyte-integrations/connectors/source-recurly/Dockerfile index 27d82daa3c59a..048f73af904c5 100644 --- a/airbyte-integrations/connectors/source-recurly/Dockerfile +++ b/airbyte-integrations/connectors/source-recurly/Dockerfile @@ -12,5 +12,5 @@ COPY $CODE_PATH ./$CODE_PATH COPY setup.py ./ RUN pip install ".[main]" -LABEL io.airbyte.version=0.1.0 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-recurly diff --git a/airbyte-integrations/connectors/source-redshift/Dockerfile b/airbyte-integrations/connectors/source-redshift/Dockerfile index d82ccb621ade7..8fa4771039e96 100644 --- a/airbyte-integrations/connectors/source-redshift/Dockerfile +++ b/airbyte-integrations/connectors/source-redshift/Dockerfile @@ -8,5 +8,5 @@ COPY build/distributions/${APPLICATION}*.tar ${APPLICATION}.tar RUN tar xf ${APPLICATION}.tar --strip-components=1 -LABEL io.airbyte.version=0.1.6 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-redshift diff --git a/airbyte-integrations/connectors/source-salesforce-singer/Dockerfile b/airbyte-integrations/connectors/source-salesforce-singer/Dockerfile index 96af24945a4d5..6cd8937aaf391 100644 --- a/airbyte-integrations/connectors/source-salesforce-singer/Dockerfile +++ b/airbyte-integrations/connectors/source-salesforce-singer/Dockerfile @@ -8,7 +8,7 @@ ENV CODE_PATH="source_salesforce_singer" ENV AIRBYTE_IMPL_MODULE="source_salesforce_singer" ENV AIRBYTE_IMPL_PATH="SourceSalesforceSinger" -LABEL io.airbyte.version=0.1.6 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-salesforce-singer WORKDIR /airbyte/integration_code diff --git a/airbyte-integrations/connectors/source-sendgrid/Dockerfile b/airbyte-integrations/connectors/source-sendgrid/Dockerfile index 767e5def614ba..606dad82bb441 100644 --- a/airbyte-integrations/connectors/source-sendgrid/Dockerfile +++ b/airbyte-integrations/connectors/source-sendgrid/Dockerfile @@ -12,5 +12,5 @@ COPY $CODE_PATH ./$CODE_PATH COPY setup.py ./ RUN pip install ".[main]" -LABEL io.airbyte.version=0.1.2 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-sendgrid diff --git a/airbyte-integrations/connectors/source-shopify-singer/Dockerfile b/airbyte-integrations/connectors/source-shopify-singer/Dockerfile index 54d268d26000d..1bedbec71af18 100644 --- a/airbyte-integrations/connectors/source-shopify-singer/Dockerfile +++ b/airbyte-integrations/connectors/source-shopify-singer/Dockerfile @@ -13,5 +13,5 @@ COPY setup.py ./ RUN pip install https://github.com/airbytehq/tap-shopify/tarball/master RUN pip install ".[main]" -LABEL io.airbyte.version=0.1.8 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-shopify-singer diff --git a/airbyte-integrations/connectors/source-slack-singer/Dockerfile b/airbyte-integrations/connectors/source-slack-singer/Dockerfile index d5ebdcd8a49f5..a0d4a7416c626 100644 --- a/airbyte-integrations/connectors/source-slack-singer/Dockerfile +++ b/airbyte-integrations/connectors/source-slack-singer/Dockerfile @@ -6,7 +6,7 @@ ENV CODE_PATH="source_slack_singer" ENV AIRBYTE_IMPL_MODULE="source_slack_singer" ENV AIRBYTE_IMPL_PATH="SourceSlackSinger" -LABEL io.airbyte.version=0.1.4 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-slack-singer WORKDIR /airbyte/integration_code diff --git a/airbyte-integrations/connectors/source-stock-ticker-api-tutorial/Dockerfile b/airbyte-integrations/connectors/source-stock-ticker-api-tutorial/Dockerfile index 7f7d25a1c8195..b78516f0b4e27 100644 --- a/airbyte-integrations/connectors/source-stock-ticker-api-tutorial/Dockerfile +++ b/airbyte-integrations/connectors/source-stock-ticker-api-tutorial/Dockerfile @@ -9,4 +9,4 @@ ENTRYPOINT ["python", "/airbyte/integration_code/source.py"] # Airbyte's build system uses these labels to know what to name and tag the docker images produced by this Dockerfile. LABEL io.airbyte.name=airbyte/source-stock-ticker-api -LABEL io.airbyte.version=0.1.0 +LABEL io.airbyte.version=0.2.0 diff --git a/airbyte-integrations/connectors/source-stripe-singer/Dockerfile b/airbyte-integrations/connectors/source-stripe-singer/Dockerfile index b96ee79a2f0c5..c3445fd98b255 100644 --- a/airbyte-integrations/connectors/source-stripe-singer/Dockerfile +++ b/airbyte-integrations/connectors/source-stripe-singer/Dockerfile @@ -10,7 +10,7 @@ ENV CODE_PATH="source_stripe_singer" ENV AIRBYTE_IMPL_MODULE="source_stripe_singer" ENV AIRBYTE_IMPL_PATH="SourceStripeSinger" -LABEL io.airbyte.version=0.1.10 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-stripe-singer WORKDIR /airbyte/integration_code diff --git a/airbyte-integrations/connectors/source-tempo/Dockerfile b/airbyte-integrations/connectors/source-tempo/Dockerfile index 29a387e11a05c..ea8e9cfb0e1b0 100644 --- a/airbyte-integrations/connectors/source-tempo/Dockerfile +++ b/airbyte-integrations/connectors/source-tempo/Dockerfile @@ -12,5 +12,5 @@ COPY $CODE_PATH ./$CODE_PATH COPY setup.py ./ RUN pip install . -LABEL io.airbyte.version=0.1.0 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-tempo diff --git a/airbyte-integrations/connectors/source-twilio-singer/Dockerfile b/airbyte-integrations/connectors/source-twilio-singer/Dockerfile index 2e4200489fc7a..af7d5cd2ccf28 100644 --- a/airbyte-integrations/connectors/source-twilio-singer/Dockerfile +++ b/airbyte-integrations/connectors/source-twilio-singer/Dockerfile @@ -6,7 +6,7 @@ ENV CODE_PATH="source_twilio_singer" ENV AIRBYTE_IMPL_MODULE="source_twilio_singer" ENV AIRBYTE_IMPL_PATH="SourceTwilioSinger" -LABEL io.airbyte.version=0.1.1 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-twilio-singer WORKDIR /airbyte/integration_code diff --git a/airbyte-integrations/connectors/source-zendesk-support-singer/Dockerfile b/airbyte-integrations/connectors/source-zendesk-support-singer/Dockerfile index 39825b1f5b200..8bda37aeceb08 100644 --- a/airbyte-integrations/connectors/source-zendesk-support-singer/Dockerfile +++ b/airbyte-integrations/connectors/source-zendesk-support-singer/Dockerfile @@ -11,5 +11,5 @@ COPY $CODE_PATH ./$CODE_PATH COPY setup.py ./ RUN pip install ".[main]" -LABEL io.airbyte.version=0.1.1 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-zendesk-support-singer diff --git a/airbyte-integrations/connectors/source-zoom-singer/Dockerfile b/airbyte-integrations/connectors/source-zoom-singer/Dockerfile index 87e5af5d89925..20be918eceef0 100644 --- a/airbyte-integrations/connectors/source-zoom-singer/Dockerfile +++ b/airbyte-integrations/connectors/source-zoom-singer/Dockerfile @@ -11,7 +11,7 @@ ENV CODE_PATH="source_zoom_singer" ENV AIRBYTE_IMPL_MODULE="source_zoom_singer" ENV AIRBYTE_IMPL_PATH="SourceZoomSinger" -LABEL io.airbyte.version=0.1.0 +LABEL io.airbyte.version=0.2.0 LABEL io.airbyte.name=airbyte/source-zoom-singer WORKDIR /airbyte/integration_code diff --git a/airbyte-migration/src/main/java/io/airbyte/migrate/Migrations.java b/airbyte-migration/src/main/java/io/airbyte/migrate/Migrations.java index 1040fe987d4d6..a1947e14b09ae 100644 --- a/airbyte-migration/src/main/java/io/airbyte/migrate/Migrations.java +++ b/airbyte-migration/src/main/java/io/airbyte/migrate/Migrations.java @@ -27,6 +27,7 @@ import com.google.common.collect.ImmutableList; import io.airbyte.migrate.migrations.MigrationV0_14_0; import io.airbyte.migrate.migrations.MigrationV0_14_3; +import io.airbyte.migrate.migrations.MigrationV0_17_0; import io.airbyte.migrate.migrations.NoOpMigration; import java.util.List; @@ -36,12 +37,14 @@ public class Migrations { private static final MigrationV0_14_3 MIGRATION_V_0_14_3 = new MigrationV0_14_3(MIGRATION_V_0_14_0); private static final Migration MIGRATION_V_0_15_0 = new NoOpMigration(MIGRATION_V_0_14_3, "0.15.0-alpha"); private static final Migration MIGRATION_V_0_16_0 = new NoOpMigration(MIGRATION_V_0_15_0, "0.16.0-alpha"); + private static final Migration MIGRATION_V_0_17_0 = new MigrationV0_17_0(MIGRATION_V_0_16_0); // all migrations must be added to the list in the order that they should be applied. public static final List MIGRATIONS = ImmutableList.of( MIGRATION_V_0_14_0, MIGRATION_V_0_14_3, MIGRATION_V_0_15_0, - MIGRATION_V_0_16_0); + MIGRATION_V_0_16_0, + MIGRATION_V_0_17_0); } diff --git a/airbyte-migration/src/main/java/io/airbyte/migrate/migrations/MigrationV0_17_0.java b/airbyte-migration/src/main/java/io/airbyte/migrate/migrations/MigrationV0_17_0.java new file mode 100644 index 0000000000000..0d21631dbf2f4 --- /dev/null +++ b/airbyte-migration/src/main/java/io/airbyte/migrate/migrations/MigrationV0_17_0.java @@ -0,0 +1,166 @@ +/* + * MIT License + * + * Copyright (c) 2020 Airbyte + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package io.airbyte.migrate.migrations; + +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.node.ObjectNode; +import io.airbyte.commons.json.Jsons; +import io.airbyte.commons.version.AirbyteVersion; +import io.airbyte.migrate.Migration; +import io.airbyte.migrate.ResourceId; +import io.airbyte.migrate.ResourceType; +import java.util.Map; +import java.util.Set; +import java.util.function.Consumer; +import java.util.stream.Stream; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * This migration forces upgrading all sources and destinations connectors to be at least equal to + * or greater than 0.2.0 + * + * This is because as part of Airbyte V0.17.0-alpha, we made changes to the JSON validation + * parsers/serializers/deserializers from all connectors to allow for unknown properties, thus + * bumping their versions to v0.2.0 as part of that release. + * + * This is required in case we want to perform modifications to the Airbyte protocol in the future + * by adding new properties. Connectors that are not using these additional properties yet, should + * ignore them but keep working as usual instead of throwing json validation errors. + */ +public class MigrationV0_17_0 extends BaseMigration implements Migration { + + private static final Logger LOGGER = LoggerFactory.getLogger(MigrationV0_17_0.class); + + private static final String MIGRATION_VERSION = "0.17.0-alpha"; + + protected static final ResourceId STANDARD_SOURCE_DEFINITION_RESOURCE_ID = + ResourceId.fromConstantCase(ResourceType.CONFIG, "STANDARD_SOURCE_DEFINITION"); + protected static final ResourceId STANDARD_DESTINATION_DEFINITION_RESOURCE_ID = + ResourceId.fromConstantCase(ResourceType.CONFIG, "STANDARD_DESTINATION_DEFINITION"); + + private static final Set DESTINATION_DOCKER_IMAGES = Set.of( + "airbyte/destination-local-json", + "airbyte/destination-csv", + "airbyte/destination-postgres", + "airbyte/destination-bigquery", + "airbyte/destination-snowflake", + "airbyte/destination-redshift", + "airbyte/destination-meilisearch"); + private static final Set SOURCE_DOCKER_IMAGES = Set.of( + "airbyte/source-exchangeratesapi-singer", + "airbyte/source-file", + "airbyte/source-google-adwords-singer", + "airbyte/source-github-singer", + "airbyte/source-mssql", + "airbyte/source-postgres", + "airbyte/source-recurly", + "airbyte/source-sendgrid", + "airbyte/source-marketo-singer", + "airbyte/source-google-sheets", + "airbyte/source-mysql", + "airbyte/source-salesforce-singer", + "airbyte/source-stripe-singer", + "airbyte/source-mailchimp", + "airbyte/source-googleanalytics-singer", + "airbyte/source-facebook-marketing", + "airbyte/source-hubspot-singer", + "airbyte/source-shopify-singer", + "airbyte/source-http-request", + "airbyte/source-redshift", + "airbyte/source-twilio-singer", + "airbyte/source-freshdesk", + "airbyte/source-braintree-singer", + "airbyte/source-slack-singer", + "airbyte/source-greenhouse", + "airbyte/source-zendesk-support-singer", + "airbyte/source-intercom-singer", + "airbyte/source-jira", + "airbyte/source-mixpanel-singer", + "airbyte/source-zoom-singer", + "airbyte/source-microsoft-teams", + "airbyte/source-drift", + "airbyte/source-looker", + "airbyte/source-plaid", + "airbyte/source-appstore-singer", + "airbyte/source-mongodb"); + + private final Migration previousMigration; + + public MigrationV0_17_0(Migration previousMigration) { + super(previousMigration); + this.previousMigration = previousMigration; + } + + @Override + public String getVersion() { + return MIGRATION_VERSION; + } + + @Override + public Map getOutputSchema() { + return previousMigration.getOutputSchema(); + } + + @Override + public void migrate(Map> inputData, Map> outputData) { + for (final Map.Entry> entry : inputData.entrySet()) { + final Consumer recordConsumer = outputData.get(entry.getKey()); + + entry.getValue().forEach(r -> { + if (!r.get("dockerImageTag").isNull()) { + if (entry.getKey().equals(STANDARD_SOURCE_DEFINITION_RESOURCE_ID)) { + ((ObjectNode) r).set("dockerImageTag", getDockerImageTag(SOURCE_DOCKER_IMAGES, r)); + } else if (entry.getKey().equals(STANDARD_DESTINATION_DEFINITION_RESOURCE_ID)) { + ((ObjectNode) r).set("dockerImageTag", getDockerImageTag(DESTINATION_DOCKER_IMAGES, r)); + } + } + recordConsumer.accept(r); + }); + } + } + + private JsonNode getDockerImageTag(final Set airbyteConnectors, final JsonNode node) { + final JsonNode dockerImageTag = node.get("dockerImageTag"); + final JsonNode dockerRepository = node.get("dockerRepository"); + if (dockerRepository != null && !dockerRepository.isNull() && airbyteConnectors.contains(dockerRepository.asText())) { + try { + final AirbyteVersion connectorVersion = new AirbyteVersion(dockerImageTag.asText()); + final JsonNode requiredDockerTag = Jsons.jsonNode("0.2.0"); + final AirbyteVersion requiredVersion = new AirbyteVersion(requiredDockerTag.asText()); + if (connectorVersion.patchVersionCompareTo(requiredVersion) >= 0) { + return dockerImageTag; + } else { + LOGGER.debug(String.format("Bump connector %s version from %s to %s", dockerRepository, dockerImageTag, requiredDockerTag)); + return requiredDockerTag; + } + } catch (IllegalArgumentException e) { + LOGGER.error(String.format("Failed to recognize connector version %s", node), e); + } + } + return dockerImageTag; + } + +} diff --git a/airbyte-migration/src/test/java/io/airbyte/migrate/migrations/MigrateV0_17_0Test.java b/airbyte-migration/src/test/java/io/airbyte/migrate/migrations/MigrateV0_17_0Test.java new file mode 100644 index 0000000000000..2969afb2e6dea --- /dev/null +++ b/airbyte-migration/src/test/java/io/airbyte/migrate/migrations/MigrateV0_17_0Test.java @@ -0,0 +1,130 @@ +/* + * MIT License + * + * Copyright (c) 2020 Airbyte + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +package io.airbyte.migrate.migrations; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; + +import com.fasterxml.jackson.databind.JsonNode; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; +import io.airbyte.commons.functional.ListConsumer; +import io.airbyte.commons.json.Jsons; +import io.airbyte.migrate.Migration; +import io.airbyte.migrate.MigrationTestUtils; +import io.airbyte.migrate.MigrationUtils; +import io.airbyte.migrate.Migrations; +import io.airbyte.migrate.ResourceId; +import java.util.List; +import java.util.Map; +import java.util.UUID; +import java.util.stream.Stream; +import org.junit.jupiter.api.Test; + +class MigrateV0_17_0Test { + + private static final ImmutableMap POSTGRES_DESTINATION = ImmutableMap.builder() + .put("destinationDefinitionId", "25c5221d-dce2-4163-ade9-739ef790f503") + .put("name", "Postgres") + .put("dockerRepository", "airbyte/destination-postgres") + .put("documentationUrl", "https://docs.airbyte.io/integrations/destinations/postgres") + .build(); + private static final ImmutableMap BIGQUERY_DESTINATION = ImmutableMap.builder() + .put("destinationDefinitionId", "22f6c74f-5699-40ff-833c-4a879ea40133") + .put("name", "BigQuery") + .put("dockerRepository", "airbyte/destination-bigquery") + .put("documentationUrl", "https://docs.airbyte.io/integrations/destinations/bigquery") + .build(); + private static final ImmutableMap CUSTOM_DESTINATION = ImmutableMap.builder() + .put("destinationDefinitionId", UUID.randomUUID().toString()) + .put("name", "Custom Destination") + .put("dockerRepository", "my-own-repo/destination-custom") + .put("documentationUrl", "https://docs.airbyte.io/integrations/destinations/custom") + .build(); + + private static final ImmutableMap POSTGRES_SOURCE = ImmutableMap.builder() + .put("sourceDefinitionId", "decd338e-5647-4c0b-adf4-da0e75f5a750") + .put("name", "Postgres") + .put("dockerRepository", "airbyte/source-postgres") + .put("documentationUrl", "https://hub.docker.com/r/airbyte/source-postgres") + .build(); + private static final ImmutableMap FILE_SOURCE = ImmutableMap.builder() + .put("sourceDefinitionId", "778daa7c-feaf-4db6-96f3-70fd645acc77") + .put("name", "File") + .put("dockerRepository", "airbyte/source-file") + .put("documentationUrl", "https://hub.docker.com/r/airbyte/source-file") + .build(); + private static final ImmutableMap CUSTOM_SOURCE = ImmutableMap.builder() + .put("sourceDefinitionId", UUID.randomUUID().toString()) + .put("name", "Custom Source") + .put("dockerRepository", "my-own-repo/source-custom") + .put("documentationUrl", "https://hub.docker.com/r/airbyte/source-custom") + .build(); + private static final ImmutableMap UNKNOWN_SOURCE = ImmutableMap.builder() + .put("sourceDefinitionId", UUID.randomUUID().toString()) + .put("name", "Unknown Source") + .build(); + + @Test + void testMigration() { + final Migration migration = Migrations.MIGRATIONS + .stream() + .filter(m -> m instanceof MigrationV0_17_0) + .findAny() + .orElse(null); + assertNotNull(migration); + + final Map> records = ImmutableMap.of( + MigrationV0_17_0.STANDARD_DESTINATION_DEFINITION_RESOURCE_ID, Stream.of( + Jsons.jsonNode(ImmutableMap.builder().putAll(POSTGRES_DESTINATION).put("dockerImageTag", "0.1.42").build()), + Jsons.jsonNode(ImmutableMap.builder().putAll(BIGQUERY_DESTINATION).put("dockerImageTag", "0.3.51").build()), + Jsons.jsonNode(ImmutableMap.builder().putAll(CUSTOM_DESTINATION).put("dockerImageTag", "0.1.42").build())), + MigrationV0_17_0.STANDARD_SOURCE_DEFINITION_RESOURCE_ID, Stream.of( + Jsons.jsonNode(ImmutableMap.builder().putAll(POSTGRES_SOURCE).put("dockerImageTag", "0.1.0").build()), + Jsons.jsonNode(ImmutableMap.builder().putAll(FILE_SOURCE).put("dockerImageTag", "My own custom version").build()), + Jsons.jsonNode(ImmutableMap.builder().putAll(CUSTOM_SOURCE).put("dockerImageTag", "dev").build()), + Jsons.jsonNode(ImmutableMap.builder().putAll(UNKNOWN_SOURCE).put("dockerImageTag", "0.1.0").build()))); + + final Map> outputConsumer = MigrationTestUtils.createOutputConsumer(migration.getOutputSchema().keySet()); + migration.migrate(records, MigrationUtils.mapRecordConsumerToConsumer(outputConsumer)); + + final Map> expectedOutputOverrides = ImmutableMap.of( + MigrationV0_17_0.STANDARD_DESTINATION_DEFINITION_RESOURCE_ID, ImmutableList.of( + Jsons.jsonNode(ImmutableMap.builder().putAll(POSTGRES_DESTINATION).put("dockerImageTag", "0.2.0").build()), + Jsons.jsonNode(ImmutableMap.builder().putAll(BIGQUERY_DESTINATION).put("dockerImageTag", "0.3.51").build()), + Jsons.jsonNode(ImmutableMap.builder().putAll(CUSTOM_DESTINATION).put("dockerImageTag", "0.1.42").build())), + MigrationV0_17_0.STANDARD_SOURCE_DEFINITION_RESOURCE_ID, ImmutableList.of( + Jsons.jsonNode(ImmutableMap.builder().putAll(POSTGRES_SOURCE).put("dockerImageTag", "0.2.0").build()), + Jsons.jsonNode(ImmutableMap.builder().putAll(FILE_SOURCE).put("dockerImageTag", "My own custom version").build()), + Jsons.jsonNode(ImmutableMap.builder().putAll(CUSTOM_SOURCE).put("dockerImageTag", "dev").build()), + Jsons.jsonNode(ImmutableMap.builder().putAll(UNKNOWN_SOURCE).put("dockerImageTag", "0.1.0").build()))); + final Map> expectedOutput = + MigrationTestUtils.createExpectedOutput(migration.getOutputSchema().keySet(), expectedOutputOverrides); + + final Map> outputAsList = MigrationTestUtils.collectConsumersToList(outputConsumer); + assertEquals(expectedOutput, outputAsList); + } + +} diff --git a/airbyte-protocol/models/src/main/resources/airbyte_protocol/airbyte_protocol.yaml b/airbyte-protocol/models/src/main/resources/airbyte_protocol/airbyte_protocol.yaml index 554ac8d956eab..b7dd22bb8ea5d 100644 --- a/airbyte-protocol/models/src/main/resources/airbyte_protocol/airbyte_protocol.yaml +++ b/airbyte-protocol/models/src/main/resources/airbyte_protocol/airbyte_protocol.yaml @@ -12,7 +12,7 @@ properties: definitions: AirbyteMessage: type: object - additionalProperties: false + additionalProperties: true required: - type properties: @@ -45,7 +45,7 @@ definitions: "$ref": "#/definitions/AirbyteStateMessage" AirbyteRecordMessage: type: object - additionalProperties: false + additionalProperties: true required: - stream - data @@ -63,7 +63,7 @@ definitions: type: integer AirbyteStateMessage: type: object - additionalProperties: false + additionalProperties: true required: - data properties: @@ -73,7 +73,7 @@ definitions: existingJavaType: com.fasterxml.jackson.databind.JsonNode AirbyteLogMessage: type: object - additionalProperties: false + additionalProperties: true required: - level - message @@ -94,7 +94,7 @@ definitions: AirbyteConnectionStatus: description: Airbyte connection status type: object - additionalProperties: false + additionalProperties: true required: - status properties: @@ -108,7 +108,7 @@ definitions: AirbyteCatalog: description: Airbyte stream schema catalog type: object - additionalProperties: false + additionalProperties: true required: - streams properties: @@ -118,7 +118,7 @@ definitions: "$ref": "#/definitions/AirbyteStream" AirbyteStream: type: object - additionalProperties: false + additionalProperties: true required: - name - json_schema @@ -147,7 +147,7 @@ definitions: ConfiguredAirbyteCatalog: description: Airbyte stream schema catalog type: object - additionalProperties: false + additionalProperties: true required: - streams properties: @@ -157,7 +157,7 @@ definitions: "$ref": "#/definitions/ConfiguredAirbyteStream" ConfiguredAirbyteStream: type: object - additionalProperties: false + additionalProperties: true required: - stream properties: @@ -181,7 +181,7 @@ definitions: type: object required: - connectionSpecification - additionalProperties: false + additionalProperties: true properties: # todo (cgardens) - prefer snake case for field names. documentationUrl: diff --git a/build.gradle b/build.gradle index 7ebb2f605033b..5b434234a24bc 100644 --- a/build.gradle +++ b/build.gradle @@ -50,7 +50,8 @@ def createSpotlessTarget = { pattern -> '*.egg-info', 'build', 'dbt-project-template', - 'tools' + 'tools', + 'secrets' ] if (System.getenv().containsKey("CORE_ONLY")) {