From d11fc25320c022bdb25d216cb7c94ddf4e334c23 Mon Sep 17 00:00:00 2001 From: Sergey Chvalyuk Date: Thu, 28 Apr 2022 08:52:19 +0300 Subject: [PATCH] Revert "region, report_wait_timeout, report_generation_max_retries is required" This reverts commit de6dbab352ffba8f4060164aea6deeae1c5e427a. --- .../source_amazon_ads/spec.py | 24 +++++-------------- .../streams/report_streams/products_report.py | 2 +- 2 files changed, 7 insertions(+), 19 deletions(-) diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/spec.py b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/spec.py index 5917490d2a12..7efc1db550dc 100644 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/spec.py +++ b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/spec.py @@ -2,7 +2,7 @@ # Copyright (c) 2021 Airbyte, Inc., all rights reserved. # -from typing import Any, Dict, List, Type +from typing import List from airbyte_cdk.models import AdvancedAuth, AuthFlowType, OAuthConfigSpecification from airbyte_cdk.sources.utils.schema_helpers import expand_refs @@ -16,20 +16,8 @@ class Config: # ignore extra attributes during model initialization # https://pydantic-docs.helpmanual.io/usage/model_config/ extra = Extra.ignore - - @staticmethod - def schema_extra(schema: Dict[str, Any], model: Type["AmazonAdsConfig"]) -> None: - # it's default, but better to be more explicit - schema["additionalProperties"] = True - - # force require "region" field - # pydantic don't require "region" because it has default value - if "region" not in schema["required"]: - schema["required"].append("region") - if "report_wait_timeout" not in schema["required"]: - schema["required"].append("report_wait_timeout") - if "report_generation_max_retries" not in schema["required"]: - schema["required"].append("report_generation_max_retries") + # it's default, but better to be more explicit + schema_extra = {"additionalProperties": True} auth_type: str = Field(default="oauth2.0", const=True, order=0) @@ -54,14 +42,14 @@ def schema_extra(schema: Dict[str, Any], model: Type["AmazonAdsConfig"]) -> None ) region: AmazonAdsRegion = Field( - title="Region", + title="Region *", description='Region to pull data from (EU/NA/FE/SANDBOX). See docs for more details.', default=AmazonAdsRegion.NA, order=4, ) report_wait_timeout: int = Field( - title="Report Wait Timeout", + title="Report Wait Timeout *", description="Timeout duration in minutes for Reports. Eg. 30", default=30, examples=[30, 120], @@ -69,7 +57,7 @@ def schema_extra(schema: Dict[str, Any], model: Type["AmazonAdsConfig"]) -> None ) report_generation_max_retries: int = Field( - title="Report Generation Maximum Retries", + title="Report Generation Maximum Retries *", description="Maximum retries Airbyte will attempt for fetching Report Data. Eg. 5", default=5, examples=[5, 10, 15], diff --git a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/streams/report_streams/products_report.py b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/streams/report_streams/products_report.py index 8da6b2037a97..136d3d14ce82 100644 --- a/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/streams/report_streams/products_report.py +++ b/airbyte-integrations/connectors/source-amazon-ads/source_amazon_ads/streams/report_streams/products_report.py @@ -266,7 +266,7 @@ def _get_init_report_body(self, report_date: str, record_type: str, profile): metrics_list = copy(metrics_list) metrics_list.remove("sku") - # adId is automatically added to the report by amazon and requesting adId causes an amazon error +# adId is automatically added to the report by amazon and requesting adId causes an amazon error if "adId" in metrics_list: metrics_list.remove("adId")