diff --git a/cumulus_lambda_functions/daac_archiver/daac_archiver_logic.py b/cumulus_lambda_functions/daac_archiver/daac_archiver_logic.py index 5e47771d..fbb910d7 100644 --- a/cumulus_lambda_functions/daac_archiver/daac_archiver_logic.py +++ b/cumulus_lambda_functions/daac_archiver/daac_archiver_logic.py @@ -117,7 +117,7 @@ def send_to_daac_internal(self, uds_cnm_json: dict): }, "identifier": uds_cnm_json['identifier'], "submissionTime": f'{TimeUtils.get_current_time()}Z', - "provider": granule_identifier.tenant, + "provider": daac_config['daac_provider'] if 'daac_provider' in daac_config else granule_identifier.tenant, "version": "1.6.0", # TODO this is hardcoded? "product": { "name": granule_identifier.granule, diff --git a/cumulus_lambda_functions/granules_to_es/granules_index_mapping.py b/cumulus_lambda_functions/granules_to_es/granules_index_mapping.py index 8b5ece1c..2fdc5021 100644 --- a/cumulus_lambda_functions/granules_to_es/granules_index_mapping.py +++ b/cumulus_lambda_functions/granules_to_es/granules_index_mapping.py @@ -9,6 +9,9 @@ class GranulesIndexMapping: "daac_data_version": { "type": "keyword" }, + "daac_provider": { + "type": "keyword" + }, "daac_role_arn": { "type": "keyword" }, diff --git a/cumulus_lambda_functions/lib/uds_db/archive_index.py b/cumulus_lambda_functions/lib/uds_db/archive_index.py index a25a9d31..fcf74f9d 100644 --- a/cumulus_lambda_functions/lib/uds_db/archive_index.py +++ b/cumulus_lambda_functions/lib/uds_db/archive_index.py @@ -19,6 +19,7 @@ class UdsArchiveConfigIndex: 'collection', 'ss_username', 'archiving_types'], 'properties': { 'daac_collection_id': {'type': 'string'}, + 'daac_provider': {'type': 'string'}, 'daac_sns_topic_arn': {'type': 'string'}, 'daac_data_version': {'type': 'string'}, 'daac_role_arn': {'type': 'string'}, @@ -36,6 +37,7 @@ class UdsArchiveConfigIndex: 'collection', 'ss_username', 'archiving_types'], 'properties': { 'daac_collection_name': {'type': 'string'}, + 'daac_provider': {'type': 'string'}, 'daac_sns_topic_arn': {'type': 'string'}, 'daac_data_version': {'type': 'string'}, 'daac_role_arn': {'type': 'string'}, diff --git a/cumulus_lambda_functions/uds_api/dapa/daac_archive_crud.py b/cumulus_lambda_functions/uds_api/dapa/daac_archive_crud.py index 347e2e98..b5f54412 100644 --- a/cumulus_lambda_functions/uds_api/dapa/daac_archive_crud.py +++ b/cumulus_lambda_functions/uds_api/dapa/daac_archive_crud.py @@ -17,6 +17,7 @@ class ArchivingTypesModel(BaseModel): class DaacUpdateModel(BaseModel): daac_collection_id: str + daac_provider: Optional[str] = None daac_data_version: Optional[str] = None daac_sns_topic_arn: Optional[str] = None daac_role_arn: Optional[str] = None @@ -26,6 +27,7 @@ class DaacUpdateModel(BaseModel): class DaacAddModel(BaseModel): daac_collection_id: str + daac_provider: Optional[str] = None daac_data_version: str daac_sns_topic_arn: str daac_role_arn: str @@ -104,7 +106,7 @@ def add_new_config(self): } ingesting_dict = { - **self.__request_body, + **{k: v for k, v in self.__request_body.items() if v is not None}, 'ss_username': self.__authorization_info['username'], 'collection': self.__collection_id, }