UpdateFunction - Amazon CloudFront
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

UpdateFunction

Updates a CloudFront function.

You can update a function's code or the comment that describes the function. You cannot update a function's name.

To update a function, you provide the function's name and version (ETag value) along with the updated function code. To get the name and version, you can use ListFunctions and DescribeFunction.

Request Syntax

PUT /2020-05-31/function/Name HTTP/1.1 If-Match: IfMatch <?xml version="1.0" encoding="UTF-8"?> <UpdateFunctionRequest xmlns="http://cloudfront.amazonaws.com/doc/2020-05-31/"> <FunctionCode>blob</FunctionCode> <FunctionConfig> <Comment>string</Comment> <KeyValueStoreAssociations> <Items> <KeyValueStoreAssociation> <KeyValueStoreARN>string</KeyValueStoreARN> </KeyValueStoreAssociation> </Items> <Quantity>integer</Quantity> </KeyValueStoreAssociations> <Runtime>string</Runtime> </FunctionConfig> </UpdateFunctionRequest>

URI Request Parameters

The request uses the following URI parameters.

If-Match

The current version (ETag value) of the function that you are updating, which you can get using DescribeFunction.

Required: Yes

Name

The name of the function that you are updating.

Required: Yes

Request Body

The request accepts the following data in XML format.

UpdateFunctionRequest

Root level tag for the UpdateFunctionRequest parameters.

Required: Yes

FunctionCode

The function code. For more information about writing a CloudFront function, see Writing function code for CloudFront Functions in the Amazon CloudFront Developer Guide.

Type: Base64-encoded binary data object

Length Constraints: Minimum length of 1. Maximum length of 40960.

Required: Yes

FunctionConfig

Configuration information about the function.

Type: FunctionConfig object

Required: Yes

Response Syntax

HTTP/1.1 200 <?xml version="1.0" encoding="UTF-8"?> <FunctionSummary> <FunctionConfig> <Comment>string</Comment> <KeyValueStoreAssociations> <Items> <KeyValueStoreAssociation> <KeyValueStoreARN>string</KeyValueStoreARN> </KeyValueStoreAssociation> </Items> <Quantity>integer</Quantity> </KeyValueStoreAssociations> <Runtime>string</Runtime> </FunctionConfig> <FunctionMetadata> <CreatedTime>timestamp</CreatedTime> <FunctionARN>string</FunctionARN> <LastModifiedTime>timestamp</LastModifiedTime> <Stage>string</Stage> </FunctionMetadata> <Name>string</Name> <Status>string</Status> </FunctionSummary>

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in XML format by the service.

FunctionSummary

Root level tag for the FunctionSummary parameters.

Required: Yes

FunctionConfig

Contains configuration information about a CloudFront function.

Type: FunctionConfig object

FunctionMetadata

Contains metadata about a CloudFront function.

Type: FunctionMetadata object

Name

The name of the CloudFront function.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

Pattern: ^[a-zA-Z0-9-_]{1,64}$

Status

The status of the CloudFront function.

Type: String

Errors

For information about the errors that are common to all actions, see Common Errors.

FunctionSizeLimitExceeded

The function is too large. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.

HTTP Status Code: 413

InvalidArgument

An argument is invalid.

HTTP Status Code: 400

InvalidIfMatchVersion

The If-Match version is missing or not valid.

HTTP Status Code: 400

NoSuchFunctionExists

The function does not exist.

HTTP Status Code: 404

PreconditionFailed

The precondition in one or more of the request fields evaluated to false.

HTTP Status Code: 412

UnsupportedOperation

This operation is not supported in this region.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific Amazon SDKs, see the following: