Skip to content

create_data_source async

create_data_source(
    aws_account_id: AwsAccountId,
    data_source_id: ResourceId,
    name: ResourceName,
    type: DataSourceType,
    *,
    config_overrides: Optional[AsyncQuickSightClientConfig] = None,
    data_source_parameters: Optional[DataSourceParameters] = None,
    credentials: Optional[DataSourceCredentials] = None,
    permissions: Optional[ResourcePermissionList] = None,
    vpc_connection_properties: Optional[VpcConnectionProperties] = None,
    ssl_properties: Optional[SslProperties] = None,
    tags: Optional[TagList] = None,
    folder_arns: Optional[FolderArnList] = None,
) -> CreateDataSourceResponse

Creates a data source.

Parameters:

  • aws_account_id (AwsAccountId) –

    The Amazon Web Services account ID.

  • data_source_id (ResourceId) –

    An ID for the data source. This ID is unique per Amazon Web Services Region for each Amazon Web Services account.

  • name (ResourceName) –

    A display name for the data source.

  • type (DataSourceType) –

    The type of the data source. To return a list of all data sources, use ListDataSources.

    Use AMAZON_ELASTICSEARCH for Amazon OpenSearch Service.

  • data_source_parameters (Optional[DataSourceParameters], default: None ) –

    The parameters that Amazon Quick Sight uses to connect to your underlying source.

  • credentials (Optional[DataSourceCredentials], default: None ) –

    The credentials Amazon Quick Sight that uses to connect to your underlying source. Currently, only credentials based on user name and password are supported.

  • permissions (Optional[ResourcePermissionList], default: None ) –

    A list of resource permissions on the data source.

  • vpc_connection_properties (Optional[VpcConnectionProperties], default: None ) –

    Use this parameter only when you want Amazon Quick Sight to use a VPC connection when connecting to your underlying source.

  • ssl_properties (Optional[SslProperties], default: None ) –

    Secure Socket Layer (SSL) properties that apply when Amazon Quick Sight connects to your underlying source.

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

    Contains a map of the key-value pairs for the resource tag or tags assigned to the data source.

  • folder_arns (Optional[FolderArnList], default: None ) –

    When you create the data source, Amazon Quick Sight adds the data source to these folders.

Raises:

Source code in docs_src/capo_quicksight/_services/async_quick_sight.py
async def create_data_source(
    self,
    aws_account_id: "capo_quicksight.types.aws_account_id.AwsAccountId",
    data_source_id: "capo_quicksight.types.resource_id.ResourceId",
    name: "capo_quicksight.types.resource_name.ResourceName",
    type: "capo_quicksight.types.data_source_type.DataSourceType",
    *,
    config_overrides: Optional[AsyncQuickSightClientConfig] = None,
    data_source_parameters: Optional[
        "capo_quicksight.types.data_source_parameters.DataSourceParameters"
    ] = None,
    credentials: Optional[
        "capo_quicksight.types.data_source_credentials.DataSourceCredentials"
    ] = None,
    permissions: Optional[
        "capo_quicksight.types.resource_permission_list.ResourcePermissionList"
    ] = None,
    vpc_connection_properties: Optional[
        "capo_quicksight.types.vpc_connection_properties.VpcConnectionProperties"
    ] = None,
    ssl_properties: Optional[
        "capo_quicksight.types.ssl_properties.SslProperties"
    ] = None,
    tags: Optional["capo_quicksight.types.tag_list.TagList"] = None,
    folder_arns: Optional[
        "capo_quicksight.types.folder_arn_list.FolderArnList"
    ] = None,
) -> "capo_quicksight.types.create_data_source_response.CreateDataSourceResponse":
    """<p>Creates a data source.</p>

    Args:
        aws_account_id: <p>The Amazon Web Services account ID.</p>
        data_source_id: <p>An ID for the data source. This ID is unique per Amazon Web Services Region for each Amazon Web Services account. </p>
        name: <p>A display name for the data source.</p>
        type: <p>The type of the data source. To return a list of all data sources, use <code>ListDataSources</code>.</p> <p>Use <code>AMAZON_ELASTICSEARCH</code> for Amazon OpenSearch Service.</p>
        data_source_parameters: <p>The parameters that Amazon Quick Sight uses to connect to your underlying source.</p>
        credentials: <p>The credentials Amazon Quick Sight that uses to connect to your underlying source. Currently, only credentials based on user name and password are supported.</p>
        permissions: <p>A list of resource permissions on the data source.</p>
        vpc_connection_properties: <p>Use this parameter only when you want Amazon Quick Sight to use a VPC connection when connecting to your underlying source.</p>
        ssl_properties: <p>Secure Socket Layer (SSL) properties that apply when Amazon Quick Sight connects to your underlying source.</p>
        tags: <p>Contains a map of the key-value pairs for the resource tag or tags assigned to the data source.</p>
        folder_arns: <p>When you create the data source, Amazon Quick Sight adds the data source to these folders.</p>

    Raises:
        capo_quicksight.errors.access_denied_exception.AccessDeniedException: <p>You don't have access to this item. The provided credentials couldn't be validated. You might not be authorized to carry out the request. Make sure that your account is authorized to use the Amazon Quick Sight service, that your policies have the correct permissions, and that you are using the correct credentials.</p>
        capo_quicksight.errors.conflict_exception.ConflictException: <p>Updating or deleting a resource can cause an inconsistent state.</p>
        capo_quicksight.errors.customer_managed_key_unavailable_exception.CustomerManagedKeyUnavailableException: <p>The customer managed key that is registered to your Amazon Quick Sight account is unavailable.</p>
        capo_quicksight.errors.internal_failure_exception.InternalFailureException: <p>An internal failure occurred.</p>
        capo_quicksight.errors.invalid_parameter_value_exception.InvalidParameterValueException: <p>One or more parameters has a value that isn't valid.</p>
        capo_quicksight.errors.limit_exceeded_exception.LimitExceededException: <p>A limit is exceeded.</p>
        capo_quicksight.errors.resource_exists_exception.ResourceExistsException: <p>The resource specified already exists. </p>
        capo_quicksight.errors.resource_not_found_exception.ResourceNotFoundException: <p>One or more resources can't be found.</p>
        capo_quicksight.errors.throttling_exception.ThrottlingException: <p>Access is throttled.</p>
        capo_quicksight.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_quicksight.types.create_data_source_request.CreateDataSourceRequest]",
    ) -> AsyncOperationResponse[
        "capo_quicksight.types.create_data_source_response.CreateDataSourceResponse"
    ]:
        import capo_quicksight._operations.quick_sight_20180401.create_data_source

        (
            output,
            http_response,
        ) = await capo_quicksight._operations.quick_sight_20180401.create_data_source.async_create_data_source(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_quicksight.types.create_data_source_request.CreateDataSourceRequest",
    ) -> dict[str, Any]:
        import capo_quicksight.types.create_data_source_request

        return capo_quicksight.types.create_data_source_request.redact_sensitive(
            input_
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("CreateDataSource", redact_input=_redact_input),
    )
    input_: capo_quicksight.types.create_data_source_request.CreateDataSourceRequest = {
        "aws_account_id": aws_account_id,
        "data_source_id": data_source_id,
        "name": name,
        "type": type,
    }
    if data_source_parameters is not None:
        input_["data_source_parameters"] = data_source_parameters
    if credentials is not None:
        input_["credentials"] = credentials
    if permissions is not None:
        input_["permissions"] = permissions
    if vpc_connection_properties is not None:
        input_["vpc_connection_properties"] = vpc_connection_properties
    if ssl_properties is not None:
        input_["ssl_properties"] = ssl_properties
    if tags is not None:
        input_["tags"] = tags
    if folder_arns is not None:
        input_["folder_arns"] = folder_arns

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output