Skip to content

put_key

put_key(
    key: Key,
    value: Value,
    kvs_arn: KvsARN,
    if_match: Etag,
    *,
    config_overrides: Optional[CloudFrontKeyValueStoreClientConfig] = None,
) -> PutKeyResponse

Creates a new key value pair or replaces the value of an existing key.

Parameters:

  • key (Key) –

    The key to put.

  • value (Value) –

    The value to put.

  • kvs_arn (KvsARN) –

    The Amazon Resource Name (ARN) of the Key Value Store.

  • if_match (Etag) –

    The current version (ETag) of the Key Value Store that you are putting keys into, which you can get using DescribeKeyValueStore.

Raises:

Examples:

Put 'key1' with 'value1' into the key value store with ARN 'arn:aws:cloudfront::123456789012:key-value-store/327284aa-bcd5-499f-a3ff-26b9a9d31b58'

>>> client.put_key(key='key1', value='value1', kvs_arn='arn:aws:cloudfront::123456789012:key-value-store/327284aa-bcd5-499f-a3ff-26b9a9d31b58', if_match='KV0AB12C3DEF456')
Source code in docs_src/capo_cloudfront_keyvaluestore/_services/cloud_front_key_value_store.py
def put_key(
    self,
    key: "capo_cloudfront_keyvaluestore.types.key.Key",
    value: "capo_cloudfront_keyvaluestore.types.value.Value",
    kvs_arn: "capo_cloudfront_keyvaluestore.types.kvs_arn.KvsARN",
    if_match: "capo_cloudfront_keyvaluestore.types.etag.Etag",
    *,
    config_overrides: Optional[CloudFrontKeyValueStoreClientConfig] = None,
) -> "capo_cloudfront_keyvaluestore.types.put_key_response.PutKeyResponse":
    """<p>Creates a new key value pair or replaces the value of an existing key.</p>

    Args:
        key: <p>The key to put.</p>
        value: <p>The value to put.</p>
        kvs_arn: <p>The Amazon Resource Name (ARN) of the Key Value Store.</p>
        if_match: <p>The current version (ETag) of the Key Value Store that you are putting keys into, which you can get using DescribeKeyValueStore.</p>

    Raises:
        capo_cloudfront_keyvaluestore.errors.access_denied_exception.AccessDeniedException: <p>Access denied.</p>
        capo_cloudfront_keyvaluestore.errors.conflict_exception.ConflictException: <p>Resource is not in expected state.</p>
        capo_cloudfront_keyvaluestore.errors.internal_server_exception.InternalServerException: <p>Internal server error.</p>
        capo_cloudfront_keyvaluestore.errors.resource_not_found_exception.ResourceNotFoundException: <p>Resource was not found.</p>
        capo_cloudfront_keyvaluestore.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>Limit exceeded.</p>
        capo_cloudfront_keyvaluestore.errors.validation_exception.ValidationException: <p>Validation failed.</p>
        capo_cloudfront_keyvaluestore.errors.UnknownServiceError: The service returned an error code this client does not model.

    Examples:
        Put 'key1' with 'value1' into the key value store with ARN 'arn:aws:cloudfront::123456789012:key-value-store/327284aa-bcd5-499f-a3ff-26b9a9d31b58'

        >>> client.put_key(key='key1', value='value1', kvs_arn='arn:aws:cloudfront::123456789012:key-value-store/327284aa-bcd5-499f-a3ff-26b9a9d31b58', if_match='KV0AB12C3DEF456')
    """

    def _handler(
        req: "OperationRequest[capo_cloudfront_keyvaluestore.types.put_key_request.PutKeyRequest]",
    ) -> OperationResponse[
        "capo_cloudfront_keyvaluestore.types.put_key_response.PutKeyResponse"
    ]:
        import capo_cloudfront_keyvaluestore._operations.cloud_front_key_value_store.put_key

        output, http_response = (
            capo_cloudfront_keyvaluestore._operations.cloud_front_key_value_store.put_key.put_key(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_cloudfront_keyvaluestore.types.put_key_request.PutKeyRequest",
    ) -> dict[str, Any]:
        import capo_cloudfront_keyvaluestore.types.put_key_request

        return capo_cloudfront_keyvaluestore.types.put_key_request.redact_sensitive(
            input_
        )

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("PutKey", redact_input=_redact_input)
    )
    input_: capo_cloudfront_keyvaluestore.types.put_key_request.PutKeyRequest = {
        "key": key,
        "value": value,
        "kvs_arn": kvs_arn,
        "if_match": if_match,
    }

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