Skip to content

create_data_lake_namespace

create_data_lake_namespace(
    instance_id: UUID,
    name: DataLakeNamespaceName,
    *,
    config_overrides: Optional[SupplyChainClientConfig] = None,
    description: Optional[DataLakeNamespaceDescription] = None,
    tags: Optional[TagMap] = None,
) -> CreateDataLakeNamespaceResponse

Enables you to programmatically create an Amazon Web Services Supply Chain data lake namespace. Developers can create the namespaces for a given instance ID.

Parameters:

  • instance_id (UUID) –

    The Amazon Web Services Supply Chain instance identifier.

  • name (DataLakeNamespaceName) –

    The name of the namespace. Noted you cannot create namespace with name starting with asc, default, scn, aws, amazon, amzn

  • description (Optional[DataLakeNamespaceDescription], default: None ) –

    The description of the namespace.

  • tags (Optional[TagMap], default: None ) –

    The tags of the namespace.

Raises:

Examples:

Create a data lake namespace

>>> client.create_data_lake_namespace(instance_id='1877dd20-dee9-4639-8e99-cb67acf21fe5', name='my_namespace', description='This is my AWS Supply Chain namespace', tags={'tagKey1': 'tagValue1', 'tagKey2': 'tagValue2'})
Source code in docs_src/capo_supplychain/_services/supply_chain.py
def create_data_lake_namespace(
    self,
    instance_id: "capo_supplychain.types.uuid.UUID",
    name: "capo_supplychain.types.data_lake_namespace_name.DataLakeNamespaceName",
    *,
    config_overrides: Optional[SupplyChainClientConfig] = None,
    description: Optional[
        "capo_supplychain.types.data_lake_namespace_description.DataLakeNamespaceDescription"
    ] = None,
    tags: Optional["capo_supplychain.types.tag_map.TagMap"] = None,
) -> "capo_supplychain.types.create_data_lake_namespace_response.CreateDataLakeNamespaceResponse":
    """<p>Enables you to programmatically create an Amazon Web Services Supply Chain data lake namespace. Developers can create the namespaces for a given instance ID.</p>

    Args:
        instance_id: <p>The Amazon Web Services Supply Chain instance identifier.</p>
        name: <p>The name of the namespace. Noted you cannot create namespace with name starting with <b>asc</b>, <b>default</b>, <b>scn</b>, <b>aws</b>, <b>amazon</b>, <b>amzn</b> </p>
        description: <p>The description of the namespace.</p>
        tags: <p>The tags of the namespace.</p>

    Raises:
        capo_supplychain.errors.access_denied_exception.AccessDeniedException: <p>You do not have the required privileges to perform this action.</p>
        capo_supplychain.errors.conflict_exception.ConflictException: <p>Updating or deleting a resource can cause an inconsistent state.</p>
        capo_supplychain.errors.internal_server_exception.InternalServerException: <p>Unexpected error during processing of request.</p>
        capo_supplychain.errors.resource_not_found_exception.ResourceNotFoundException: <p>Request references a resource which does not exist.</p>
        capo_supplychain.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>Request would cause a service quota to be exceeded.</p>
        capo_supplychain.errors.throttling_exception.ThrottlingException: <p>Request was denied due to request throttling.</p>
        capo_supplychain.errors.validation_exception.ValidationException: <p>The input does not satisfy the constraints specified by an AWS service.</p>
        capo_supplychain.errors.UnknownServiceError: The service returned an error code this client does not model.

    Examples:
        Create a data lake namespace

        >>> client.create_data_lake_namespace(instance_id='1877dd20-dee9-4639-8e99-cb67acf21fe5', name='my_namespace', description='This is my AWS Supply Chain namespace', tags={'tagKey1': 'tagValue1', 'tagKey2': 'tagValue2'})
    """

    def _handler(
        req: "OperationRequest[capo_supplychain.types.create_data_lake_namespace_request.CreateDataLakeNamespaceRequest]",
    ) -> OperationResponse[
        "capo_supplychain.types.create_data_lake_namespace_response.CreateDataLakeNamespaceResponse"
    ]:
        import capo_supplychain._operations.galaxy_public_api_gateway.create_data_lake_namespace

        output, http_response = (
            capo_supplychain._operations.galaxy_public_api_gateway.create_data_lake_namespace.create_data_lake_namespace(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateDataLakeNamespace")
    )
    input_: capo_supplychain.types.create_data_lake_namespace_request.CreateDataLakeNamespaceRequest = {
        "instance_id": instance_id,
        "name": name,
    }
    if description is not None:
        input_["description"] = description
    if tags is not None:
        input_["tags"] = tags

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output