Skip to content

update_data_table_attribute

update_data_table_attribute(
    instance_id: InstanceId,
    data_table_id: DataTableId,
    attribute_name: DataTableName,
    name: DataTableName,
    value_type: DataTableAttributeValueType,
    *,
    config_overrides: Optional[ConnectClientConfig] = None,
    description: Optional[DataTableDescription] = None,
    primary: Optional[Boolean] = None,
    validation: Optional[Validation] = None,
) -> UpdateDataTableAttributeResponse

Updates all properties for an attribute using all properties from CreateDataTableAttribute. There are no other granular update endpoints. It does not act as a patch operation - all properties must be provided. System managed attributes are not mutable by customers. Changing an attribute's validation does not invalidate existing values since validation only runs when values are created or updated.

Parameters:

  • instance_id (InstanceId) –

    The unique identifier for the Amazon Connect instance.

  • data_table_id (DataTableId) –

    The unique identifier for the data table. Must also accept the table ARN with or without a version alias.

  • attribute_name (DataTableName) –

    The current name of the attribute to update. Used as an identifier since attribute names can be changed.

  • name (DataTableName) –

    The new name for the attribute. Must conform to Connect human readable string specification and be unique within the data table.

  • value_type (DataTableAttributeValueType) –

    The updated value type for the attribute. When changing value types, existing values are not deleted but may return default values if incompatible.

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

    The updated description for the attribute.

  • primary (Optional[Boolean], default: None ) –

    Whether the attribute should be treated as a primary key. Converting to primary attribute requires existing values to maintain uniqueness.

  • validation (Optional[Validation], default: None ) –

    The updated validation rules for the attribute. Changes do not affect existing values until they are modified.

Raises:

Source code in docs_src/capo_connect/_services/connect.py
def update_data_table_attribute(
    self,
    instance_id: "capo_connect.types.instance_id.InstanceId",
    data_table_id: "capo_connect.types.data_table_id.DataTableId",
    attribute_name: "capo_connect.types.data_table_name.DataTableName",
    name: "capo_connect.types.data_table_name.DataTableName",
    value_type: "capo_connect.types.data_table_attribute_value_type.DataTableAttributeValueType",
    *,
    config_overrides: Optional[ConnectClientConfig] = None,
    description: Optional[
        "capo_connect.types.data_table_description.DataTableDescription"
    ] = None,
    primary: Optional["capo_connect.types.boolean.Boolean"] = None,
    validation: Optional["capo_connect.types.validation.Validation"] = None,
) -> "capo_connect.types.update_data_table_attribute_response.UpdateDataTableAttributeResponse":
    """<p>Updates all properties for an attribute using all properties from CreateDataTableAttribute. There are no other granular update endpoints. It does not act as a patch operation - all properties must be provided. System managed attributes are not mutable by customers. Changing an attribute's validation does not invalidate existing values since validation only runs when values are created or updated.</p>

    Args:
        instance_id: <p>The unique identifier for the Amazon Connect instance.</p>
        data_table_id: <p>The unique identifier for the data table. Must also accept the table ARN with or without a version alias.</p>
        attribute_name: <p>The current name of the attribute to update. Used as an identifier since attribute names can be changed.</p>
        name: <p>The new name for the attribute. Must conform to Connect human readable string specification and be unique within the data table.</p>
        value_type: <p>The updated value type for the attribute. When changing value types, existing values are not deleted but may return default values if incompatible.</p>
        description: <p>The updated description for the attribute.</p>
        primary: <p>Whether the attribute should be treated as a primary key. Converting to primary attribute requires existing values to maintain uniqueness.</p>
        validation: <p>The updated validation rules for the attribute. Changes do not affect existing values until they are modified.</p>

    Raises:
        capo_connect.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient permissions to perform this action.</p>
        capo_connect.errors.conflict_exception.ConflictException: <p>Operation cannot be performed at this time as there is a conflict with another operation or contact state.</p>
        capo_connect.errors.internal_service_exception.InternalServiceException: <p>Request processing failed because of an error or failure with the service.</p>
        capo_connect.errors.invalid_parameter_exception.InvalidParameterException: <p>One or more of the specified parameters are not valid.</p>
        capo_connect.errors.invalid_request_exception.InvalidRequestException: <p>The request is not valid.</p>
        capo_connect.errors.limit_exceeded_exception.LimitExceededException: <p>The allowed limit for the resource has been exceeded.</p>
        capo_connect.errors.resource_not_found_exception.ResourceNotFoundException: <p>The specified resource was not found.</p>
        capo_connect.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>The service quota has been exceeded.</p>
        capo_connect.errors.throttling_exception.ThrottlingException: <p>The throttling limit has been exceeded.</p>
        capo_connect.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_connect.types.update_data_table_attribute_request.UpdateDataTableAttributeRequest]",
    ) -> OperationResponse[
        "capo_connect.types.update_data_table_attribute_response.UpdateDataTableAttributeResponse"
    ]:
        import capo_connect._operations.amazon_connect_service.update_data_table_attribute

        output, http_response = (
            capo_connect._operations.amazon_connect_service.update_data_table_attribute.update_data_table_attribute(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateDataTableAttribute")
    )
    input_: capo_connect.types.update_data_table_attribute_request.UpdateDataTableAttributeRequest = {
        "instance_id": instance_id,
        "data_table_id": data_table_id,
        "attribute_name": attribute_name,
        "name": name,
        "value_type": value_type,
    }
    if description is not None:
        input_["description"] = description
    if primary is not None:
        input_["primary"] = primary
    if validation is not None:
        input_["validation"] = validation

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