diff --git a/datadog_sync/utils/configuration.py b/datadog_sync/utils/configuration.py index 879a5929..57df0cda 100644 --- a/datadog_sync/utils/configuration.py +++ b/datadog_sync/utils/configuration.py @@ -190,7 +190,7 @@ def build_config(cmd: Command, **kwargs: Optional[Any]) -> Configuration: for aws_config_property in AWS_CONFIG_PROPERTIES: property_value = kwargs.get(aws_config_property, None) if not property_value: - raise ValueError(f"Missing AWS configuration parameter: {aws_config_property}") + logger.warning(f"Missing AWS configuration parameter: {aws_config_property}") config[aws_config_property] = property_value elif storage_type == LOCAL_STORAGE_TYPE: logger.info("Using local filesystem to store state files") diff --git a/datadog_sync/utils/storage/aws_s3_bucket.py b/datadog_sync/utils/storage/aws_s3_bucket.py index 87e1939d..a752679f 100644 --- a/datadog_sync/utils/storage/aws_s3_bucket.py +++ b/datadog_sync/utils/storage/aws_s3_bucket.py @@ -40,13 +40,19 @@ def __init__( self.resource_per_file = resource_per_file if not config: raise ValueError("No S3 configuration passed in") - self.client = boto3.client( - "s3", - region_name=config.get("aws_region_name", ""), - aws_access_key_id=config.get("aws_access_key_id", ""), - aws_secret_access_key=config.get("aws_secret_access_key", ""), - aws_session_token=config.get("aws_session_token", ""), - ) + elif config.get("aws_region_name", None): + log.info("AWS S3 configured with command line parameters or env vars") + self.client = boto3.client( + "s3", + region_name=config.get("aws_region_name", ""), + aws_access_key_id=config.get("aws_access_key_id", ""), + aws_secret_access_key=config.get("aws_secret_access_key", ""), + aws_session_token=config.get("aws_session_token", ""), + ) + elif config.get("aws_bucket_name", None): + log.info("AWS S3 configured without command line parameters") + self.client = boto3.client("s3") + self.bucket_name = config.get("aws_bucket_name", "") def get(self, origin: Origin) -> StorageData: