View a markdown version of this page

UpdateDistribution - Amazon Lightsail

UpdateDistribution

Updates an existing Amazon Lightsail content delivery network (CDN) distribution.

Use this action to update the configuration of your existing distribution.

Request Syntax

{ "cacheBehaviors": [ { "behavior": "string", "path": "string" } ], "cacheBehaviorSettings": { "allowedHTTPMethods": "string", "cachedHTTPMethods": "string", "defaultTTL": number, "forwardedCookies": { "cookiesAllowList": [ "string" ], "option": "string" }, "forwardedHeaders": { "headersAllowList": [ "string" ], "option": "string" }, "forwardedQueryStrings": { "option": boolean, "queryStringsAllowList": [ "string" ] }, "maximumTTL": number, "minimumTTL": number }, "certificateName": "string", "customErrorResponses": [ { "errorCachingMinTTL": number, "errorCode": number, "responseCode": "string", "responsePagePath": "string" } ], "defaultCacheBehavior": { "behavior": "string" }, "defaultRootObject": "string", "distributionName": "string", "enablePrivateOriginAccess": boolean, "isEnabled": boolean, "origin": { "ipAddressType": "string", "name": "string", "protocolPolicy": "string", "regionName": "string", "responseTimeout": number }, "useDefaultCertificate": boolean, "viewerMinimumTlsProtocolVersion": "string" }

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.

cacheBehaviors

An array of objects that describe the per-path cache behavior for the distribution.

Type: Array of CacheBehaviorPerPath objects

Required: No

cacheBehaviorSettings

An object that describes the cache behavior settings for the distribution.

Note

The cacheBehaviorSettings specified in your UpdateDistributionRequest will replace your distribution's existing settings.

Type: CacheSettings object

Required: No

certificateName

The name of the SSL/TLS certificate that you want to attach to the distribution.

Only certificates with a status of ISSUED can be attached to a distribution.

Use the GetCertificates action to get a list of certificate names that you can specify.

Type: String

Pattern: \w[\w\-]*\w

Required: No

customErrorResponses

An array of objects that describe the custom error responses for the distribution. With a custom error response, you can specify the page to return when the origin responds with a given HTTP error code. You can also specify the HTTP status code to send to the viewer.

Type: Array of DistributionCustomErrorResponse objects

Required: No

defaultCacheBehavior

An object that describes the default cache behavior for the distribution.

Type: CacheBehavior object

Required: No

defaultRootObject

The object (for example, index.html) that the distribution returns when a viewer requests the root URL of the distribution (/) instead of a specific object. The object that you specify must be available from the origin.

Type: String

Required: No

distributionName

The name of the distribution to update.

Use the GetDistributions action to get a list of distribution names that you can specify.

Type: String

Pattern: \w[\w\-]*\w

Required: Yes

enablePrivateOriginAccess

Specifies whether to enable private origin access for the distribution. With private origin access, the distribution can serve objects that aren't publicly accessible from a Lightsail bucket.

Lightsail grants the distribution permission to read the bucket's objects. Enabling private origin access doesn't change the bucket's access settings, and you can still retrieve publicly accessible objects directly from the bucket's endpoint.

Note

When you include this parameter, you must also include the origin parameter with the resource name, even if the origin is not changing.

You can enable private origin access only when the distribution's origin is a Lightsail bucket. If the origin is another resource type, the request fails.

Type: Boolean

Required: No

isEnabled

Indicates whether to enable the distribution.

Type: Boolean

Required: No

origin

An object that describes the origin resource for the distribution, such as a Lightsail instance, bucket, or load balancer.

The distribution pulls, caches, and serves content from the origin.

Type: InputOrigin object

Required: No

useDefaultCertificate

Indicates whether the default SSL/TLS certificate is attached to the distribution. The default value is true. When true, the distribution uses the default domain name such as d111111abcdef8.cloudfront.net.

Set this value to false to attach a new certificate to the distribution.

Type: Boolean

Required: No

viewerMinimumTlsProtocolVersion

Use this parameter to update the minimum TLS protocol version for the SSL/TLS certificate that's attached to the distribution.

Type: String

Valid Values: TLSv1.1_2016 | TLSv1.2_2018 | TLSv1.2_2019 | TLSv1.2_2021

Required: No

Response Syntax

{ "operation": { "createdAt": number, "errorCode": "string", "errorDetails": "string", "id": "string", "isTerminal": boolean, "location": { "availabilityZone": "string", "regionName": "string" }, "operationDetails": "string", "operationType": "string", "resourceName": "string", "resourceType": "string", "status": "string", "statusChangedAt": number } }

Response Elements

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

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

operation

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

Type: Operation object

Errors

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

AccessDeniedException

Lightsail throws this exception when the user cannot be authenticated or uses invalid credentials to access a resource.

HTTP Status Code: 400

InvalidInputException

Lightsail throws this exception when user input does not conform to the validation rules of an input field.

Note

Domain and distribution APIs are only available in the N. Virginia (us-east-1) AWS Region. Please set your AWS Region configuration to us-east-1 to create, view, or edit these resources.

HTTP Status Code: 400

NotFoundException

Lightsail throws this exception when it cannot find a resource.

HTTP Status Code: 400

OperationFailureException

Lightsail throws this exception when an operation fails to execute.

HTTP Status Code: 400

ServiceException

A general service exception.

HTTP Status Code: 500

UnauthenticatedException

Lightsail throws this exception when the user has not been authenticated.

HTTP Status Code: 400

See Also

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