Copy Distribution
cloudfront_copy_distribution | R Documentation |
Creates a staging distribution using the configuration of the provided primary distribution¶
Description¶
Creates a staging distribution using the configuration of the provided primary distribution. A staging distribution is a copy of an existing distribution (called the primary distribution) that you can use in a continuous deployment workflow.
After you create a staging distribution, you can use
update_distribution
to modify the staging distribution's
configuration. Then you can use create_continuous_deployment_policy
to
incrementally move traffic to the staging distribution.
This API operation requires the following IAM permissions:
-
get_distribution
-
create_distribution
-
copy_distribution
Usage¶
Arguments¶
PrimaryDistributionId
[required] The identifier of the primary distribution whose configuration you are copying. To get a distribution ID, use
list_distributions
.Staging
The type of distribution that your primary distribution will be copied to. The only valid value is
True
, indicating that you are copying to a staging distribution.IfMatch
The version identifier of the primary distribution whose configuration you are copying. This is the
ETag
value returned in the response toget_distribution
andget_distribution_config
.CallerReference
[required] A value that uniquely identifies a request to create a resource. This helps to prevent CloudFront from creating a duplicate resource if you accidentally resubmit an identical request.
Enabled
A Boolean flag to specify the state of the staging distribution when it's created. When you set this value to
True
, the staging distribution is enabled. When you set this value toFalse
, the staging distribution is disabled.If you omit this field, the default value is
True
.
Value¶
A list with the following syntax:
list(
Distribution = list(
Id = "string",
ARN = "string",
Status = "string",
LastModifiedTime = as.POSIXct(
"2015-01-01"
),
InProgressInvalidationBatches = 123,
DomainName = "string",
ActiveTrustedSigners = list(
Enabled = TRUE|FALSE,
Quantity = 123,
Items = list(
list(
AwsAccountNumber = "string",
KeyPairIds = list(
Quantity = 123,
Items = list(
"string"
)
)
)
)
),
ActiveTrustedKeyGroups = list(
Enabled = TRUE|FALSE,
Quantity = 123,
Items = list(
list(
KeyGroupId = "string",
KeyPairIds = list(
Quantity = 123,
Items = list(
"string"
)
)
)
)
),
DistributionConfig = list(
CallerReference = "string",
Aliases = list(
Quantity = 123,
Items = list(
"string"
)
),
DefaultRootObject = "string",
Origins = list(
Quantity = 123,
Items = list(
list(
Id = "string",
DomainName = "string",
OriginPath = "string",
CustomHeaders = list(
Quantity = 123,
Items = list(
list(
HeaderName = "string",
HeaderValue = "string"
)
)
),
S3OriginConfig = list(
OriginAccessIdentity = "string"
),
CustomOriginConfig = list(
HTTPPort = 123,
HTTPSPort = 123,
OriginProtocolPolicy = "http-only"|"match-viewer"|"https-only",
OriginSslProtocols = list(
Quantity = 123,
Items = list(
"SSLv3"|"TLSv1"|"TLSv1.1"|"TLSv1.2"
)
),
OriginReadTimeout = 123,
OriginKeepaliveTimeout = 123
),
ConnectionAttempts = 123,
ConnectionTimeout = 123,
OriginShield = list(
Enabled = TRUE|FALSE,
OriginShieldRegion = "string"
),
OriginAccessControlId = "string"
)
)
),
OriginGroups = list(
Quantity = 123,
Items = list(
list(
Id = "string",
FailoverCriteria = list(
StatusCodes = list(
Quantity = 123,
Items = list(
123
)
)
),
Members = list(
Quantity = 123,
Items = list(
list(
OriginId = "string"
)
)
)
)
)
),
DefaultCacheBehavior = list(
TargetOriginId = "string",
TrustedSigners = list(
Enabled = TRUE|FALSE,
Quantity = 123,
Items = list(
"string"
)
),
TrustedKeyGroups = list(
Enabled = TRUE|FALSE,
Quantity = 123,
Items = list(
"string"
)
),
ViewerProtocolPolicy = "allow-all"|"https-only"|"redirect-to-https",
AllowedMethods = list(
Quantity = 123,
Items = list(
"GET"|"HEAD"|"POST"|"PUT"|"PATCH"|"OPTIONS"|"DELETE"
),
CachedMethods = list(
Quantity = 123,
Items = list(
"GET"|"HEAD"|"POST"|"PUT"|"PATCH"|"OPTIONS"|"DELETE"
)
)
),
SmoothStreaming = TRUE|FALSE,
Compress = TRUE|FALSE,
LambdaFunctionAssociations = list(
Quantity = 123,
Items = list(
list(
LambdaFunctionARN = "string",
EventType = "viewer-request"|"viewer-response"|"origin-request"|"origin-response",
IncludeBody = TRUE|FALSE
)
)
),
FunctionAssociations = list(
Quantity = 123,
Items = list(
list(
FunctionARN = "string",
EventType = "viewer-request"|"viewer-response"|"origin-request"|"origin-response"
)
)
),
FieldLevelEncryptionId = "string",
RealtimeLogConfigArn = "string",
CachePolicyId = "string",
OriginRequestPolicyId = "string",
ResponseHeadersPolicyId = "string",
ForwardedValues = list(
QueryString = TRUE|FALSE,
Cookies = list(
Forward = "none"|"whitelist"|"all",
WhitelistedNames = list(
Quantity = 123,
Items = list(
"string"
)
)
),
Headers = list(
Quantity = 123,
Items = list(
"string"
)
),
QueryStringCacheKeys = list(
Quantity = 123,
Items = list(
"string"
)
)
),
MinTTL = 123,
DefaultTTL = 123,
MaxTTL = 123
),
CacheBehaviors = list(
Quantity = 123,
Items = list(
list(
PathPattern = "string",
TargetOriginId = "string",
TrustedSigners = list(
Enabled = TRUE|FALSE,
Quantity = 123,
Items = list(
"string"
)
),
TrustedKeyGroups = list(
Enabled = TRUE|FALSE,
Quantity = 123,
Items = list(
"string"
)
),
ViewerProtocolPolicy = "allow-all"|"https-only"|"redirect-to-https",
AllowedMethods = list(
Quantity = 123,
Items = list(
"GET"|"HEAD"|"POST"|"PUT"|"PATCH"|"OPTIONS"|"DELETE"
),
CachedMethods = list(
Quantity = 123,
Items = list(
"GET"|"HEAD"|"POST"|"PUT"|"PATCH"|"OPTIONS"|"DELETE"
)
)
),
SmoothStreaming = TRUE|FALSE,
Compress = TRUE|FALSE,
LambdaFunctionAssociations = list(
Quantity = 123,
Items = list(
list(
LambdaFunctionARN = "string",
EventType = "viewer-request"|"viewer-response"|"origin-request"|"origin-response",
IncludeBody = TRUE|FALSE
)
)
),
FunctionAssociations = list(
Quantity = 123,
Items = list(
list(
FunctionARN = "string",
EventType = "viewer-request"|"viewer-response"|"origin-request"|"origin-response"
)
)
),
FieldLevelEncryptionId = "string",
RealtimeLogConfigArn = "string",
CachePolicyId = "string",
OriginRequestPolicyId = "string",
ResponseHeadersPolicyId = "string",
ForwardedValues = list(
QueryString = TRUE|FALSE,
Cookies = list(
Forward = "none"|"whitelist"|"all",
WhitelistedNames = list(
Quantity = 123,
Items = list(
"string"
)
)
),
Headers = list(
Quantity = 123,
Items = list(
"string"
)
),
QueryStringCacheKeys = list(
Quantity = 123,
Items = list(
"string"
)
)
),
MinTTL = 123,
DefaultTTL = 123,
MaxTTL = 123
)
)
),
CustomErrorResponses = list(
Quantity = 123,
Items = list(
list(
ErrorCode = 123,
ResponsePagePath = "string",
ResponseCode = "string",
ErrorCachingMinTTL = 123
)
)
),
Comment = "string",
Logging = list(
Enabled = TRUE|FALSE,
IncludeCookies = TRUE|FALSE,
Bucket = "string",
Prefix = "string"
),
PriceClass = "PriceClass_100"|"PriceClass_200"|"PriceClass_All",
Enabled = TRUE|FALSE,
ViewerCertificate = list(
CloudFrontDefaultCertificate = TRUE|FALSE,
IAMCertificateId = "string",
ACMCertificateArn = "string",
SSLSupportMethod = "sni-only"|"vip"|"static-ip",
MinimumProtocolVersion = "SSLv3"|"TLSv1"|"TLSv1_2016"|"TLSv1.1_2016"|"TLSv1.2_2018"|"TLSv1.2_2019"|"TLSv1.2_2021",
Certificate = "string",
CertificateSource = "cloudfront"|"iam"|"acm"
),
Restrictions = list(
GeoRestriction = list(
RestrictionType = "blacklist"|"whitelist"|"none",
Quantity = 123,
Items = list(
"string"
)
)
),
WebACLId = "string",
HttpVersion = "http1.1"|"http2"|"http3"|"http2and3",
IsIPV6Enabled = TRUE|FALSE,
ContinuousDeploymentPolicyId = "string",
Staging = TRUE|FALSE
),
AliasICPRecordals = list(
list(
CNAME = "string",
ICPRecordalStatus = "APPROVED"|"SUSPENDED"|"PENDING"
)
)
),
Location = "string",
ETag = "string"
)