Skip to content

put_table_maintenance_configuration

put_table_maintenance_configuration(
    table_bucket_arn: TableBucketARN,
    namespace: NamespaceName,
    name: TableName,
    type: TableMaintenanceType,
    value: TableMaintenanceConfigurationValue,
    *,
    config_overrides: Optional[S3TablesClientConfig] = None,
) -> None

Creates a new maintenance configuration or replaces an existing maintenance configuration for a table. For more information, see S3 Tables maintenance in the Amazon Simple Storage Service User Guide.

Permissions

You must have the s3tables:PutTableMaintenanceConfiguration permission to use this operation.

Parameters:

Raises:

Source code in docs_src/capo_s3tables/_services/s3_tables.py
def put_table_maintenance_configuration(
    self,
    table_bucket_arn: "capo_s3tables.types.table_bucket_arn.TableBucketARN",
    namespace: "capo_s3tables.types.namespace_name.NamespaceName",
    name: "capo_s3tables.types.table_name.TableName",
    type: "capo_s3tables.types.table_maintenance_type.TableMaintenanceType",
    value: "capo_s3tables.types.table_maintenance_configuration_value.TableMaintenanceConfigurationValue",
    *,
    config_overrides: Optional[S3TablesClientConfig] = None,
) -> None:
    """<p>Creates a new maintenance configuration or replaces an existing maintenance configuration for a table. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-maintenance.html">S3 Tables maintenance</a> in the <i>Amazon Simple Storage Service User Guide</i>.</p> <dl> <dt>Permissions</dt> <dd> <p>You must have the <code>s3tables:PutTableMaintenanceConfiguration</code> permission to use this operation. </p> </dd> </dl>

    Args:
        table_bucket_arn: <p>The Amazon Resource Name (ARN) of the table associated with the maintenance configuration.</p>
        namespace: <p>The namespace of the table.</p>
        name: <p>The name of the table.</p>
        type: <p>The type of the maintenance configuration.</p>
        value: <p>Defines the values of the maintenance configuration for the table.</p>

    Raises:
        capo_s3tables.errors.bad_request_exception.BadRequestException: <p>The request is invalid or malformed.</p>
        capo_s3tables.errors.conflict_exception.ConflictException: <p>The request failed because there is a conflict with a previous write. You can retry the request.</p>
        capo_s3tables.errors.forbidden_exception.ForbiddenException: <p>The caller isn't authorized to make the request.</p>
        capo_s3tables.errors.internal_server_error_exception.InternalServerErrorException: <p>The request failed due to an internal server error.</p>
        capo_s3tables.errors.not_found_exception.NotFoundException: <p>The request was rejected because the specified resource could not be found.</p>
        capo_s3tables.errors.too_many_requests_exception.TooManyRequestsException: <p>The limit on the number of requests per second was exceeded.</p>
        capo_s3tables.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_s3tables.types.put_table_maintenance_configuration_request.PutTableMaintenanceConfigurationRequest]",
    ) -> OperationResponse[None]:
        import capo_s3tables._operations.s3_table_buckets.put_table_maintenance_configuration

        output, http_response = (
            capo_s3tables._operations.s3_table_buckets.put_table_maintenance_configuration.put_table_maintenance_configuration(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("PutTableMaintenanceConfiguration")
    )
    input_: capo_s3tables.types.put_table_maintenance_configuration_request.PutTableMaintenanceConfigurationRequest = {
        "table_bucket_arn": table_bucket_arn,
        "namespace": namespace,
        "name": name,
        "type": type,
        "value": value,
    }

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