Skip to content

update_data_source

update_data_source(
    aws_account_id: AwsAccountId,
    data_source_id: ResourceId,
    name: ResourceName,
    *,
    config_overrides: Optional[QuickSightClientConfig] = None,
    data_source_parameters: Optional[DataSourceParameters] = None,
    credentials: Optional[DataSourceCredentials] = None,
    vpc_connection_properties: Optional[VpcConnectionProperties] = None,
    ssl_properties: Optional[SslProperties] = None,
) -> UpdateDataSourceResponse

Updates a data source.

Parameters:

  • aws_account_id (AwsAccountId) –

    The Amazon Web Services account ID.

  • data_source_id (ResourceId) –

    The ID of 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.

  • 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 that Amazon Quick Sight that uses to connect to your underlying source. Currently, only credentials based on user name and password are supported.

  • 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.

Raises:

Source code in docs_src/capo_quicksight/_services/quick_sight.py
def update_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",
    *,
    config_overrides: Optional[QuickSightClientConfig] = None,
    data_source_parameters: Optional[
        "capo_quicksight.types.data_source_parameters.DataSourceParameters"
    ] = None,
    credentials: Optional[
        "capo_quicksight.types.data_source_credentials.DataSourceCredentials"
    ] = None,
    vpc_connection_properties: Optional[
        "capo_quicksight.types.vpc_connection_properties.VpcConnectionProperties"
    ] = None,
    ssl_properties: Optional[
        "capo_quicksight.types.ssl_properties.SslProperties"
    ] = None,
) -> "capo_quicksight.types.update_data_source_response.UpdateDataSourceResponse":
    """<p>Updates a data source.</p>

    Args:
        aws_account_id: <p>The Amazon Web Services account ID.</p>
        data_source_id: <p>The ID of 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>
        data_source_parameters: <p>The parameters that Amazon Quick Sight uses to connect to your underlying source.</p>
        credentials: <p>The credentials that Amazon Quick Sight that uses to connect to your underlying source. Currently, only credentials based on user name and password are supported.</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>

    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.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.
    """

    def _handler(
        req: "OperationRequest[capo_quicksight.types.update_data_source_request.UpdateDataSourceRequest]",
    ) -> OperationResponse[
        "capo_quicksight.types.update_data_source_response.UpdateDataSourceResponse"
    ]:
        import capo_quicksight._operations.quick_sight_20180401.update_data_source

        output, http_response = (
            capo_quicksight._operations.quick_sight_20180401.update_data_source.update_data_source(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

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

        return capo_quicksight.types.update_data_source_request.redact_sensitive(
            input_
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("UpdateDataSource", redact_input=_redact_input),
    )
    input_: capo_quicksight.types.update_data_source_request.UpdateDataSourceRequest = {
        "aws_account_id": aws_account_id,
        "data_source_id": data_source_id,
        "name": name,
    }
    if data_source_parameters is not None:
        input_["data_source_parameters"] = data_source_parameters
    if credentials is not None:
        input_["credentials"] = credentials
    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

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