publish_function

CloudFront.Client.publish_function(**kwargs)

Publishes a CloudFront function by copying the function code from the DEVELOPMENT stage to LIVE . This automatically updates all cache behaviors that are using this function to use the newly published copy in the LIVE stage.

When a function is published to the LIVE stage, you can attach the function to a distribution's cache behavior, using the function's Amazon Resource Name (ARN).

To publish a function, you must provide the function's name and version ( ETag value). To get these values, you can use ListFunctions and DescribeFunction .

See also: AWS API Documentation

Request Syntax

response = client.publish_function(
    Name='string',
    IfMatch='string'
)
Parameters
  • Name (string) --

    [REQUIRED]

    The name of the function that you are publishing.

  • IfMatch (string) --

    [REQUIRED]

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

Return type

dict

Returns

Response Syntax

{
    'FunctionSummary': {
        'Name': 'string',
        'Status': 'string',
        'FunctionConfig': {
            'Comment': 'string',
            'Runtime': 'cloudfront-js-1.0'
        },
        'FunctionMetadata': {
            'FunctionARN': 'string',
            'Stage': 'DEVELOPMENT'|'LIVE',
            'CreatedTime': datetime(2015, 1, 1),
            'LastModifiedTime': datetime(2015, 1, 1)
        }
    }
}

Response Structure

  • (dict) --

    • FunctionSummary (dict) --

      Contains configuration information and metadata about a CloudFront function.

      • Name (string) --

        The name of the CloudFront function.

      • Status (string) --

        The status of the CloudFront function.

      • FunctionConfig (dict) --

        Contains configuration information about a CloudFront function.

        • Comment (string) --

          A comment to describe the function.

        • Runtime (string) --

          The function's runtime environment. The only valid value is cloudfront-js-1.0 .

      • FunctionMetadata (dict) --

        Contains metadata about a CloudFront function.

        • FunctionARN (string) --

          The Amazon Resource Name (ARN) of the function. The ARN uniquely identifies the function.

        • Stage (string) --

          The stage that the function is in, either DEVELOPMENT or LIVE .

          When a function is in the DEVELOPMENT stage, you can test the function with TestFunction , and update it with UpdateFunction .

          When a function is in the LIVE stage, you can attach the function to a distribution's cache behavior, using the function's ARN.

        • CreatedTime (datetime) --

          The date and time when the function was created.

        • LastModifiedTime (datetime) --

          The date and time when the function was most recently updated.

Exceptions

  • CloudFront.Client.exceptions.InvalidArgument
  • CloudFront.Client.exceptions.InvalidIfMatchVersion
  • CloudFront.Client.exceptions.NoSuchFunctionExists
  • CloudFront.Client.exceptions.PreconditionFailed
  • CloudFront.Client.exceptions.UnsupportedOperation